15-08-23
This commit is contained in:
parent
775418fb7a
commit
ea8ed48d25
@ -1,4 +1,5 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports System.Runtime.Remoting.Messaging
|
||||||
Imports System.Threading.Tasks
|
Imports System.Threading.Tasks
|
||||||
Imports DevExpress.DocumentView
|
Imports DevExpress.DocumentView
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
@ -12,14 +13,23 @@ Public MustInherit Class BaseModule
|
|||||||
Friend ReadOnly Config As Config
|
Friend ReadOnly Config As Config
|
||||||
Friend ReadOnly Database As MSSQLServer
|
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 Name As String Implements ISync.Name
|
||||||
Public MustOverride Property IsLoggedIn As Boolean Implements ISync.IsLoggedIn
|
Public MustOverride Property IsLoggedIn As Boolean Implements ISync.IsLoggedIn
|
||||||
Public MustOverride Async Function Run() As Task Implements ISync.Run
|
Public MustOverride Async Function Run() As Task Implements ISync.Run
|
||||||
Public MustOverride Function Cleanup() As Task Implements ISync.Cleanup
|
Public MustOverride Function Cleanup() As Task Implements ISync.Cleanup
|
||||||
Public MustOverride Function TestConfigIsComplete() As Boolean Implements ISync.TestConfigIsComplete
|
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 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)
|
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pConfig As Config)
|
||||||
MyBase.New(pLogConfig)
|
MyBase.New(pLogConfig)
|
||||||
@ -127,18 +137,25 @@ Public MustInherit Class BaseModule
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Sub AddInfoEntry(pMessage As String, ParamArray pArgs As Object())
|
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
|
End Sub
|
||||||
|
|
||||||
Friend Sub AddWarnEntry(pMessage As String, ParamArray pArgs As Object())
|
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
|
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()
|
Friend Sub AddDivider()
|
||||||
RaiseEvent OnLogEntry(Me, "---")
|
RaiseEvent OnLogEntry(Me, New Tuple(Of String, LogLevel)(DIVIDER_TEXT, LogLevel.Info))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub RaiseFileProcessed(pFilePath As String)
|
Friend Sub RaiseFileProcessed(pFilePath As String)
|
||||||
RaiseEvent OnFileProcessed(Me, pFilePath)
|
RaiseEvent OnFileProcessed(Me, pFilePath)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub RaiseFileError(pFilePath As String)
|
||||||
|
RaiseEvent OnFileError(Me, pFilePath)
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -7,6 +7,7 @@ Public Interface ISync
|
|||||||
Function Cleanup() As Task
|
Function Cleanup() As Task
|
||||||
Function TestConfigIsComplete() As Boolean
|
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 OnFileProcessed As EventHandler(Of String)
|
||||||
|
Event OnFileError As EventHandler(Of String)
|
||||||
End Interface
|
End Interface
|
||||||
|
|||||||
@ -51,11 +51,15 @@ Namespace Sharepoint
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.Id, oFileName)
|
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.Id, oFileName)
|
||||||
Await Database.ExecuteNonQueryAsync(oSQL)
|
If Await Database.ExecuteNonQueryAsync(oSQL) = True Then
|
||||||
|
RaiseFileProcessed(oFilePath)
|
||||||
RaiseFileProcessed(oFilePath)
|
Else
|
||||||
|
Throw New ApplicationException("Database entry could not be written!")
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
RaiseFileError(oDocId)
|
||||||
|
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
AddWarnEntry("Error while running Sync: " & ex.Message)
|
AddWarnEntry("Error while running Sync: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|||||||
@ -63,11 +63,15 @@ Namespace slt
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.ExtDocId, oFileName)
|
Dim oSQL = String.Format(Config.SQLQueryExport, oDocument.ExtDocId, oFileName)
|
||||||
Await Database.ExecuteNonQueryAsync(oSQL)
|
If Await Database.ExecuteNonQueryAsync(oSQL) = True Then
|
||||||
|
RaiseFileProcessed(oFilePath)
|
||||||
RaiseFileProcessed(oFilePath)
|
Else
|
||||||
|
Throw New ApplicationException("Database entry could not be written!")
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
RaiseFileError(oDocId)
|
||||||
|
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
AddWarnEntry("Error while running Sync: " & ex.Message)
|
AddWarnEntry("Error while running Sync: " & ex.Message)
|
||||||
End Try
|
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.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.ListBoxControl1.Location = New System.Drawing.Point(0, 63)
|
Me.ListBoxControl1.Location = New System.Drawing.Point(0, 63)
|
||||||
Me.ListBoxControl1.Name = "ListBoxControl1"
|
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
|
Me.ListBoxControl1.TabIndex = 0
|
||||||
'
|
'
|
||||||
'RibbonControl1
|
'RibbonControl1
|
||||||
@ -166,21 +166,25 @@
|
|||||||
'
|
'
|
||||||
Me.txtFilesProcessed.Caption = "Keine Dateien"
|
Me.txtFilesProcessed.Caption = "Keine Dateien"
|
||||||
Me.txtFilesProcessed.Id = 5
|
Me.txtFilesProcessed.Id = 5
|
||||||
|
Me.txtFilesProcessed.ImageOptions.SvgImage = CType(resources.GetObject("txtFilesProcessed.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||||
Me.txtFilesProcessed.Name = "txtFilesProcessed"
|
Me.txtFilesProcessed.Name = "txtFilesProcessed"
|
||||||
|
Me.txtFilesProcessed.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
|
||||||
'
|
'
|
||||||
'txtErrorsOccurred
|
'txtErrorsOccurred
|
||||||
'
|
'
|
||||||
Me.txtErrorsOccurred.Caption = "Keine Dateien"
|
Me.txtErrorsOccurred.Caption = "Keine Fehler"
|
||||||
Me.txtErrorsOccurred.Id = 6
|
Me.txtErrorsOccurred.Id = 6
|
||||||
|
Me.txtErrorsOccurred.ImageOptions.SvgImage = CType(resources.GetObject("txtErrorsOccurred.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||||
Me.txtErrorsOccurred.Name = "txtErrorsOccurred"
|
Me.txtErrorsOccurred.Name = "txtErrorsOccurred"
|
||||||
|
Me.txtErrorsOccurred.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
|
||||||
'
|
'
|
||||||
'frmMain
|
'frmMain
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
Me.ClientSize = New System.Drawing.Size(632, 278)
|
Me.ClientSize = New System.Drawing.Size(632, 278)
|
||||||
Me.Controls.Add(Me.RibbonStatusBar1)
|
|
||||||
Me.Controls.Add(Me.ListBoxControl1)
|
Me.Controls.Add(Me.ListBoxControl1)
|
||||||
|
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||||
Me.Controls.Add(Me.RibbonControl1)
|
Me.Controls.Add(Me.RibbonControl1)
|
||||||
Me.IconOptions.SvgImage = CType(resources.GetObject("frmMain.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
Me.IconOptions.SvgImage = CType(resources.GetObject("frmMain.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||||
Me.Name = "frmMain"
|
Me.Name = "frmMain"
|
||||||
|
|||||||
@ -190,6 +190,40 @@
|
|||||||
MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku
|
MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku
|
||||||
NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2
|
NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2
|
||||||
Zz4L
|
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>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="SyncTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<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
|
Select Case pActiveModule
|
||||||
Case "slt"
|
Case "slt"
|
||||||
oSync = New slt.sltSync(LogConfig, Database, ConfigManager.Config)
|
oSync = New slt.sltSync(LogConfig, Database, ConfigManager.Config)
|
||||||
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
|
||||||
|
|
||||||
Case "Sharepoint"
|
Case "Sharepoint"
|
||||||
oSync = New Sharepoint.SharepointSync(LogConfig, Database, ConfigManager.Config)
|
oSync = New Sharepoint.SharepointSync(LogConfig, Database, ConfigManager.Config)
|
||||||
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
|
|
||||||
@ -103,11 +101,32 @@ Partial Public Class frmMain
|
|||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
AddHandler oSync.OnLogEntry, AddressOf Sync_OnLogEntry
|
||||||
|
AddHandler oSync.OnFileError, AddressOf Sync_OnFileError
|
||||||
|
AddHandler oSync.OnFileProcessed, AddressOf Sync_OnFileProcessed
|
||||||
|
|
||||||
Return oSync
|
Return oSync
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub Sync_OnLogEntry(sender As Object, e As String)
|
Private Sub Sync_OnFileProcessed(sender As Object, e As String)
|
||||||
AddInfoEntry(e)
|
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
|
End Sub
|
||||||
|
|
||||||
Private Async Function frmMain_Closing(sender As Object, e As CancelEventArgs) As Threading.Tasks.Task Handles Me.Closing
|
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