Show Date in index confirmation, add new hash logic to all paths, fix hash empty when using folder watch #GI-12
This commit is contained in:
parent
0692d4e295
commit
d771895b43
@ -109,7 +109,7 @@ Public Class ClassDatabase
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function Return_Datatable_CS(sql_command As String, ConString As String, Optional userInput As Boolean = False)
|
||||
Public Shared Function Return_Datatable_CS(sql_command As String, ConString As String, Optional userInput As Boolean = False) As DataTable
|
||||
Try
|
||||
Dim SQLconnect As New SqlConnection
|
||||
Dim SQLcommand As SqlCommand
|
||||
@ -138,7 +138,7 @@ Public Class ClassDatabase
|
||||
LOGGER.Info("#SQL: " & sql_command)
|
||||
End If
|
||||
|
||||
Return False
|
||||
Return Nothing
|
||||
Catch ex As Exception
|
||||
If userInput = True Then
|
||||
MsgBox("Error in Return_Datatable_CS - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & sql_command, MsgBoxStyle.Critical)
|
||||
|
||||
@ -122,7 +122,7 @@ Public Class ClassFolderWatcher
|
||||
End If
|
||||
End If
|
||||
If FolderWatcher_SCAN Is Nothing Then
|
||||
FolderWatcher_SCAN = New System.IO.FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
|
||||
FolderWatcher_SCAN = New FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
|
||||
LOGGER.Info(" >> FolderWatch Scan Gestartet")
|
||||
FolderWatcher_SCAN.IncludeSubdirectories = False
|
||||
FolderWatcher_SCAN.EnableRaisingEvents = True
|
||||
@ -134,7 +134,7 @@ Public Class ClassFolderWatcher
|
||||
If FolderWatcher_SCAN.EnableRaisingEvents = False Then
|
||||
' Dim watcher As New FileSystemWatcher()
|
||||
' watcher.Path = CURRENT_FOLDERWATCH
|
||||
FolderWatcher_SCAN = New System.IO.FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
|
||||
FolderWatcher_SCAN = New FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
|
||||
LOGGER.Info(" >> FolderWatch Scan Gestartet")
|
||||
FolderWatcher_SCAN.IncludeSubdirectories = False
|
||||
FolderWatcher_SCAN.EnableRaisingEvents = True
|
||||
@ -185,18 +185,32 @@ Public Class ClassFolderWatcher
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim handleType As String
|
||||
Dim oHandleType As String
|
||||
If e.FullPath.ToLower.EndsWith(".msg") Then
|
||||
handleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
oHandleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
Else
|
||||
handleType = "|FW_SIMPLEINDEXER|"
|
||||
oHandleType = "|FW_SIMPLEINDEXER|"
|
||||
End If
|
||||
'Die Datei übergeben
|
||||
LOGGER.Info(">> OnCreated-File:" & e.FullPath)
|
||||
If ClassIndexFunctions.FileExistsinDropTable(e.FullPath) = False Then
|
||||
ClassFilehandle.Decide_FileHandle(e.FullPath, handleType)
|
||||
|
||||
Dim oFileExists As Date = ClassIndexFunctions.FileExistsinDropTable(e.FullPath)
|
||||
|
||||
If IsNothing(oFileExists) Then
|
||||
ClassFilehandle.Decide_FileHandle(e.FullPath, oHandleType)
|
||||
Else
|
||||
LOGGER.Info(">> Folderwatcher: File already exists:" & e.FullPath)
|
||||
Dim oResult As DialogResult
|
||||
Dim oDate As String = oFileExists.ToString("d")
|
||||
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
oResult = MsgBox($"Die Datei wurde bereits am [{oDate}] verarbeitet. Wollen Sie die gleiche Datei noch einmal verarbeiten?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
Else
|
||||
oResult = MsgBox($"This file has already been processed at [{oDate}]. Do you want to process the same file again?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
End If
|
||||
|
||||
If oResult = DialogResult.Yes Then
|
||||
ClassFilehandle.Decide_FileHandle(e.FullPath, oHandleType)
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
Public Class ClassIndexFunctions
|
||||
Public Shared Function FileExistsinDropTable(Filename As String)
|
||||
Public Shared Function FileExistsinDropTable(Filename As String) As DateTime
|
||||
Dim oSQL As String
|
||||
Dim oHash As String
|
||||
|
||||
@ -15,20 +15,30 @@
|
||||
oHash = ""
|
||||
End Try
|
||||
|
||||
oSQL = "SELECT COUNT(*) FROM TBGI_FILES_USER WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') AND WORKED = 0"
|
||||
Dim oResult = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString, True)
|
||||
oSQL = "SELECT * FROM TBGI_FILES_USER WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') AND WORKED = 0 ORDER BY ADDED_WHEN"
|
||||
Dim oResult As DataTable = ClassDatabase.Return_Datatable_CS(oSQL, MyConnectionString, True)
|
||||
|
||||
If oResult = 0 Then
|
||||
oSQL = "SELECT COUNT(*) FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "')"
|
||||
oResult = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString, True)
|
||||
If oResult Is Nothing Then
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
If oResult = 0 Then
|
||||
Return False
|
||||
If oResult.Rows.Count = 0 Then
|
||||
oSQL = "SELECT * FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') ORDER BY ADDED_WHEN"
|
||||
oResult = ClassDatabase.Return_Datatable_CS(oSQL, MyConnectionString, True)
|
||||
|
||||
If oResult Is Nothing Then
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
If oResult.Rows.Count = 0 Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return True
|
||||
Dim oFirstRow As DataRow = oResult.Rows.Item(0)
|
||||
Return oFirstRow.Item("ADDED_WHEN")
|
||||
End If
|
||||
Else
|
||||
Return True
|
||||
Dim oFirstRow As DataRow = oResult.Rows.Item(0)
|
||||
Return oFirstRow.Item("ADDED_WHEN")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in FileExistsinDropTable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & oSQL, MsgBoxStyle.Critical)
|
||||
|
||||
@ -168,26 +168,25 @@ Public Class frmStart
|
||||
Dim oLastPipe = oFiledropString.LastIndexOf("|")
|
||||
Dim oHandleType As String = oFiledropString.Substring(0, oLastPipe + 1)
|
||||
Dim oFilename As String = oFiledropString.Substring(oLastPipe + 1)
|
||||
Dim oFileExists As Boolean = ClassIndexFunctions.FileExistsinDropTable(oFilename)
|
||||
Dim oFileExists As Date = ClassIndexFunctions.FileExistsinDropTable(oFilename)
|
||||
|
||||
If oFileExists = False Then
|
||||
If IsNothing(oFileExists) Then
|
||||
ClassFilehandle.Decide_FileHandle(oFilename, oHandleType)
|
||||
oIndex += 1
|
||||
ElseIf oFileExists Then
|
||||
Else
|
||||
Dim oResult As DialogResult
|
||||
Dim oDate As String = oFileExists.ToString("d")
|
||||
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
oResult = MsgBox("Die Datei wurde bereits verarbeitet. Wollen Sie die gleiche Datei noch einmal verarbeiten?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text)
|
||||
oResult = MsgBox($"Die Datei wurde bereits am [{oDate}] verarbeitet. Wollen Sie die gleiche Datei noch einmal verarbeiten?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
Else
|
||||
oResult = MsgBox("This file has already been processed. Do you want to process the same file again?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text)
|
||||
oResult = MsgBox($"This file has already been processed at [{oDate}]. Do you want to process the same file again?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
End If
|
||||
|
||||
If oResult = DialogResult.Yes Then
|
||||
ClassFilehandle.Decide_FileHandle(oFilename, oHandleType)
|
||||
oIndex += 1
|
||||
End If
|
||||
Else
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
@ -216,7 +215,7 @@ Public Class frmStart
|
||||
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
|
||||
CURRENT_WORKFILE_GUID = Filerow.Item(0)
|
||||
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
|
||||
CURRENT_WORKFILE_HASH = Filerow.Item("FILE_HASH")
|
||||
CURRENT_WORKFILE_HASH = NotNull(Filerow.Item("FILE_HASH"), "")
|
||||
|
||||
LOGGER.Info(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE)
|
||||
If File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then
|
||||
@ -356,29 +355,49 @@ Public Class frmStart
|
||||
LOGGER.Info(">> FWSCAN started - Checking file:" & CURRENT_SCAN_FOLDERWATCH)
|
||||
Dim fileEntries As String() = Directory.GetFiles(CURRENT_SCAN_FOLDERWATCH)
|
||||
' Process the list of files found in the directory.
|
||||
Dim fileName As String
|
||||
For Each fileName In fileEntries
|
||||
LOGGER.Info(">> Scanfolder after startup: Checking file:" & fileName)
|
||||
Dim oFileName As String
|
||||
For Each oFileName In fileEntries
|
||||
LOGGER.Info(">> Scanfolder after startup: Checking file:" & oFileName)
|
||||
For Each row As DataRow In DTEXCLUDE_FILES.Rows
|
||||
Dim content As String = row.Item(0).ToString.ToLower
|
||||
If fileName.ToLower.Contains(content) Then
|
||||
If oFileName.ToLower.Contains(content) Then
|
||||
Exit Sub
|
||||
End If
|
||||
Next
|
||||
Dim handleType As String
|
||||
If fileName.ToLower.EndsWith(".msg") Then
|
||||
handleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
Dim oHandleType As String
|
||||
If oFileName.ToLower.EndsWith(".msg") Then
|
||||
oHandleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
Else
|
||||
handleType = "|FW_SIMPLEINDEXER|"
|
||||
oHandleType = "|FW_SIMPLEINDEXER|"
|
||||
End If
|
||||
'Die Datei übergeben
|
||||
LOGGER.Info(">> Adding file from Scanfolder after startup:" & fileName)
|
||||
If ClassIndexFunctions.FileExistsinDropTable(fileName) = False Then
|
||||
ClassFilehandle.Decide_FileHandle(fileName, handleType)
|
||||
LOGGER.Info(">> Adding file from Scanfolder after startup:" & oFileName)
|
||||
|
||||
Dim oFileExists As Date = ClassIndexFunctions.FileExistsinDropTable(oFileName)
|
||||
|
||||
If IsNothing(oFileExists) Then
|
||||
ClassFilehandle.Decide_FileHandle(oFileName, oHandleType)
|
||||
Else
|
||||
LOGGER.Info(">> Scanfolder Startup: File already exists:" & fileName)
|
||||
Dim oResult As DialogResult
|
||||
Dim oDate As String = oFileExists.ToString("d")
|
||||
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
oResult = MsgBox($"Die Datei wurde bereits am [{oDate}] verarbeitet. Wollen Sie die gleiche Datei noch einmal verarbeiten?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
Else
|
||||
oResult = MsgBox($"This file has already been processed at [{oDate}]. Do you want to process the same file again?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
End If
|
||||
Next fileName
|
||||
|
||||
If oResult = DialogResult.Yes Then
|
||||
ClassFilehandle.Decide_FileHandle(oFileName, oHandleType)
|
||||
End If
|
||||
End If
|
||||
|
||||
'If ClassIndexFunctions.FileExistsinDropTable(fileName) = False Then
|
||||
' ClassFilehandle.Decide_FileHandle(fileName, handleType)
|
||||
'Else
|
||||
' LOGGER.Info(">> Scanfolder Startup: File already exists:" & fileName)
|
||||
'End If
|
||||
Next oFileName
|
||||
|
||||
Else
|
||||
LOGGER.Info(">> FWSCAN not started")
|
||||
@ -393,29 +412,50 @@ Public Class frmStart
|
||||
LOGGER.Info(">> FW_started started - Checking file:" & CURRENT_FOLDERWATCH)
|
||||
Dim fileEntries As String() = Directory.GetFiles(CURRENT_FOLDERWATCH)
|
||||
' Process the list of files found in the directory.
|
||||
Dim fileName As String
|
||||
For Each fileName In fileEntries
|
||||
LOGGER.Info(">> Folderwach after startup: Checking file:" & fileName)
|
||||
Dim oFileName As String
|
||||
For Each oFileName In fileEntries
|
||||
LOGGER.Info(">> Folderwach after startup: Checking file:" & oFileName)
|
||||
For Each row As DataRow In DTEXCLUDE_FILES.Rows
|
||||
Dim content As String = row.Item(0).ToString.ToLower
|
||||
If fileName.ToLower.Contains(content) Then
|
||||
If oFileName.ToLower.Contains(content) Then
|
||||
Exit Sub
|
||||
End If
|
||||
Next
|
||||
Dim handleType As String
|
||||
If fileName.ToLower.EndsWith(".msg") Then
|
||||
If oFileName.ToLower.EndsWith(".msg") Then
|
||||
handleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
Else
|
||||
handleType = "|FW_SIMPLEINDEXER|"
|
||||
End If
|
||||
'Die Datei übergeben
|
||||
LOGGER.Info(">> Adding file from Folderwatch after startup:" & fileName)
|
||||
If ClassIndexFunctions.FileExistsinDropTable(fileName) = False Then
|
||||
ClassFilehandle.Decide_FileHandle(fileName, handleType)
|
||||
LOGGER.Info(">> Adding file from Folderwatch after startup:" & oFileName)
|
||||
|
||||
'If ClassIndexFunctions.FileExistsinDropTable(fileName) = False Then
|
||||
' ClassFilehandle.Decide_FileHandle(fileName, handleType)
|
||||
'Else
|
||||
' LOGGER.Info(">> Folderwatch Startup: File already exists:" & fileName)
|
||||
'End If
|
||||
|
||||
Dim oFileExists As Date = ClassIndexFunctions.FileExistsinDropTable(oFileName)
|
||||
|
||||
If IsNothing(oFileExists) Then
|
||||
ClassFilehandle.Decide_FileHandle(oFileName, handleType)
|
||||
Else
|
||||
LOGGER.Info(">> Folderwatch Startup: File already exists:" & fileName)
|
||||
Dim oResult As DialogResult
|
||||
Dim oDate As String = oFileName.ToString("d")
|
||||
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
oResult = MsgBox($"Die Datei wurde bereits am [{oDate}] verarbeitet. Wollen Sie die gleiche Datei noch einmal verarbeiten?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
Else
|
||||
oResult = MsgBox($"This file has already been processed at [{oDate}]. Do you want to process the same file again?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "GLOBIX - FolderWatch")
|
||||
End If
|
||||
Next fileName
|
||||
|
||||
If oResult = DialogResult.Yes Then
|
||||
ClassFilehandle.Decide_FileHandle(oFileName, handleType)
|
||||
End If
|
||||
End If
|
||||
|
||||
Next oFileName
|
||||
|
||||
Else
|
||||
LOGGER.Info(">> FW_started not started")
|
||||
@ -512,9 +552,11 @@ Public Class frmStart
|
||||
Dim fileexists As Boolean = System.IO.File.Exists(FileForWork)
|
||||
If fileInUse = False Then
|
||||
If fileexists = True Then
|
||||
CURRENT_WORKFILE = FileForWork
|
||||
CURRENT_FILENAME = FileForWork
|
||||
CURRENT_WORKFILE = FileForWork
|
||||
CURRENT_WORKFILE_GUID = row.Item("GUID")
|
||||
CURRENT_WORKFILE_HASH = row.Item("FILE_HASH")
|
||||
|
||||
Open_IndexDialog()
|
||||
Else
|
||||
LOGGER.Info(">> File not existing - Row will be deleted!")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user