MS2909
This commit is contained in:
@@ -105,7 +105,7 @@ Public Class frmStart
|
||||
Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
|
||||
DTACTUAL_FILES = Nothing
|
||||
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
|
||||
|
||||
ABORT_INDEXING = False
|
||||
If DTACTUAL_FILES.Rows.Count > 1 Then
|
||||
frmIndexFileList.ShowDialog()
|
||||
DTACTUAL_FILES = Nothing
|
||||
@@ -142,20 +142,29 @@ 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
|
||||
Dim containsfw_file As Boolean = False
|
||||
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)
|
||||
ABORT_INDEXING = 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)
|
||||
ElseIf handletype.StartsWith("@FW") Then
|
||||
containsfw_file = True
|
||||
End If
|
||||
Next
|
||||
'Zuerst die Daten des Ablaufs löschen
|
||||
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
|
||||
If containsfw_file = True Then
|
||||
MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei Abbruch der Indexierung: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
CURRENT_ABBRUCH = 0
|
||||
Exit Sub
|
||||
@@ -237,11 +246,15 @@ Public Class frmStart
|
||||
ClassLogger.Add(">> Programmstart: " & Now, False)
|
||||
ClassLogger.Add(">> Username: " & Environment.UserName, False)
|
||||
LoadMyConfig()
|
||||
If LoadFileExclusion() = False Then
|
||||
MsgBox("Dies Ausschlusskriterien für Dateien in Folderwatch konnten nicht angelegt werden!", MsgBoxStyle.Information)
|
||||
End If
|
||||
|
||||
If MyConnectionString = String.Empty Then
|
||||
frmConfig_Basic.ShowDialog()
|
||||
End If
|
||||
If ClassDatabase.Init() = False Then
|
||||
ERROR_STATE = "FAILED CONNECTION"
|
||||
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
|
||||
@@ -250,16 +263,11 @@ Public Class frmStart
|
||||
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
|
||||
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(" - ACHTUNG: User '" & Environment.UserName & "' nicht in der Userverwaltung hinterlegt!", False)
|
||||
@@ -268,18 +276,34 @@ Public Class frmStart
|
||||
START_INCOMPLETE = True
|
||||
Exit Sub
|
||||
Else
|
||||
Refresh_Licence()
|
||||
CURRENT_USERID = USER_GUID
|
||||
Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & CURRENT_USERID, MyConnectionString)
|
||||
If UniversalViewer = String.Empty And My.Settings.DoNot_Show_Documents = False Then
|
||||
ERROR_STATE = "NO UV"
|
||||
frmConfig_Basic.ShowDialog()
|
||||
End If
|
||||
|
||||
|
||||
'Die FolderWatch starten
|
||||
Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & CURRENT_USERID, MyConnectionString)
|
||||
Dim folderwatch_SCAN = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & CURRENT_USERID, MyConnectionString)
|
||||
If Not folderwatch Is Nothing Then
|
||||
CURRENT_FOLDERWATCH = folderwatch
|
||||
If FW_started = True Then
|
||||
tslblFW.Visible = True
|
||||
ClassFolderWatcher.StartStop_FolderWatch()
|
||||
End If
|
||||
If CURRENT_FOLDERWATCH <> "" Then
|
||||
TimerFolderWatch.Start()
|
||||
End If
|
||||
If Not folderwatch_SCAN Is Nothing Then
|
||||
CURRENT_SCAN_FOLDERWATCH = folderwatch_SCAN
|
||||
If FWSCAN_started = True Then
|
||||
tslblFW.Visible = True
|
||||
ClassFolderWatcher.StartStop_FolderWatchSCAN()
|
||||
End If
|
||||
End If
|
||||
If CURRENT_FOLDERWATCH <> "" Or CURRENT_SCAN_FOLDERWATCH <> "" Then
|
||||
TimerFolderWatch.Start()
|
||||
End If
|
||||
sql = "SELECT MODULE_GI FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
|
||||
sql = sql.Replace("@user", Environment.UserName)
|
||||
If ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) = False Then
|
||||
@@ -298,7 +322,11 @@ Public Class frmStart
|
||||
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)
|
||||
If ClassDatabase.Execute_non_Query(sql, True) = True Then
|
||||
|
||||
End If
|
||||
|
||||
|
||||
sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & USER_GUID & ",'Global-Indexer')"
|
||||
ClassDatabase.Execute_non_Query(sql, True)
|
||||
|
||||
@@ -322,11 +350,15 @@ Public Class frmStart
|
||||
TimerClose3Minutes.Start()
|
||||
End If
|
||||
'Anzahl der eingeloggten User
|
||||
UserLoggedin = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE MODULE = 'Global-Indexer'", MyConnectionString)
|
||||
UserLoggedin = ClassDatabase.Execute_Scalar("select count(*) from TBDD_USER_MODULE_LOG_IN where MODULE = 'Global-Indexer'", MyConnectionString, True)
|
||||
If License_Anzahl < UserLoggedin Then
|
||||
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)
|
||||
ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der Lizenzen (" & License_Anzahl & ") für Process-Manager!", False)
|
||||
If ISUserAdmin = False Then
|
||||
'Anmeldung wieder herausnehmen
|
||||
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Global-Indexer'"
|
||||
ClassDatabase.Execute_non_Query(sql, True)
|
||||
ClassLogger.Add(" - Wieder abgemeldet", False)
|
||||
START_INCOMPLETE = True
|
||||
Exit Sub
|
||||
Else
|
||||
@@ -339,7 +371,7 @@ Public Class frmStart
|
||||
sql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE MODULE = 'Global-Indexer'"
|
||||
Dim anzahl = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
|
||||
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 LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl Angemeldete User: " & anzahl.ToString, False)
|
||||
If Load_BasicConfig() = False Then
|
||||
START_INCOMPLETE = True
|
||||
Exit Sub
|
||||
@@ -372,7 +404,7 @@ Public Class frmStart
|
||||
Try
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT HOTKEY1, HOTKEY2, ABS(CONVERT(INT, CONVERT(binary(4), NEWID()))) AS HOTKEY_ID FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = " & CURRENT_USERID & " GROUP BY HOTKEY1, HOTKEY2", True)
|
||||
If DT.Rows.Count > 0 Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ... " & DT.Rows.Count & " Hotkeys", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> " & DT.Rows.Count & " Hotkey-Profile", False)
|
||||
Dim i As Integer = 0
|
||||
For Each row As DataRow In DT.Rows
|
||||
i += 1
|
||||
@@ -391,21 +423,21 @@ Public Class frmStart
|
||||
|
||||
Select Case row.Item("HOTKEY1")
|
||||
Case "Strg"
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ..." & i.ToString + "|Strg " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >>" & i.ToString + "|Strg " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
HotKey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, row.Item("HOTKEY_ID"))
|
||||
Case "Shift"
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ..." & i.ToString + "|Shift " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >>" & i.ToString + "|Shift " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
HotKey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, row.Item("HOTKEY_ID"))
|
||||
Case "Alt"
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ..." & i.ToString + "|Alt " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >>" & i.ToString + "|Alt " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
HotKey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_ALT, row.Item("HOTKEY_ID"))
|
||||
Case "win"
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ..." & i.ToString + "|Win " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >>" & i.ToString + "|Win " & row.Item("HOTKEY2").ToString.ToUpper, False)
|
||||
HotKey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_WIN, row.Item("HOTKEY_ID"))
|
||||
End Select
|
||||
Next
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" ... Keine Hotkeys!", False)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Keine Hotkeys!", False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Load_Hotkeys:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
@@ -444,20 +476,32 @@ Public Class frmStart
|
||||
If FW_started = True Then
|
||||
'Prüfen ob alle Files abgearbeitet wurden
|
||||
Dim sql = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND HANDLE_TYPE like '%@FW%' AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True)
|
||||
If DT.Rows.Count > 0 Then
|
||||
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
|
||||
If DTACTUAL_FILES.Rows.Count > 0 Then
|
||||
ABORT_INDEXING = False
|
||||
' Dim fil As String
|
||||
Me.TimerFolderWatch.Stop()
|
||||
For Each row As DataRow In DT.Rows
|
||||
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)
|
||||
For Each row As DataRow In DTACTUAL_FILES.Rows
|
||||
If ABORT_INDEXING = True Then
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Dim FileForWork As String = row.Item(1)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">> In Timer Folderwatch - File: " & FileForWork, False)
|
||||
Dim fileInUse As Boolean = ClassFilehandle.IsFileInUse(FileForWork)
|
||||
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_GUID = row.Item("GUID")
|
||||
Open_IndexDialog()
|
||||
Else
|
||||
ClassLogger.Add(">> Datei existiert (noch) nicht - fileexists?!", False)
|
||||
End If
|
||||
Else
|
||||
ClassLogger.Add(">> Datei '" & row.Item(1) & "' kann nicht exclusiv geöffnet werden - fileInUse!", False)
|
||||
End If
|
||||
|
||||
Next
|
||||
Me.TimerFolderWatch.Start()
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user