Reconfigure for GIT

This commit is contained in:
2017-03-26 20:00:03 +02:00
commit 00637826ab
8056 changed files with 535977 additions and 0 deletions
+156
View File
@@ -0,0 +1,156 @@
Imports System
Imports System.Configuration
Imports DevExpress.Xpo
Imports DevExpress.Xpo.DB
Imports DevExpress.Persistent.BaseImpl
Imports SISBusiness.Module
Imports System.IO
Imports System.Windows.Forms
Imports DevExpress.Data.Filtering
Imports System.Threading
Imports System.Timers
Public Class SISService
Private _Session As DevExpress.Xpo.Session
Private _connectionstring As String
Private _instancename As String
Private _Timer As System.Timers.Timer
Private _ReconfigurePCI As String
Private _AssetsHandling As String
Private _Period As Integer
Protected Overrides Sub OnStart(ByVal args() As String)
' Add code here to start your service. This method should set things
' in motion so your service can do its work.
'EventLog1.WriteEntry("In OnStart")
_instancename = ConfigurationManager.AppSettings("InstanceName")
Diagnostics.EventLog.WriteEntry(_instancename, "SIS Business Framework service is ready for work !", EventLogEntryType.Information)
_connectionstring = ConfigurationManager.ConnectionStrings("ConnectionString").ToString
If _connectionstring <> "" Then
If _Session Is Nothing Then _Session = New Session
_Session.ConnectionString = _connectionstring
_Session.Connect()
If _Session.IsConnected Then
Diagnostics.EventLog.WriteEntry(_instancename, "Database connection is succeed ! " & _Session.ConnectionString, EventLogEntryType.Information)
_ReconfigurePCI = ConfigurationManager.AppSettings("ReconfigurePCI")
_AssetsHandling = ConfigurationManager.AppSettings("AssetsHandling")
_Period = CInt(ConfigurationManager.AppSettings("Period"))
If _Period < 1000 Then _Period = 1000
_Timer = New System.Timers.Timer(_Period)
AddHandler _Timer.Elapsed, AddressOf SISServiceFire_Timer
_Timer.Interval = _Period
_Timer.Enabled = True
Diagnostics.EventLog.WriteEntry(_instancename, "Timer period is initialized : " & _Period.ToString, EventLogEntryType.Information)
Else
Diagnostics.EventLog.WriteEntry(_instancename, "Database connection is failed ! " & _connectionstring, EventLogEntryType.Error)
End If
Else
Diagnostics.EventLog.WriteEntry(_instancename, "Database connection is failed ! " & _connectionstring, EventLogEntryType.Error)
End If
End Sub
Protected Overrides Sub OnStop()
' Add code here to perform any tear-down necessary to stop your service.
Diagnostics.EventLog.WriteEntry(_instancename, "SIS Business Framework service is stopped !", EventLogEntryType.Information)
End Sub
Public Sub New()
MyBase.New()
InitializeComponent()
Me.ServiceName = ConfigurationManager.AppSettings.Item("InstanceName")
End Sub
Sub SISServiceFire_Timer(source As Object, e As ElapsedEventArgs)
Dim _currenttime As Date = Now
On Error GoTo CheckError
_Timer.Enabled = False
'// Ide kéne tenni, hogy mit csináljon ...
If _Session IsNot Nothing Then
If _currenttime.Hour = CLng(_ReconfigurePCI.Split(":")(0)) And _
_currenttime.Minute = CLng(_ReconfigurePCI.Split(":")(1)) Then
ReconfigurePCI()
End If
End If
If _Session IsNot Nothing Then
If _currenttime.Hour = CLng(_AssetsHandling.Split(":")(0)) And _
_currenttime.Minute = CLng(_AssetsHandling.Split(":")(1)) Then
AssetsHandling()
End If
End If
_Timer.Enabled = True
Exit Sub
CheckError:
Diagnostics.EventLog.WriteEntry(_instancename, String.Format("Timer error : {0}{1}{2}", Chr(13), Chr(10), Err.Description), EventLogEntryType.Error)
Resume Next
End Sub
Private Sub ReconfigurePCI()
'// Partner pontozási info újragenerálása
Dim _uow As New UnitOfWork(_Session.DataLayer)
Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(_uow)
Dim _GLAccounts As GLAccounts
Dim _GLRows As GLRows
Dim _InvoiceHeader As InvoiceHeader
Dim _RegistryHeader As RegistryHeader
Dim _CurrentPCIInfo As String = ""
On Error GoTo CheckError
Diagnostics.EventLog.WriteEntry(_instancename, "ReconfigurePCI is started.", EventLogEntryType.Information)
Dim _GLRows_Collection_ConnectInfo As New XPCollection(Of GLRows)(_uow, CriteriaOperator.Parse("isnull(ConnectInfo)=True"))
Diagnostics.EventLog.WriteEntry(_instancename, "ConnectInfo check -> " & _GLRows_Collection_ConnectInfo.Count.ToString, EventLogEntryType.Information)
For Each _GLRows In _GLRows_Collection_ConnectInfo
_GLRows.ConnectInfo = ""
_GLRows.Save()
Next
_uow.CommitChanges()
Diagnostics.EventLog.WriteEntry(_instancename, "GLAccounts -> " & _GLAccounts_Collection.Count.ToString, EventLogEntryType.Information)
For Each _GLAccounts In _GLAccounts_Collection
_CurrentPCIInfo = _GLAccounts.ConnectInfo
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
Next
Dim _GLRows_Collection As New XPCollection(Of GLRows)(_uow, CriteriaOperator.Parse("isnull(Customer)=False and PartnerType in (0,1)"))
Diagnostics.EventLog.WriteEntry(_instancename, "GLRows -> " & _GLRows_Collection.Count.ToString, EventLogEntryType.Information)
For Each _GLRows In _GLRows_Collection
_CurrentPCIInfo = _GLRows.ConnectInfo
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_uow, CriteriaOperator.Parse("isnull(Customers)=False and IsEditable=False and isnull(GLAccounts)=True"))
Diagnostics.EventLog.WriteEntry(_instancename, "InvoiceHeader -> " & _InvoiceHeader_Collection.Count.ToString, EventLogEntryType.Information)
For Each _InvoiceHeader In _InvoiceHeader_Collection
_CurrentPCIInfo = _InvoiceHeader.ConnectInfo
GLFunctions.ReconfigurePCI(_uow, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
Next
Dim _RegistryHeader_Collection As New XPCollection(Of RegistryHeader)(_uow, CriteriaOperator.Parse("RegistryAcceptState=0 and RegistryType.RegistryMainType=0 and IsEditable=False and isnull(F_GLAccounts)=True"))
Diagnostics.EventLog.WriteEntry(_instancename, "RegistryHeader -> " & _RegistryHeader_Collection.Count.ToString, EventLogEntryType.Information)
For Each _RegistryHeader In _RegistryHeader_Collection
_CurrentPCIInfo = _RegistryHeader.DocumentNumber
GLFunctions.ReconfigurePCI(_uow, _RegistryHeader.CustomersFrom, _RegistryHeader.Customers, 1, _RegistryHeader.DocumentNumber)
Next
Diagnostics.EventLog.WriteEntry(_instancename, "ReconfigurePCI is finished.", EventLogEntryType.Information)
Exit Sub
CheckError:
Diagnostics.EventLog.WriteEntry(_instancename, String.Format("ReconfigurePCI Error : {0}{1}{2}{3}{4}ConnectInfo -> {5}", Chr(13), Chr(10), Err.Description, Chr(13), Chr(10), _CurrentPCIInfo), EventLogEntryType.Error)
Resume Next
End Sub
Private Sub AssetsHandling()
On Error GoTo CheckError
Exit Sub
CheckError:
Diagnostics.EventLog.WriteEntry(_instancename, String.Format("PCI Error : {0}{1}{2}", Chr(13), Chr(10), Err.Description), EventLogEntryType.Error)
Resume Next
End Sub
End Class