MS Folderwatcher

This commit is contained in:
2022-03-28 13:43:49 +02:00
parent ef7683a587
commit 8de78f57bf
3 changed files with 49 additions and 24 deletions

View File

@@ -16,23 +16,29 @@ Public Class ClassFolderwatcher
End Sub
Public Function Restart_FolderWatch() As Boolean
Try
If FWFolderWatcher.EnableRaisingEvents = True Then
'Gestartet also Stoppen
FWFolderWatcher.EnableRaisingEvents = False
My.Application.Globix.Folderwatchstarted = False
If Directory.Exists(My.Application.Globix.CurrentFolderWatchPath) Then
Try
If FWFolderWatcher.EnableRaisingEvents = True Then
'Gestartet also Stoppen
FWFolderWatcher.EnableRaisingEvents = False
My.Application.Globix.Folderwatchstarted = False
FWFolderWatcher = StartFolderwatcherForPath(My.Application.Globix.CurrentFolderWatchPath)
My.Application.Globix.Folderwatchstarted = True
My.UIConfig.Globix.FolderWatchStarted = True
My.UIConfigManager.Save()
End If
Return True
Catch ex As Exception
Logger.Info($"Error in Restart_FolderWatch: {ex.Message}")
Logger.Error(ex.Message)
FWFolderWatcher = StartFolderwatcherForPath(My.Application.Globix.CurrentFolderWatchPath)
My.Application.Globix.Folderwatchstarted = True
My.UIConfig.Globix.FolderWatchStarted = True
My.UIConfigManager.Save()
End If
Return True
Catch ex As Exception
Logger.Info($"Error in Restart_FolderWatch: {ex.Message}")
Logger.Error(ex.Message)
Return False
End Try
Else
Logger.Info($"Attention: Check the fodlerwatchinit-Module...My.Application.Globix.CurrentFolderWatchPath is not existing [{My.Application.Globix.CurrentFolderWatchPath}]")
Return False
End Try
End If
End Function
Public Sub Restart_FolderWatchSCAN()
Try
@@ -53,7 +59,7 @@ Public Class ClassFolderwatcher
End Sub
Public Function StartStop_FolderWatch()
Try
If FWFolderWatcher Is Nothing OrElse FWFolderWatcher.EnableRaisingEvents = False Then
If FWFolderWatcher Is Nothing Then 'OrElse FWFolderWatcher.EnableRaisingEvents = False
' Folderwatch neu instanzieren
FWFolderWatcher = StartFolderwatcherForPath(My.Application.Globix.CurrentFolderWatchPath)
My.Application.Globix.Folderwatchstarted = True
@@ -132,13 +138,13 @@ Public Class ClassFolderwatcher
End Function
Private Function StartFolderwatcherForPath(pPath As String) As FileSystemWatcher
Logger.Debug("Folder Watcher starting up for Path [{0}]", pPath)
Dim oWatcher = New FileSystemWatcher(pPath, "*.*") With {
.IncludeSubdirectories = False,
.EnableRaisingEvents = True
}
AddHandler oWatcher.Created, AddressOf OnCreated
Logger.Debug("Folder Watcher started for Path [{0}]", pPath)
Return oWatcher
End Function

View File

@@ -39,7 +39,7 @@ Public Class frmGlobixBasicConfig
System.IO.Directory.CreateDirectory(pMypath)
End If
Catch ex As Exception
Logger.Info(" >> Unexpected error in CheckFolder: " & pMypath)
Logger.Info(">> Unexpected error in CheckFolder: " & pMypath)
Logger.Error(ex.Message)
Logger.Info(" >> " & ex.Message)
If My.Application.User.Language = "de-DE" Then
@@ -51,9 +51,9 @@ Public Class frmGlobixBasicConfig
Exit Sub
End Try
Dim folderwatch = My.DatabaseECM.GetScalarValue("SELECT GUID FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
Dim folderwatch = My.DatabaseECM.GetScalarValue("SELECT COALESCE(MAX(GUID),999999) FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
Dim oSql As String
If folderwatch Is Nothing Then
If folderwatch = 999999 Then
oSql = "INSERT INTO TBGI_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE, ADDED_WHO) VALUES (" & My.Application.User.UserId & ",'" & pMypath & "','" & FOLDER_TYPE & "','" & My.Application.User.UserName & "')"
Else
oSql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & pMypath & "', CHANGED_WHO = '" & My.Application.User.UserName & "' where GUID = " & folderwatch
@@ -62,12 +62,14 @@ Public Class frmGlobixBasicConfig
folderwatch = My.DatabaseECM.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
If FOLDER_TYPE = "SCAN" Then
My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = folderwatch
My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = pMypath
Me.TextEditScanfolder.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH
Else
My.Application.Globix.CurrentFolderWatchPath = folderwatch
My.Application.Globix.CurrentFolderWatchPath = pMypath
Me.TextEditHotfolder.Text = My.Application.Globix.CurrentFolderWatchPath
End If
Else
Logger.Error($"Unexpected error in Adding Folder to TBGI_FOLDERWATCH_USER [{oSql}]")
End If
If My.Application.Globix.Folderwatchstarted = True And FOLDER_TYPE = "DEFAULT" Then
clsFW.Restart_FolderWatch()