MS_Initial
This commit is contained in:
162
Global_Indexer/ClassFolderWatcher.vb
Normal file
162
Global_Indexer/ClassFolderWatcher.vb
Normal file
@@ -0,0 +1,162 @@
|
||||
Imports System.IO
|
||||
Imports Independentsoft
|
||||
Imports System.Threading
|
||||
|
||||
Public Class ClassFolderWatcher
|
||||
Public Shared FolderWatcher As FileSystemWatcher
|
||||
Public Shared Function Restart_FolderWatch()
|
||||
If FolderWatcher.EnableRaisingEvents = True Then
|
||||
'Gestartet also Stoppen
|
||||
FolderWatcher.EnableRaisingEvents = False
|
||||
FW_started = False
|
||||
'FolderWatch neu instanzieren
|
||||
FolderWatcher = New System.IO.FileSystemWatcher(CURRENT_FOLDERWATCH, "*.*")
|
||||
ClassLogger.Add(" >> FolderWatch neu instanziert", False)
|
||||
FolderWatcher.IncludeSubdirectories = False
|
||||
FolderWatcher.EnableRaisingEvents = True
|
||||
AddHandler FolderWatcher.Created, AddressOf OnCreated
|
||||
FW_started = True
|
||||
SaveConfigValue("FW_started", "True")
|
||||
End If
|
||||
End Function
|
||||
Public Shared Function StartStop_FolderWatch()
|
||||
Try
|
||||
If CURRENT_FOLDERWATCH = "" Then
|
||||
MsgBox("Bitte definieren Sie einen Überwachungsordner:", MsgBoxStyle.Exclamation)
|
||||
Return False
|
||||
End If
|
||||
If FolderWatcher Is Nothing Then
|
||||
FolderWatcher = New System.IO.FileSystemWatcher(CURRENT_FOLDERWATCH, "*.*")
|
||||
ClassLogger.Add(" >> FolderWatch Gestartet", False)
|
||||
FolderWatcher.IncludeSubdirectories = False
|
||||
FolderWatcher.EnableRaisingEvents = True
|
||||
AddHandler FolderWatcher.Created, AddressOf OnCreated
|
||||
FW_started = True
|
||||
SaveConfigValue("FW_started", "True")
|
||||
Return 1
|
||||
End If
|
||||
If FolderWatcher.EnableRaisingEvents = False Then
|
||||
' Dim watcher As New FileSystemWatcher()
|
||||
' watcher.Path = CURRENT_FOLDERWATCH
|
||||
FolderWatcher = New System.IO.FileSystemWatcher(CURRENT_FOLDERWATCH, "*.*")
|
||||
ClassLogger.Add(" >> FolderWatch Gestartet", False)
|
||||
FolderWatcher.IncludeSubdirectories = False
|
||||
FolderWatcher.EnableRaisingEvents = True
|
||||
AddHandler FolderWatcher.Created, AddressOf OnCreated
|
||||
FW_started = True
|
||||
SaveConfigValue("FW_started", "True")
|
||||
Return 1
|
||||
Else
|
||||
'Gestartet also Stoppen
|
||||
FolderWatcher.EnableRaisingEvents = False
|
||||
FW_started = False
|
||||
ClassLogger.Add(" >> FolderWatch gestoppt", False)
|
||||
SaveConfigValue("FW_started", "False")
|
||||
Return 0
|
||||
End If
|
||||
'If watcher.EnableRaisingEvents = False Then
|
||||
' watcher = New System.IO.FileSystemWatcher(CURRENT_FOLDERWATCH, "*.*")
|
||||
' ClassLogger.Add(" - vFolderWatch.Gestartet", False)
|
||||
' watcher.IncludeSubdirectories = False
|
||||
' watcher.EnableRaisingEvents = True
|
||||
' AddHandler watcher.Created, AddressOf OnCreated
|
||||
' Return 1
|
||||
'Else
|
||||
' 'Gestartet also Stoppen
|
||||
' watcher.EnableRaisingEvents = False
|
||||
' Return 0
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in StartStop_FolderWatch:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return 99
|
||||
End Try
|
||||
End Function
|
||||
'Private Sub folder_watch_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles vFolderWatch.Created
|
||||
' Try
|
||||
' 'ersten Dateinamen übergeben
|
||||
' If LogErrorsOnly = False Then
|
||||
' ClassLogger.Add(" >> vFolderWatch1.Created " & e.Name, False)
|
||||
' End If
|
||||
' CURRENT_FILENAME = e.Name
|
||||
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei folder_watch_Created")
|
||||
' End Try
|
||||
|
||||
'End Sub
|
||||
Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)
|
||||
Try
|
||||
If e.FullPath.Contains("Thumbs.") Or e.FullPath.EndsWith(".tmp") Or e.FullPath.Contains("\~$") Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim praefix As String
|
||||
If e.FullPath.EndsWith(".msg") Then
|
||||
praefix = "@FW_OUTLOOK_MESSAGE@"
|
||||
Else
|
||||
praefix = "@FW_SIMPLEINDEXER@"
|
||||
End If
|
||||
'ersten Dateinamen übergeben
|
||||
CURRENT_FILENAME = e.FullPath
|
||||
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND USER@WORK = '" & Environment.UserName & "'", True)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">> OnCreated-File:" & CURRENT_FILENAME, False)
|
||||
If ClassIndexFunctions.FileExistsinDropTable(CURRENT_FILENAME) = False Then
|
||||
Dim ins As String = "INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK,HANDLE_TYPE) VALUES ('" & CURRENT_FILENAME & "','" & Environment.UserName & "','" & praefix & "')"
|
||||
ClassDatabase.Execute_non_Query(ins, True)
|
||||
Else
|
||||
Console.WriteLine("File existiert bereeits")
|
||||
End If
|
||||
'frmMain.MyNewTimer()
|
||||
|
||||
'ShowIndexForm()
|
||||
'Dim file = CURRENT_FILENAME
|
||||
'Dim frm As New frmIndex
|
||||
'frm.ShowDialog()
|
||||
''Jetzt die Anhänge auslesen
|
||||
'If file.EndsWith(".msg") Then
|
||||
' Dim _msg As New Msg.Message(CURRENT_FILENAME)
|
||||
' Dim i1 As Integer = 1
|
||||
' For Each attachment As Independentsoft.Msg.Attachment In _msg.Attachments
|
||||
' If attachment.DisplayName Is Nothing Then
|
||||
' If Not attachment.LongFileName Is Nothing And Not attachment.LongFileName.Contains("inline") Then
|
||||
' Dim tempfile As String = Path.Combine(Path.GetTempPath, attachment.LongFileName)
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(">> Attachment (" & i1 & "):" & tempfile, False)
|
||||
' attachment.Save(tempfile)
|
||||
' CURRENT_FILENAME = "@ATTMNTEXTRACTED@" & tempfile
|
||||
' frmIndex.ShowDialog()
|
||||
' i1 += 1
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
|
||||
|
||||
'End If
|
||||
|
||||
''Prüfen ob alle Files abgearbeitet wurden
|
||||
'Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND USER@WORK = '" & Environment.UserName & "'")
|
||||
'If DT.Rows.Count > 0 Then
|
||||
' For Each row As DataRow In DT.Rows
|
||||
' MsgBox("Abbrechen nicht möglich:" & vbNewLine & "Bitte indexieren Sie die folgende Datei vollständig:", MsgBoxStyle.Exclamation)
|
||||
' CURRENT_FILENAME = row.Item(1)
|
||||
' frmIndex.ShowDialog()
|
||||
' Next
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei folder_watch_Created")
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Sub Check_Dropped_Files()
|
||||
Try
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Check_Dropped_Files: " & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
<STAThread()> _
|
||||
Public Shared Sub ShowIndexForm()
|
||||
Dim frm As New frmIndex
|
||||
frm.ShowDialog()
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user