15-08-23
This commit is contained in:
parent
775418fb7a
commit
ea8ed48d25
@ -1,4 +1,5 @@
|
||||
Imports System.IO
|
||||
Imports System.Runtime.Remoting.Messaging
|
||||
Imports System.Threading.Tasks
|
||||
Imports DevExpress.DocumentView
|
||||
Imports DigitalData.Modules.Base
|
||||
@ -12,14 +13,23 @@ Public MustInherit Class BaseModule
|
||||
Friend ReadOnly Config As Config
|
||||
Friend ReadOnly Database As MSSQLServer
|
||||
|
||||
Public Const DIVIDER_TEXT = "-------------------------------------"
|
||||
|
||||
Public Enum LogLevel
|
||||
Info
|
||||
Warn
|
||||
[Error]
|
||||
End Enum
|
||||
|
||||
Public MustOverride Property Name As String Implements ISync.Name
|
||||
Public MustOverride Property IsLoggedIn As Boolean Implements ISync.IsLoggedIn
|
||||
Public MustOverride Async Function Run() As Task Implements ISync.Run
|
||||
Public MustOverride Function Cleanup() As Task Implements ISync.Cleanup
|
||||
Public MustOverride Function TestConfigIsComplete() As Boolean Implements ISync.TestConfigIsComplete
|
||||
|
||||
Public Event OnLogEntry As EventHandler(Of String) Implements ISync.OnLogEntry
|
||||
Public Event OnLogEntry As EventHandler(Of Tuple(Of String, LogLevel)) Implements ISync.OnLogEntry
|
||||
Public Event OnFileProcessed As EventHandler(Of String) Implements ISync.OnFileProcessed
|
||||
Public Event OnFileError As EventHandler(Of String) Implements ISync.OnFileError
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pConfig As Config)
|
||||
MyBase.New(pLogConfig)
|
||||
@ -127,18 +137,25 @@ Public MustInherit Class BaseModule
|
||||
End Function
|
||||
|
||||
Friend Sub AddInfoEntry(pMessage As String, ParamArray pArgs As Object())
|
||||
RaiseEvent OnLogEntry(Me, String.Format(pMessage, pArgs))
|
||||
RaiseEvent OnLogEntry(Me, New Tuple(Of String, LogLevel)(String.Format(pMessage, pArgs), LogLevel.Info))
|
||||
End Sub
|
||||
|
||||
Friend Sub AddWarnEntry(pMessage As String, ParamArray pArgs As Object())
|
||||
RaiseEvent OnLogEntry(Me, String.Format(pMessage, pArgs))
|
||||
RaiseEvent OnLogEntry(Me, New Tuple(Of String, LogLevel)(String.Format(pMessage, pArgs), LogLevel.Warn))
|
||||
End Sub
|
||||
|
||||
Friend Sub AddErrorEntry(pMessage As String, ParamArray pArgs As Object())
|
||||
RaiseEvent OnLogEntry(Me, New Tuple(Of String, LogLevel)(String.Format(pMessage, pArgs), LogLevel.Error))
|
||||
End Sub
|
||||
Friend Sub AddDivider()
|
||||
RaiseEvent OnLogEntry(Me, "---")
|
||||
RaiseEvent OnLogEntry(Me, New Tuple(Of String, LogLevel)(DIVIDER_TEXT, LogLevel.Info))
|
||||
End Sub
|
||||
|
||||
Friend Sub RaiseFileProcessed(pFilePath As String)
|
||||
RaiseEvent OnFileProcessed(Me, pFilePath)
|
||||
End Sub
|
||||
|
||||
Friend Sub RaiseFileError(pFilePath As String)
|
||||
RaiseEvent OnFileError(Me, pFilePath)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@ -7,6 +7,7 @@ Public Interface ISync
|
||||
Function Cleanup() As Task
|
||||
Function TestConfigIsComplete() As Boolean
|
||||
|
||||
Event OnLogEntry As EventHandler(Of String)
|
||||
Event OnLogEntry As EventHandler(Of Tuple(Of String, BaseModule.LogLevel))
|
||||
Event OnFileProcessed As EventHandler(Of String)
|
||||
Event OnFileError As EventHandler(Of String)
|
||||
End Interface
|
||||
|
||||
@ -51,11 +51,15 @@ Namespace Sharepoint
|
||||
End If
|
||||
|
||||
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.Id, oFileName)
|
||||
Await Database.ExecuteNonQueryAsync(oSQL)
|
||||
|
||||
If Await Database.ExecuteNonQueryAsync(oSQL) = True Then
|
||||
RaiseFileProcessed(oFilePath)
|
||||
Else
|
||||
Throw New ApplicationException("Database entry could not be written!")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
RaiseFileError(oDocId)
|
||||
|
||||
Logger.Error(ex)
|
||||
AddWarnEntry("Error while running Sync: " & ex.Message)
|
||||
End Try
|
||||
|
||||
@ -63,11 +63,15 @@ Namespace slt
|
||||
End If
|
||||
|
||||
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.ExtDocId, oFileName)
|
||||
Await Database.ExecuteNonQueryAsync(oSQL)
|
||||
|
||||
If Await Database.ExecuteNonQueryAsync(oSQL) = True Then
|
||||
RaiseFileProcessed(oFilePath)
|
||||
Else
|
||||
Throw New ApplicationException("Database entry could not be written!")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
RaiseFileError(oDocId)
|
||||
|
||||
Logger.Error(ex)
|
||||
AddWarnEntry("Error while running Sync: " & ex.Message)
|
||||
End Try
|
||||
|
||||
10
Connectors.Form/frmMain.Designer.vb
generated
10
Connectors.Form/frmMain.Designer.vb
generated
@ -53,7 +53,7 @@
|
||||
Me.ListBoxControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.ListBoxControl1.Location = New System.Drawing.Point(0, 63)
|
||||
Me.ListBoxControl1.Name = "ListBoxControl1"
|
||||
Me.ListBoxControl1.Size = New System.Drawing.Size(632, 215)
|
||||
Me.ListBoxControl1.Size = New System.Drawing.Size(632, 191)
|
||||
Me.ListBoxControl1.TabIndex = 0
|
||||
'
|
||||
'RibbonControl1
|
||||
@ -166,21 +166,25 @@
|
||||
'
|
||||
Me.txtFilesProcessed.Caption = "Keine Dateien"
|
||||
Me.txtFilesProcessed.Id = 5
|
||||
Me.txtFilesProcessed.ImageOptions.SvgImage = CType(resources.GetObject("txtFilesProcessed.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.txtFilesProcessed.Name = "txtFilesProcessed"
|
||||
Me.txtFilesProcessed.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
|
||||
'
|
||||
'txtErrorsOccurred
|
||||
'
|
||||
Me.txtErrorsOccurred.Caption = "Keine Dateien"
|
||||
Me.txtErrorsOccurred.Caption = "Keine Fehler"
|
||||
Me.txtErrorsOccurred.Id = 6
|
||||
Me.txtErrorsOccurred.ImageOptions.SvgImage = CType(resources.GetObject("txtErrorsOccurred.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.txtErrorsOccurred.Name = "txtErrorsOccurred"
|
||||
Me.txtErrorsOccurred.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(632, 278)
|
||||
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||
Me.Controls.Add(Me.ListBoxControl1)
|
||||
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||
Me.Controls.Add(Me.RibbonControl1)
|
||||
Me.IconOptions.SvgImage = CType(resources.GetObject("frmMain.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.Name = "frmMain"
|
||||
|
||||
@ -190,6 +190,40 @@
|
||||
MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku
|
||||
NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2
|
||||
Zz4L
|
||||
</value>
|
||||
</data>
|
||||
<data name="txtFilesProcessed.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMUBAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
|
||||
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
|
||||
Y2U9InByZXNlcnZlIiBpZD0iTmV3IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAz
|
||||
MiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KPC9zdHls
|
||||
ZT4NCiAgPHBhdGggZD0iTTE5LDJINUM0LjQsMiw0LDIuNCw0LDN2MjRjMCwwLjYsMC40LDEsMSwxaDIw
|
||||
YzAuNiwwLDEtMC40LDEtMVY5TDE5LDJ6IE0yNCwyNkg2VjRoMTJ2NWMwLDAuNiwwLjQsMSwxLDFoNSAg
|
||||
VjI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="txtErrorsOccurred.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANACAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
|
||||
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
|
||||
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
|
||||
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
|
||||
UmVke2ZpbGw6I0QxMUMxQzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuR3JlZW57ZmlsbDojMDM5
|
||||
QzIzO30KPC9zdHlsZT4NCiAgPGcgaWQ9Ildhcm5pbmdDaXJjbGVkMiI+DQogICAgPHBhdGggZD0iTTE2
|
||||
LDJDOC4zLDIsMiw4LjMsMiwxNnM2LjMsMTQsMTQsMTRzMTQtNi4zLDE0LTE0UzIzLjcsMiwxNiwyeiBN
|
||||
MTYsMjhDOS40LDI4LDQsMjIuNiw0LDE2QzQsOS40LDkuNCw0LDE2LDQgICBzMTIsNS40LDEyLDEyQzI4
|
||||
LDIyLjYsMjIuNiwyOCwxNiwyOHoiIGNsYXNzPSJSZWQiIC8+DQogICAgPGNpcmNsZSBjeD0iMTYiIGN5
|
||||
PSIyMiIgcj0iMiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8cmVjdCB4PSIxNCIgeT0iOCIgd2lkdGg9IjQi
|
||||
IGhlaWdodD0iMTAiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="SyncTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
||||
@ -91,11 +91,9 @@ Partial Public Class frmMain
|
||||
Select Case pActiveModule
|
||||
Case "slt"
|
||||
oSync = New slt.sltSync(LogConfig, Database, ConfigManager.Config)
|
||||
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
||||
|
||||
Case "Sharepoint"
|
||||
oSync = New Sharepoint.SharepointSync(LogConfig, Database, ConfigManager.Config)
|
||||
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
||||
|
||||
Case Else
|
||||
|
||||
@ -103,11 +101,32 @@ Partial Public Class frmMain
|
||||
|
||||
End Select
|
||||
|
||||
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
||||
AddHandler oSync.OnFileError, AddressOf Sync_OnFileError
|
||||
AddHandler oSync.OnFileProcessed, AddressOf Sync_OnFileProcessed
|
||||
|
||||
Return oSync
|
||||
End Function
|
||||
|
||||
Private Sub Sync_OnLogEntry(sender As Object, e As String)
|
||||
AddInfoEntry(e)
|
||||
Private Sub Sync_OnFileProcessed(sender As Object, e As String)
|
||||
FilesProcessed += 1
|
||||
txtFilesProcessed.Caption = String.Format("{0} Dateien", FilesProcessed)
|
||||
End Sub
|
||||
|
||||
Private Sub Sync_OnFileError(sender As Object, e As String)
|
||||
ErrorsOccurred += 1
|
||||
txtErrorsOccurred.Caption = String.Format("{0} Fehler", ErrorsOccurred)
|
||||
End Sub
|
||||
|
||||
Private Sub Sync_OnLogEntry(sender As Object, e As Tuple(Of String, BaseModule.LogLevel))
|
||||
Select Case e.Item2
|
||||
Case BaseModule.LogLevel.Info
|
||||
AddInfoEntry(e.Item1)
|
||||
Case BaseModule.LogLevel.Warn
|
||||
AddWarnEntry(e.Item1)
|
||||
Case BaseModule.LogLevel.Error
|
||||
AddErrorEntry(e.Item1)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Async Function frmMain_Closing(sender As Object, e As CancelEventArgs) As Threading.Tasks.Task Handles Me.Closing
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user