MS Doppeltprüfung
This commit is contained in:
parent
540f9f4176
commit
80a541ff36
@ -1,19 +1,33 @@
|
||||
Imports DigitalData.Modules.Base
|
||||
Imports DigitalData.Modules.Filesystem
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports System.IO
|
||||
Imports File = DigitalData.Modules.Filesystem.File
|
||||
|
||||
Public Class ClassUserFiles
|
||||
Inherits BaseClass
|
||||
|
||||
Private Property FILESYSTEM As Modules.Filesystem.File
|
||||
Public Sub New(pLogConfig As LogConfig)
|
||||
MyBase.New(pLogConfig)
|
||||
FILESYSTEM = New File(pLogConfig)
|
||||
End Sub
|
||||
|
||||
Public Function Insert_GI_File(filename As String, handleType As String) As Boolean
|
||||
Try
|
||||
filename = filename.Replace("'", "''")
|
||||
|
||||
Dim filename_only As String = IO.Path.GetFileName(filename)
|
||||
Dim ins As String = "INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('" & filename & "','" & Environment.UserName & "','" & handleType & "','" & filename_only & "')"
|
||||
Dim oHash As String = String.Empty
|
||||
|
||||
If IO.File.Exists(filename) Then
|
||||
If (filename.ToUpper.EndsWith(".MSG") Or filename.ToUpper.EndsWith(".EML")) And (handleType = "|OUTLOOK_MESSAGE|" Or handleType = "|MSGONLY|") Then
|
||||
oHash = FILESYSTEM.GetChecksumFromString(filename)
|
||||
Else
|
||||
oHash = FILESYSTEM.GetChecksum(filename)
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim filename_only As String = Path.GetFileName(filename)
|
||||
Dim ins As String = $"INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK, HANDLE_TYPE, FILENAME_ONLY, FILE_HASH) VALUES ('{filename}','{Environment.UserName}','{handleType}','{filename_only}', '{oHash}')"
|
||||
Return My.DatabaseECM.ExecuteNonQuery(ins)
|
||||
|
||||
Catch ex As Exception
|
||||
@ -37,7 +51,7 @@ Public Class ClassUserFiles
|
||||
oHash = ""
|
||||
End Try
|
||||
|
||||
oSQL = "SELECT * FROM TBGI_FILES_USER WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') AND WORKED = 0 ORDER BY ADDED_WHEN"
|
||||
oSQL = "SELECT * FROM TBGI_FILES_USER WHERE FILE_HASH = '" & oHash & "' AND WORKED = 0 ORDER BY ADDED_WHEN"
|
||||
Dim oResult As DataTable = My.DatabaseECM.GetDatatable(oSQL)
|
||||
|
||||
If oResult Is Nothing Then
|
||||
@ -45,8 +59,8 @@ Public Class ClassUserFiles
|
||||
End If
|
||||
|
||||
If oResult.Rows.Count = 0 Then
|
||||
oSQL = "SELECT * FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') ORDER BY ADDED_WHEN"
|
||||
oResult = My.DatabaseECM.GetDatatable(oSQL)
|
||||
oSQL = "SELECT * FROM TBIDB_FILE_OBJECT WHERE FILE_HASH = '" & oHash & "' ORDER BY ADDED_WHEN"
|
||||
oResult = My.DatabaseIDB.GetDatatable(oSQL)
|
||||
|
||||
If oResult Is Nothing Then
|
||||
Return Nothing
|
||||
|
||||
@ -794,6 +794,7 @@ Public Class frmFlowForm
|
||||
FileHandle.Decide_FileHandle(fileName, handleType)
|
||||
Else
|
||||
IO.File.Delete(fileName)
|
||||
|
||||
Logger.Info("Scanfolder Startup: File already exists:" & fileName)
|
||||
End If
|
||||
Next fileName
|
||||
@ -831,6 +832,7 @@ Public Class frmFlowForm
|
||||
FileHandle.Decide_FileHandle(fileName, handleType)
|
||||
Else
|
||||
Logger.Info("Folderwatch Startup: File already exists:" & fileName)
|
||||
IO.File.Delete(fileName)
|
||||
End If
|
||||
Next fileName
|
||||
|
||||
@ -875,6 +877,7 @@ Public Class frmFlowForm
|
||||
Me.TimerFolderwatch.Stop()
|
||||
For Each row As DataRow In My.Application.Globix.DTACTUAL_FILES.Rows
|
||||
Dim FILEGUID = row.Item("GUID")
|
||||
Dim oDel = String.Format("DELETE FROM TBGI_FILES_USER WHERE GUID = {0}", FILEGUID)
|
||||
If My.Application.Globix.ABORT_INDEXING = True Then
|
||||
Exit For
|
||||
End If
|
||||
@ -886,16 +889,31 @@ Public Class frmFlowForm
|
||||
Dim fileexists As Boolean = System.IO.File.Exists(FileForWork)
|
||||
If fileInUse = False Then
|
||||
If fileexists = True Then
|
||||
My.Application.Globix.CurrentWorkfile = New Globix.Models.WorkFile With {
|
||||
Dim handleType As String
|
||||
If FileForWork.ToLower.EndsWith(".msg") Then
|
||||
handleType = "|FW_OUTLOOK_MESSAGE|"
|
||||
Else
|
||||
handleType = "|FW_SIMPLEINDEXER|"
|
||||
End If
|
||||
If FileHandle.CheckDuplicateFiles(FileForWork, "FolderWatch") Then
|
||||
My.Application.Globix.CurrentWorkfile = New Globix.Models.WorkFile With {
|
||||
.Id = DirectCast(row.Item("GUID"), Integer),
|
||||
.FilePath = FileForWork,
|
||||
.HotfolderFile = True
|
||||
}
|
||||
Globix_Open_IndexDialog()
|
||||
Else
|
||||
My.Database.ExecuteNonQueryECM(oDel)
|
||||
IO.File.Delete(FileForWork)
|
||||
Logger.Info("Folderwatch: File has been deleted:" & FileForWork)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Globix_Open_IndexDialog()
|
||||
Else
|
||||
Logger.Info(" File not existing - Row will be deleted!")
|
||||
Dim oDel = String.Format("DELETE FROM TBGI_FILES_USER WHERE GUID = {0}", FILEGUID)
|
||||
|
||||
My.Database.ExecuteNonQueryECM(oDel)
|
||||
End If
|
||||
Else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user