This commit is contained in:
SchreiberM
2015-07-24 10:45:41 +02:00
parent 8097628f66
commit d23e44524b
21 changed files with 5448 additions and 3380 deletions

View File

@@ -80,78 +80,79 @@ Public Class frmStart
e.Effect = DragDropEffects.None
End If
End Sub
Sub Check_Dropped_Files()
Try
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
CURRENT_ABBRUCH = 0
Dim i As Integer
For Each Str As Object In ClassDragDrop.files_dropped
If Not Str Is Nothing Then
If LogErrorsOnly = False Then ClassLogger.Add(">> Check Drop-File: " & Str.ToString, False)
Dim handleType As String = Str.Substring(0, Str.LastIndexOf("@") + 1)
Dim filename As String = Str.Substring(Str.LastIndexOf("@") + 1)
If ClassIndexFunctions.FileExistsinDropTable(filename) = False Then
Dim ins As String = "INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK,HANDLE_TYPE) VALUES ('" & filename & "','" & Environment.UserName & "','" & handleType & "')"
If ClassDatabase.Execute_non_Query(ins, True) = False Then
MsgBox("Unexpected Error in Create Record for dropped-file - Check logfile", MsgBoxStyle.Critical)
Exit Sub
End If
i += 1
Else
Console.WriteLine("File gibt es bereits")
End If
'Try
Me.TopMost = False
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
CURRENT_ABBRUCH = 0
Dim i As Integer
For Each Str As Object In ClassDragDrop.files_dropped
If Not Str Is Nothing Then
If LogErrorsOnly = False Then ClassLogger.Add(">> Check Drop-File: " & Str.ToString, False)
Dim handleType As String = Str.Substring(0, Str.LastIndexOf("@") + 1)
Dim filename As String = Str.Substring(Str.LastIndexOf("@") + 1)
If ClassIndexFunctions.FileExistsinDropTable(filename) = False Then
ClassFilehandle.Decide_FileHandle(filename, handleType)
i += 1
Else
Console.WriteLine("File gibt es bereits")
End If
Next
Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
Dim DTFiles As DataTable = ClassDatabase.Return_Datatable(sql, True)
For Each Filerow As DataRow In DTFiles.Rows
CURRENT_FILENAME = Filerow.Item(0)
CURRENT_WORKFILE_GUID = Filerow.Item(0)
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
If LogErrorsOnly = False Then ClassLogger.Add(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE, False)
Open_IndexDialog()
Next
'Prüfen ob alle Files abgearbeitet wurden
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND HANDLE_TYPE not like '%@FW%' AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
If DT.Rows.Count > 0 Then
For Each row As DataRow In DT.Rows
Dim filestring As String = row.Item(1)
filestring = filestring.Substring(filestring.LastIndexOf("@") + 1)
Select Case CURRENT_ABBRUCH
Case 0
CURRENT_ABBRUCH = 1
Case 1
CURRENT_ABBRUCH = 2
Case 2
CURRENT_ABBRUCH = 0
End Select
If File.Exists(filestring) Then
If CURRENT_ABBRUCH = 2 Then
Dim result As MsgBoxResult
result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & row.Item(0))
Exit Sub
End If
Else
MsgBox("Es sind noch Dateien zum Indexieren vorhanden:" & vbNewLine & "Bitte indexieren Sie die folgende Datei vollständig:", MsgBoxStyle.Exclamation)
CURRENT_WORKFILE = row.Item(1)
CURRENT_FILENAME = row.Item(1)
CURRENT_WORKFILE_GUID = row.Item(0)
Open_IndexDialog()
End If
Else
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & row.Item(0))
End If
Next
End If
Catch ex As Exception
MsgBox("Check_Dropped_Files: " & ex.Message, MsgBoxStyle.Critical)
End Try
Next
Me.TopMost = True
Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
Dim DTFiles As DataTable = ClassDatabase.Return_Datatable(sql, True)
If DTFiles.Rows.Count > 1 Then
frmIndexFileList.ShowDialog()
DTFiles = ClassDatabase.Return_Datatable(sql, True)
End If
For Each Filerow As DataRow In DTFiles.Rows
Dim filestring As String = Filerow.Item("FILENAME2WORK")
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_GUID = Filerow.Item(0)
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
If LogErrorsOnly = False Then ClassLogger.Add(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE, False)
If File.Exists(CURRENT_WORKFILE) Then
Open_IndexDialog()
End If
Next
''Prüfen ob alle Files abgearbeitet wurden
'Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND HANDLE_TYPE not like '%@FW%' AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
'If DT.Rows.Count > 0 Then
' For Each row As DataRow In DT.Rows
' Dim filestring As String = row.Item(1)
' filestring = filestring.Substring(filestring.LastIndexOf("@") + 1)
' Select Case CURRENT_ABBRUCH
' Case 0
' CURRENT_ABBRUCH = 1
' Case 1
' CURRENT_ABBRUCH = 2
' Case 2
' CURRENT_ABBRUCH = 0
' End Select
' If File.Exists(filestring) Then
' MsgBox("Es sind noch Dateien zum Indexieren vorhanden:" & vbNewLine & "Bitte indexieren Sie die folgende Datei vollständig:", MsgBoxStyle.Exclamation)
' CURRENT_WORKFILE = row.Item(1)
' CURRENT_FILENAME = row.Item(1)
' CURRENT_WORKFILE_GUID = row.Item(0)
' Open_IndexDialog()
' Else
' ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & row.Item(0))
' End If
' Next
'End If
'Catch ex As Exception
' MsgBox("Check_Dropped_Files: " & ex.Message, MsgBoxStyle.Critical)
'End Try
End Sub
Sub Open_IndexDialog()
Try
Me.Hide()
@@ -159,58 +160,22 @@ Public Class frmStart
Me.Visible = True
Me.TopMost = True
Me.BringToFront()
If Not CURRENT_FILENAME.EndsWith("msg") Then
Dim workedsql = "select WORKED FROM TBGI_FILES_USER where guid = " & CURRENT_WORKFILE_GUID
If ClassDatabase.Execute_Scalar(workedsql, MyConnectionString, True) = 0 Then
Select Case CURRENT_ABBRUCH
Case 0
CURRENT_ABBRUCH = 1
Case 1
CURRENT_ABBRUCH = 2
End Select
If CURRENT_ABBRUCH = 2 Then
If File.Exists(CURRENT_FILENAME) Then
Select Case CURRENT_ABBRUCH
Case 1
MsgBox("Bitte indexieren Sie die Datei vollständig!" & vbNewLine & "(Abbruch 1 des Indexierungsvorgangs)", MsgBoxStyle.Information)
Open_IndexDialog()
Case 2
Dim result As MsgBoxResult
result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie die Indexierung aller Dateien abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
CURRENT_ABBRUCH = 0
Exit Sub
Else
CURRENT_ABBRUCH = 0
End If
Else
MsgBox("Datei wurde nicht vollständig indexiert:" & vbNewLine & "Bitte wiederholen Sie den Vorgang:", MsgBoxStyle.Exclamation)
Open_IndexDialog()
End If
End If
Else
'Hier nun die Anhänge indexieren
Dim _msg As New Msg.Message(CURRENT_FILENAME)
Dim i1 As Integer = 1
If LogErrorsOnly = False Then ClassLogger.Add(">> Anzahl der Attachments: " & _msg.Attachments.Count, False)
For Each attachment As Independentsoft.Msg.Attachment In _msg.Attachments
If attachment.DisplayName Is Nothing Then
If Not attachment.LongFileName Is Nothing Then
If Not attachment.LongFileName.Contains("inline") Then
Dim tempfile As String = Path.Combine(Path.GetTempPath, attachment.LongFileName)
If File.Exists(tempfile) Then
File.Delete(tempfile)
End If
attachment.Save(tempfile)
Dim sql As String = "INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK,HANDLE_TYPE) VALUES ('" & tempfile & "','" & Environment.UserName & "','@ATTMNTEXTRACTED@')"
If ClassDatabase.Execute_non_Query(sql, True) = True Then
sql = "SELECT MAX(GUID) FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
Dim GUID = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
If Not IsNothing(GUID) Then
If LogErrorsOnly = False Then ClassLogger.Add(">> Attachment (" & i1 & "):" & tempfile, False)
CURRENT_FILENAME = tempfile
CURRENT_WORKFILE = tempfile
CURRENT_WORKFILE_GUID = GUID
Open_IndexDialog()
i1 += 1
End If
End If
End If
End If
End If
Next
End Select
End If
Catch ex As Exception
MsgBox("Fehler bei Aufruf Indexdialog: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -289,7 +254,7 @@ Public Class frmStart
MsgBox("Es konnte keine Datenbankverbindung aufgebaut werden!" & vbNewLine & "Bitte prüfen Sie die Einstellungen und den Datenbankserver", MsgBoxStyle.Critical)
Me.Close()
End If
If UniversalViewer = String.Empty Then
If UniversalViewer = String.Empty And My.Settings.DoNot_Show_Documents = False Then
frmConfig_Basic.ShowDialog()
End If
If MyConnectionString = String.Empty Then
@@ -440,28 +405,6 @@ Public Class frmStart
MsgBox("Error in Load_Hotkeys:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
'Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
' If loaded = True Then
' If m.Msg = ClassHotkey.WM_HOTKEY Then
' ' ' 'Me.Cursor = Cursors.WaitCursor
' ' ' ' ClassHotkey_Windream.RUN_WD_SEARCH(m.WParam)
' ' ' 'Me.NotifyIcon1.Visible = True
' ' ' 'NotifyIcon1.ShowBalloonTip(2000, "Hotkey", "Hotkey wird ausgeführt!", ToolTipIcon.Info)
' ' ' 'Dim Result =
' ' ' 'MyBase.WndProc(m)
' ' ' 'If Result = "" Then
' ' ' ' ' Me.NotifyIcon1.Visible = False
' ' ' 'Else
' ' ' ' ' NotifyIcon1.ShowBalloonTip(5000, "Hotkey-Fehler:", Result.ToString, ToolTipIcon.Warning)
' ' ' 'End If
' ' ' End If
' Else
' Console.WriteLine("MESSAGE: " & m.ToString)
' End If
' End If
'End Sub 'System wide hotkey event handling
Private Sub HotkeyEisntellungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HotkeyEisntellungenToolStripMenuItem.Click
Me.Hide()
Unregister_Hotkeys()
@@ -528,4 +471,8 @@ Public Class frmStart
Opacity = 0.65
TimerFolderWatch.Start()
End Sub
Private Sub HistoryIndexierteDateienToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HistoryIndexierteDateienToolStripMenuItem.Click
frmHistory.ShowDialog()
End Sub
End Class