This commit is contained in:
SchreiberM
2015-08-19 14:36:21 +02:00
parent 1910ac0a74
commit 524552a2da
25 changed files with 3961 additions and 3397 deletions

View File

@@ -103,15 +103,15 @@ Public Class frmStart
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
DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
If DTACTUAL_FILES.Rows.Count > 1 Then
frmIndexFileList.ShowDialog()
DTFiles = ClassDatabase.Return_Datatable(sql, True)
DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
End If
For Each Filerow As DataRow In DTFiles.Rows
For Each Filerow As DataRow In DTACTUAL_FILES.Rows
Dim filestring As String = Filerow.Item("FILENAME2WORK")
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_GUID = Filerow.Item(0)
@@ -119,40 +119,13 @@ Public Class frmStart
If LogErrorsOnly = False Then ClassLogger.Add(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE, False)
If File.Exists(CURRENT_WORKFILE) Then
Open_IndexDialog()
Else
Console.WriteLine("File existiert nicht mehr!")
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()
@@ -169,7 +142,21 @@ Public Class frmStart
Dim result As MsgBoxResult
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)
Try
'Zuerst die Daten des Ablaufs löschen
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
For Each Filerow As DataRow In DTACTUAL_FILES.Rows
Dim filestring As String = Filerow.Item("FILENAME2WORK")
Dim handletype As String = Filerow.Item("HANDLE_TYPE")
If handletype = "@MSGONLY@" Or handletype = "@ATTMNTEXTRACTED@" Then
System.IO.File.Delete(filestring)
End If
Next
Catch ex As Exception
MsgBox("Fehler bei Abbruch der Indexierung: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
CURRENT_ABBRUCH = 0
Exit Sub
Else
@@ -185,18 +172,26 @@ Public Class frmStart
Private Sub frmStart_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
Dim sql = sql_User_Login
sql = sql.Replace("@LogInOut", 0)
sql = sql.Replace("@ANGEMELDETWO", "''")
sql = sql.Replace("@user", Environment.UserName)
ClassDatabase.Execute_non_Query(sql)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'Global-Indexer'"
ClassDatabase.Execute_non_Query(sql)
ClassLogger.Add("", False)
If START_INCOMPLETE = False Then
Dim sql = sql_User_Login
sql = sql.Replace("@LogInOut", 0)
sql = sql.Replace("@ANGEMELDETWO", "''")
sql = sql.Replace("@user", Environment.UserName)
ClassDatabase.Execute_non_Query(sql)
If Not USER_GUID Is Nothing Then
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'Global-Indexer'"
ClassDatabase.Execute_non_Query(sql)
End If
End If
ClassWindowLocation.SaveFormLocationSize(Me)
Catch ex As Exception
End Try
Unregister_Hotkeys()
If Not USER_GUID Is Nothing Then
Unregister_Hotkeys()
End If
End Sub
Sub Refresh_Licence()
@@ -234,16 +229,12 @@ Public Class frmStart
'Me.TransparencyKey = Color.Transparent
' Me.BackColor = Color.Transparent
Try
If Environment.UserName.ToLower = "schreiberm" Then
AApiToolStripMenuItem.Visible = True
Else
AApiToolStripMenuItem.Visible = False
End If
Me.Opacity = 30
ClassWindowLocation.LoadFormLocationSize(Me)
Dim sql = sql_UserID
sql = sql.Replace("@user", Environment.UserName)
ClassLogger.Init("", "log_" & Environment.UserName)
ClassLogger.Add(">> Programmstart: " & Now, False)
ClassLogger.Add(">> Username: " & Environment.UserName, False)
LoadMyConfig()
@@ -251,21 +242,31 @@ Public Class frmStart
frmConfig_Basic.ShowDialog()
End If
If ClassDatabase.Init() = False Then
MsgBox("Es konnte keine Datenbankverbindung aufgebaut werden!" & vbNewLine & "Bitte prüfen Sie die Einstellungen und den Datenbankserver", MsgBoxStyle.Critical)
Me.Close()
MsgBox("Es konnte keine Datenbankverbindung aufgebaut werden!" & vbNewLine & "Bitte prüfen Sie die Konfiguration der Datenbankverbindung und ggfls. den Datenbankserver", MsgBoxStyle.Critical)
frmConfig_Basic.ShowDialog()
End If
If ClassDatabase.Init() = False Then
ClassLogger.Add(" >> Global Indexer wird geschlossen!", False)
START_INCOMPLETE = True
Exit Sub
End If
If UniversalViewer = String.Empty And My.Settings.DoNot_Show_Documents = False Then
frmConfig_Basic.ShowDialog()
End If
If MyConnectionString = String.Empty Then
Me.Close()
ClassLogger.Add(" >> Kein Connection-String definiert - Global Indexer wird geschlossen!", False)
START_INCOMPLETE = True
Exit Sub
End If
Refresh_Licence()
USER_GUID = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
If USER_GUID Is Nothing Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht in der Userverwaltung hinterlegt!", False)
ClassLogger.Add(" - ACHTUNG: User '" & Environment.UserName & "' nicht in der Userverwaltung hinterlegt!", False)
MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Me.Close()
ClassLogger.Add(" >> Global Indexer wird geschlossen!", False)
START_INCOMPLETE = True
Exit Sub
Else
CURRENT_USERID = USER_GUID
Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & CURRENT_USERID, MyConnectionString)
@@ -284,7 +285,8 @@ Public Class frmStart
If ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) = False Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False)
MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Me.Close()
START_INCOMPLETE = True
Exit Sub
Else
'Am System anmelden
sql = sql_User_Login
@@ -292,7 +294,8 @@ Public Class frmStart
sql = sql.Replace("@ANGEMELDETWO", Environment.MachineName)
sql = sql.Replace("@user", Environment.UserName)
If ClassDatabase.Execute_non_Query(sql, True) = False Then
Me.Close()
START_INCOMPLETE = True
Exit Sub
End If
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Global-Indexer'"
ClassDatabase.Execute_non_Query(sql, True)
@@ -312,7 +315,8 @@ Public Class frmStart
'Lizenz abgellaufen, überprüfen ob User Admin ist
If License_Expired And ISUserAdmin = False Then
' wenn ja dann schliessen
Me.Close()
START_INCOMPLETE = True
Exit Sub
Else
'ansonsten timer starten
TimerClose3Minutes.Start()
@@ -323,7 +327,8 @@ Public Class frmStart
MsgBox("Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & License_Anzahl.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
ClassLogger.Add(" - Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der Lizenzen für Process-Manager!", False)
If ISUserAdmin = False Then
Me.Close()
START_INCOMPLETE = True
Exit Sub
Else
'ansonsten timer starten
If TimerClose3Minutes.Enabled = False Then
@@ -336,7 +341,8 @@ Public Class frmStart
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
If LogErrorsOnly = False Then ClassLogger.Add(" - Anzahl Angemeldete User: " & anzahl.ToString, False)
If Load_BasicConfig() = False Then
Me.Close()
START_INCOMPLETE = True
Exit Sub
End If
Unregister_Hotkeys()
Load_Hotkeys()
@@ -443,10 +449,15 @@ Public Class frmStart
' Dim fil As String
Me.TimerFolderWatch.Stop()
For Each row As DataRow In DT.Rows
CURRENT_WORKFILE = row.Item(1)
CURRENT_FILENAME = row.Item(1)
CURRENT_WORKFILE_GUID = row.Item("GUID")
Open_IndexDialog()
If ClassFilehandle.IsFileInUse(row.Item(1)) = True Then
CURRENT_WORKFILE = row.Item(1)
CURRENT_FILENAME = row.Item(1)
CURRENT_WORKFILE_GUID = row.Item("GUID")
Open_IndexDialog()
Else
ClassLogger.Add(">> Datei '" & row.Item(1) & "' kann nicht exclusiv geöffnet werden!", False)
End If
Next
Me.TimerFolderWatch.Start()
End If
@@ -458,15 +469,16 @@ Public Class frmStart
MsgBox("Error in Work FolderWatch-File:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub TimerClose3Minutes_Tick(sender As Object, e As EventArgs) Handles TimerClose3Minutes.Tick
If License_Expired = True Or License_Anzahl < UserLoggedin Then
MsgBox("Global Indexer wird nun geschlossen, weil keine neue Lizenzdaten eingegeben wurden!", MsgBoxStyle.Information)
Me.Close()
End If
End Sub
Private Sub frmStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown
If START_INCOMPLETE = True Then
Me.Close()
End If
loaded = True
Opacity = 0.65
TimerFolderWatch.Start()
@@ -475,4 +487,8 @@ Public Class frmStart
Private Sub HistoryIndexierteDateienToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HistoryIndexierteDateienToolStripMenuItem.Click
frmHistory.ShowDialog()
End Sub
Private Sub InfoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InfoToolStripMenuItem.Click
AboutBox1.ShowDialog()
End Sub
End Class