use Logging Module EVERYWHERE, fix some MarvMan bugs

This commit is contained in:
Jonathan Jenne
2020-03-04 12:24:43 +01:00
parent 13b36db5fb
commit c8c650922b
22 changed files with 1279 additions and 1178 deletions

View File

@@ -123,7 +123,7 @@ Public Class frmIndex
Next
Catch ex As Exception
MsgBox("Indexname: " & indexname & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unexpected error in Indexwert_checkValue:")
ClassLogger.Add(" - Unvorhergesehener Unexpected error in Indexwert_checkValue - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Unexpected error in Indexwert_checkValue - Fehler: " & vbNewLine & ex.Message)
Return False
End Try
End Function
@@ -136,20 +136,20 @@ Public Class frmIndex
For Each DR In DT.Rows
If DR.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then
If DR.Item("Indexiert") = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >>Manueller Index: " & indexname, False)
LOGGER.Info(" >>Manueller Index: " & indexname)
Select Case RequestFor
Case "FILE"
If DR.Item("Indexwert_File").ToString <> String.Empty Then
If LogErrorsOnly = False Then ClassLogger.Add(" >>Es liegt ein separater nachbearbeiteter Wert für die Dateibenennung vor: " & DR.Item("Indexwert_File").ToString, False)
If LogErrorsOnly = False Then ClassLogger.Add(" >>Zurückgegebener NachbearbeitungsWert: " & DR.Item("Indexwert_File"), False)
LOGGER.Info(" >>Es liegt ein separater nachbearbeiteter Wert für die Dateibenennung vor: " & DR.Item("Indexwert_File").ToString)
LOGGER.Info(" >>Zurückgegebener NachbearbeitungsWert: " & DR.Item("Indexwert_File"))
Return DR.Item("Indexwert_File")
Else
If DR.Item("Indexwert").ToString <> String.Empty Then
If LogErrorsOnly = False Then ClassLogger.Add(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"), False)
LOGGER.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
Return DR.Item("Indexwert")
Else
If opt = False Then
ClassLogger.Add(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!", False)
LOGGER.Info(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
showlblhinweis("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
Return Nothing
Else
@@ -160,12 +160,12 @@ Public Class frmIndex
End If
Case Else
If DR.Item("Indexwert").ToString <> String.Empty Then
If LogErrorsOnly = False Then ClassLogger.Add(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"), False)
LOGGER.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
Return DR.Item("Indexwert")
Else
'Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & indexname & "')", MyConnectionString, True)
If opt = False Then
ClassLogger.Add(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!", False)
LOGGER.Info(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
showlblhinweis("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
Return Nothing
Else
@@ -181,7 +181,8 @@ Public Class frmIndex
End If
Next
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Unexpected error in GetManIndex_Value - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Unexpected error in GetManIndex_Value - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Indexname: " & indexname & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unexpected error in GetManIndex_Value:")
Return Nothing
End Try
@@ -219,7 +220,8 @@ Public Class frmIndex
End If
Next
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Unexpected error in GetAutoIndex_Value - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Unexpected error in GetAutoIndex_Value - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Indexname: " & indexname & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unexpected error in GetAutoIndex_Value:")
Return ""
End Try
@@ -240,7 +242,7 @@ Public Class frmIndex
End If
If LogErrorsOnly = False Then
ClassLogger.Add(" >>SQL-ConnectionString: " & oConnectionString.Substring(0, oConnectionString.LastIndexOf("=")), False)
LOGGER.Info(" >>SQL-ConnectionString: " & oConnectionString.Substring(0, oConnectionString.LastIndexOf("=")))
End If
If oErgebnis Is Nothing Then
@@ -252,7 +254,8 @@ Public Class frmIndex
End If
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Get_AutomatischerIndex_SQL - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Get_AutomatischerIndex_SQL - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Get_AutomatischerIndex_SQL:")
Return ""
End Try
@@ -263,7 +266,7 @@ Public Class frmIndex
Function CheckWrite_IndexeMan(dokartid As Integer)
'#### Zuerst manuelle Werte indexieren ####
Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> In CheckWrite_IndexeMan", False)
LOGGER.Info(" >> In CheckWrite_IndexeMan")
Dim result As Boolean = False
For Each oControl As Control In Me.pnlIndex.Controls
' MsgBox(ctrl.Name)
@@ -281,7 +284,7 @@ Public Class frmIndex
End If
Else
If Indexwert_checkValueDB(Replace(box.Name, "txt", ""), box.Text) = False Then
ClassLogger.Add(" - Der eingegebene Wert wurde nicht in der Datenbank gefunden", False)
LOGGER.Info(" - Der eingegebene Wert wurde nicht in der Datenbank gefunden")
MsgBox("Der eingegebene Wert wurde nicht in der Datenbank gefunden!", MsgBoxStyle.Exclamation, "Fehlerhafte Indexierung:")
box.Focus()
Return False
@@ -361,14 +364,15 @@ Public Class frmIndex
Continue For
End If
If oControl.Name.StartsWith("lbl") = False And result = False Then
ClassLogger.Add("Die Überprüfung der manuellen Indices ist fehlerhaft. Bitte informieren Sie den Systembetreuer", True)
LOGGER.Info("Die Überprüfung der manuellen Indices ist fehlerhaft. Bitte informieren Sie den Systembetreuer")
Return False
End If
Next
Return True
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Fehler in CheckWrite_IndexeMan - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Fehler in CheckWrite_IndexeMan - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unerwarteter Unexpected error in CheckWrite_IndexeMan:")
Return False
End Try
@@ -411,7 +415,8 @@ Public Class frmIndex
End If
Next
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Unexpected error in Indexwert_Postprocessing - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Unexpected error in Indexwert_Postprocessing - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Indexwert_Postprocessing:")
End Try
End Sub
@@ -421,12 +426,12 @@ Public Class frmIndex
' ' For Each row As DataRow In DTNB.Rows
' ' Select Case row.Item("TYP").ToString.ToUpper
' ' Case "VBSPLIT"
' ' ClassLogger.Add(" - Nachbearbeitung mit VBSPLIT", False)
' ' LOGGER.Info(" - Nachbearbeitung mit VBSPLIT")
' ' Dim strSplit() As String
' ' strSplit = result.Split(row.Item("TEXT1").ToString)
' ' For i As Integer = 0 To strSplit.Length - 1
' ' If i = CInt(row.Item("TEXT2")) Then
' ' ClassLogger.Add(" - Split-Ergebnis für Index (" & i.ToString & "): " & strSplit(i), False)
' ' LOGGER.Info(" - Split-Ergebnis für Index (" & i.ToString & "): " & strSplit(i))
' ' result = strSplit(i).ToString
' ' End If
' ' Next
@@ -436,7 +441,7 @@ Public Class frmIndex
' ' Next
' ' Return result
' ' Catch ex As Exception
' ' ClassLogger.Add(" - Unvorhergesehener Unexpected error in Get_Nachbearbeitung_Wert - result: " & result & " - Fehler: " & vbNewLine & ex.Message)
' ' LOGGER.Info(" - Unvorhergesehener Unexpected error in Get_Nachbearbeitung_Wert - result: " & result & " - Fehler: " & vbNewLine & ex.Message)
' ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Get_Nachbearbeitung_Wert:")
' ' Return result
' ' End Try
@@ -479,14 +484,14 @@ Public Class frmIndex
Dim oMatchelements As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oNamenkonvention)
'####
If oMatchelements.Count = 0 Then
ClassLogger.Add(" >> No RegularExpression Fileds on Nameconvention!", False)
LOGGER.Info(" >> No RegularExpression Fileds on Nameconvention!")
End If
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each oElement As System.Text.RegularExpressions.Match In oMatchelements
Select Case oElement.Value.Substring(2, 1).ToUpper
'Manueller Indexwert
Case "M"
If LogErrorsOnly = False Then ClassLogger.Add(" >>Manueller Index wird geprüft...", False)
LOGGER.Info(" >>Manueller Index wird geprüft...")
Dim Indexname = oElement.Value.Substring(3, oElement.Value.Length - 4)
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & Indexname & "')", MyConnectionString, True)
Dim value As String = GetManIndex_Value(Indexname, "FILE", optional_index)
@@ -525,7 +530,7 @@ Public Class frmIndex
' End If
Else
ClassLogger.Add(" >> Der Indexvalue für Index '" & Indexname & "' ist String.Empty", False)
LOGGER.Info(" >> Der Indexvalue für Index '" & Indexname & "' ist String.Empty")
err = True
End If
@@ -608,12 +613,13 @@ Public Class frmIndex
Loop
End If
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Umbenennnen der Datei - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Umbenennnen der Datei - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Umbenennnen der Datei:")
err = True
End Try
Case Else
ClassLogger.Add(" - Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & oElement.Value.ToUpper)
LOGGER.Info(" - Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & oElement.Value.ToUpper)
MsgBox("Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & oElement.Value.ToUpper, MsgBoxStyle.Exclamation, "Unexpected error in Name generieren:")
End Select
Next
@@ -646,7 +652,8 @@ Public Class frmIndex
'Try to create the directory.
Directory.CreateDirectory(path)
Catch ex As Exception
ClassLogger.Add("Unexpected Error in 'Name_Generieren' - Error: " & vbNewLine & ex.Message & vbNewLine & "Directory.CreateDirectory(" & path & ")", True)
LOGGER.Info("Unexpected Error in 'Name_Generieren' - Error: " & vbNewLine & ex.Message & vbNewLine & "Directory.CreateDirectory(" & path & ")")
LOGGER.Error(ex.Message)
MsgBox("Unexpected Error in 'Name_Generieren' - Error: " & vbNewLine & ex.Message & vbNewLine & "Directory.CreateDirectory(" & path & ")", MsgBoxStyle.Critical)
End Try
@@ -661,7 +668,8 @@ Public Class frmIndex
End If
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Unexpected error in Name_Generieren - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unvorhergesehener Unexpected error in Name_Generieren - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Allgemeiner Unexpected error in Name_Generieren:")
Return False
End Try
@@ -704,7 +712,7 @@ Public Class frmIndex
End If
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> Manueller Indexvalue: " & idxvalue.ToString, False)
LOGGER.Info(" >> Manueller Indexvalue: " & idxvalue.ToString)
Count += 1
' den Typ des Zielindexes auslesen
@@ -725,12 +733,12 @@ Public Class frmIndex
End If
Else
If LogErrorsOnly = False Then
ClassLogger.Add(" >> No Indexing: indexname: " & indexname, False)
ClassLogger.Add(" >> No Indexing: is optional? " & optional_Index.ToString, False)
LOGGER.Info(" >> No Indexing: indexname: " & indexname)
LOGGER.Info(" >> No Indexing: is optional? " & optional_Index.ToString)
End If
End If
Else
ClassLogger.Add(" >> Indexvalue is empty or field is not indexed - Indexname: " & indexname, False)
LOGGER.Info(" >> Indexvalue is empty or field is not indexed - Indexname: " & indexname)
End If
Next
@@ -745,8 +753,8 @@ Public Class frmIndex
Dim indexname = row.Item("INDEXNAME").ToString
If indexiert = True And Indexvalue <> "" Then
If Indexvalue <> "EMPTY_OI" Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Auto Indexname: " & indexname.ToString, False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexvalue: " & Indexvalue.ToString, False)
LOGGER.Info(" >> Auto Indexname: " & indexname.ToString)
LOGGER.Info(" >> Indexvalue: " & Indexvalue.ToString)
Count += 1
' den Typ des Zielindexes auslesen
@@ -785,7 +793,8 @@ Public Class frmIndex
Catch ex As Exception
ClassLogger.Add("Unvorhergesehener Unexpected error in Write_Indizes - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info("Unvorhergesehener Unexpected error in Write_Indizes - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Error in Write_Indizes:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
@@ -793,7 +802,7 @@ Public Class frmIndex
End Function
Private Function WriteIndex2File(indexname As String, indexvalue As String)
Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexvalue: " & indexvalue.ToString, False)
LOGGER.Info(" >> Indexvalue: " & indexvalue.ToString)
Return ClassWindream.DateiIndexieren(CURRENT_NEWFILENAME, indexname, indexvalue)
Catch ex As Exception
MsgBox("Error in WriteIndex2File:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -810,13 +819,13 @@ Public Class frmIndex
Dim msgDisplayTo = msg.DisplayTo
Dim msgInternetAccountName = msg.InternetAccountName
If LogErrorsOnly = False Then
ClassLogger.Add("", False)
ClassLogger.Add(" >> msgInternetAccountName: " & msgInternetAccountName, False)
ClassLogger.Add(" >> SenderName: " & msg.SenderName, False)
ClassLogger.Add(" >> SenderEmailAddress: " & msg.SenderEmailAddress, False)
ClassLogger.Add(" >> ReceivedByName: " & msg.ReceivedByName, False)
ClassLogger.Add(" >> ReceivedByEmailAddress: " & msg.ReceivedByEmailAddress, False)
ClassLogger.Add("", False)
LOGGER.Info("")
LOGGER.Info(" >> msgInternetAccountName: " & msgInternetAccountName)
LOGGER.Info(" >> SenderName: " & msg.SenderName)
LOGGER.Info(" >> SenderEmailAddress: " & msg.SenderEmailAddress)
LOGGER.Info(" >> ReceivedByName: " & msg.ReceivedByName)
LOGGER.Info(" >> ReceivedByEmailAddress: " & msg.ReceivedByEmailAddress)
LOGGER.Info("")
End If
_step = "2"
@@ -852,7 +861,7 @@ Public Class frmIndex
Next
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & ClassWindream._WDObjekttyp & "'")
If IsNothing(DT) Then
ClassLogger.Add(" >> SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & ClassWindream._WDObjekttyp & "' RESULTED in NOTHING")
LOGGER.Info(" >> SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & ClassWindream._WDObjekttyp & "' RESULTED in NOTHING")
Return False
End If
If DT.Rows.Count = 1 Then
@@ -871,7 +880,7 @@ Public Class frmIndex
End If
Else
If messageIDPattern = String.Empty Then
ClassLogger.Add("A messageID could not be read!", True)
LOGGER.Info("A messageID could not be read!")
Else
If Not IsNothing(headers) Then
CURRENT_MESSAGEID = ClassEmailHeaderExtractor.extractFromHeader(headers, messageIDPattern)
@@ -879,7 +888,7 @@ Public Class frmIndex
CURRENT_MESSAGEID = ""
End If
Else
ClassLogger.Add("A messageID could not be read - messageheader nothing/messagIDpattern value!", True)
LOGGER.Info("A messageID could not be read - messageheader nothing/messagIDpattern value!")
End If
End If
@@ -912,7 +921,7 @@ Public Class frmIndex
_step = "4.2"
If IsNothing(msgDisplayTo) Then
_step = "4.3"
ClassLogger.Add(" >> DisplayTo in email is nothing - default will be set", False)
LOGGER.Info(" >> DisplayTo in email is nothing - default will be set")
emailTo = "NO RECIPIENT"
Else
_step = "4.4"
@@ -920,7 +929,7 @@ Public Class frmIndex
End If
If IsNothing(msgInternetAccountName) Then
_step = "4.5"
ClassLogger.Add(" >> InternetAccountName in email is nothing - default will be set", False)
LOGGER.Info(" >> InternetAccountName in email is nothing - default will be set")
emailFrom = ""
Else
_step = "4.6"
@@ -928,7 +937,7 @@ Public Class frmIndex
End If
Else
_step = "5"
If LogErrorsOnly = False Then ClassLogger.Add(" >> emailTo and From Extraction via messageheader.", False)
LOGGER.Info(" >> emailTo and From Extraction via messageheader.")
emailFrom = ClassEmailHeaderExtractor.extractFromHeader(headers, fromPattern) 'FromRegexList)
emailTo = ClassEmailHeaderExtractor.extractFromHeader(headers, toPattern) ' extractToAddress(headers, ToRegexList)
@@ -936,16 +945,16 @@ Public Class frmIndex
'Handler für leere emailTo-Adresse
If IsNothing(emailTo) Then
_step = "5.1"
If LogErrorsOnly = False Then ClassLogger.Add(" >> emailTo couldn't be extracted from messageheader...", False)
LOGGER.Info(" >> emailTo couldn't be extracted from messageheader...")
If (headers.Contains("exc") Or headers.Contains("exchange")) Then
_step = "5.2"
If LogErrorsOnly = False Then ClassLogger.Add(" >> ...try with LDAP-option", False)
LOGGER.Info(" >> ...try with LDAP-option")
Dim _email = GetUserEmailfromLDAP(msgDisplayTo)
_step = "5.3"
If _email <> "" Then
emailTo = _email
Else
ClassLogger.Add(">> email-adress couldn't be read from LDAP with name '" & msgDisplayTo & "'", False)
LOGGER.Info(">> email-adress couldn't be read from LDAP with name '" & msgDisplayTo & "'")
MsgBox("Could't get 'emailto' from messageHeader and later on with LDAP-Option." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation)
Return False
End If
@@ -961,7 +970,7 @@ Public Class frmIndex
emailTo = CURR_MISSING_MANUAL_VALUE
Else
_step = "5.4.3"
If LogErrorsOnly = False Then ClassLogger.Add(" >> no exchange patterns found in headers!", False)
LOGGER.Info(" >> no exchange patterns found in headers!")
MsgBox("Could't get 'emailto' from messageHeader and exhange-Patterns weren't found." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation)
Return False
End If
@@ -977,7 +986,7 @@ Public Class frmIndex
emailFrom = emailFrom.Replace(">", "")
Else
_step = "6.1.x"
ClassLogger.Add(" >> emailFrom is Nothing?!")
LOGGER.Info(" >> emailFrom is Nothing?!")
End If
If Not IsNothing(emailTo) Then
@@ -1001,20 +1010,20 @@ Public Class frmIndex
Next
Else
_step = "6.3"
ClassLogger.Add(" >> emailTo is Nothing?!")
LOGGER.Info(" >> emailTo is Nothing?!")
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> Headers-Content: ", True)
If LogErrorsOnly = False Then ClassLogger.Add(headers.ToString, False)
LOGGER.Info(" >> Headers-Content: ")
LOGGER.Info(headers.ToString)
End If
'Handler für leere emailFrom-Adresse
If IsNothing(emailFrom) Then
_step = "7"
ClassLogger.Add(" >> emailFrom couldn't be extracted from messageheader...", False)
LOGGER.Info(" >> emailFrom couldn't be extracted from messageheader...")
If Not IsNothing(msg.SenderEmailAddress) Then
If msg.SenderEmailAddress <> String.Empty Then
_step = "7.1"
ClassLogger.Add(" >> emailFrom via msg.SenderEmailAddress will be used instead!", False)
LOGGER.Info(" >> emailFrom via msg.SenderEmailAddress will be used instead!")
emailFrom = msg.SenderEmailAddress.ToString.Replace("'", "")
End If
End If
@@ -1034,8 +1043,8 @@ Public Class frmIndex
End If
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> emailFrom: " & emailFrom, False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> emailTo: " & emailTo, False)
LOGGER.Info(" >> emailFrom: " & emailFrom)
LOGGER.Info(" >> emailTo: " & emailTo)
'FROM
If Not IsNothing(emailFrom) Then
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_FROM").ToString, emailFrom)
@@ -1044,7 +1053,7 @@ Public Class frmIndex
Return False
End If
Else
ClassLogger.Add(" >> emailFrom is still Nothing?!")
LOGGER.Info(" >> emailFrom is still Nothing?!")
_step = "7.4"
End If
'TO
@@ -1055,14 +1064,14 @@ Public Class frmIndex
Return False
End If
Else
ClassLogger.Add(" >> emailTo is still Nothing?!")
LOGGER.Info(" >> emailTo is still Nothing?!")
_step = "7.5"
End If
' Dim subj As String = ClassFormFunctions.CleanInput(msg.Subject)
Dim subj As String = msg.Subject
If IsNothing(subj) Or subj = "" Then
ClassLogger.Add(" >> msg subject is empty...DEFAULT will be set", False)
LOGGER.Info(" >> msg subject is empty...DEFAULT will be set")
subj = "No subject"
MsgBox("Attention: Email was send without a subject - Default value 'No subject' will be used!", MsgBoxStyle.Exclamation)
Else
@@ -1072,16 +1081,16 @@ Public Class frmIndex
End If
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> Now all email-items will be indexed!", False)
LOGGER.Info(" >> Now all email-items will be indexed!")
If LogErrorsOnly = False Then ClassLogger.Add(" >> subj: " & subj, False)
LOGGER.Info(" >> subj: " & subj)
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_SUBJECT").ToString, subj)
CURRENT_MESSAGESUBJECT = subj
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices [Subject] - See log", MsgBoxStyle.Critical)
Return False
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> MessageDeliveryTime: " & msg.MessageDeliveryTime, False)
LOGGER.Info(" >> MessageDeliveryTime: " & msg.MessageDeliveryTime)
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_DATE_IN").ToString, msg.MessageDeliveryTime)
CURRENT_MESSAGEDATE = msg.MessageDeliveryTime
If indexierung_erfolgreich = False Then
@@ -1096,8 +1105,8 @@ Public Class frmIndex
End If
Catch ex As Exception
MsgBox("Error in SetEmailIndices:" & vbNewLine & ex.Message & vbNewLine & "Please check the configuration Email-Indexing!", MsgBoxStyle.Critical)
ClassLogger.Add("Error in SetEmailIndices (Step finisched: " & _step & "): " & ex.Message)
ClassLogger.Add("Stack-Trace: " & ex.StackTrace, True)
LOGGER.Info("Error in SetEmailIndices (Step finisched: " & _step & "): " & ex.Message)
LOGGER.Info("Stack-Trace: " & ex.StackTrace)
Return False
End Try
@@ -1128,7 +1137,8 @@ Public Class frmIndex
result = search.FindOne()
If result IsNot Nothing Then userEmail = result.Properties("mail").ToString
Catch ex As Exception
ClassLogger.Add(">> Unexpected Error in GetUserEmail from LDAP: " & ex.Message, False)
LOGGER.Info(">> Unexpected Error in GetUserEmail from LDAP: " & ex.Message)
LOGGER.Error(ex.Message)
End Try
End Using
@@ -1236,8 +1246,9 @@ Public Class frmIndex
End If
Return False
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Move_Rename - Fehler: " & vbNewLine & ex.Message)
ClassLogger.Add(" - Unexpected error in Move_Rename - Insert_String: " & Insert_String)
LOGGER.Info(" - Unexpected error in Move_Rename - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
LOGGER.Info(" - Unexpected error in Move_Rename - Insert_String: " & Insert_String)
Return True
End Try
@@ -1258,7 +1269,8 @@ Public Class frmIndex
ClassWindowLocation.SaveFormLocationSize(Me)
My.Settings.Save()
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Schliessen des Formulares - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Schliessen des Formulares - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Schliessen des Formulares:")
End Try
@@ -1291,14 +1303,14 @@ Public Class frmIndex
ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
Select Case DropType
Case "|FW_MSGONLY|"
If LogErrorsOnly = False Then ClassLogger.Add(" >> .msg-file from folderwatch", False)
LOGGER.Info(" >> .msg-file from folderwatch")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments) - from Folderwatch"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang) - aus Folderwatch:"
End If
Case "|OUTLOOK_MESSAGE|"
If LogErrorsOnly = False Then ClassLogger.Add(" >> .msg-file through dragdrop", False)
LOGGER.Info(" >> .msg-file through dragdrop")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments)"
Else
@@ -1354,7 +1366,8 @@ Public Class frmIndex
chkMultiIndexer.Visible = False
End If
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Öffnen des Formulares - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Öffnen des Formulares - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Öffnen des Formulares:")
End Try
End Sub
@@ -1368,7 +1381,8 @@ Public Class frmIndex
'Me.VWINDEX_AUTOMTableAdapter.Connection.ConnectionString = My.Settings.MyConnectionString
'Me.VWINDEX_MANTableAdapter.Connection.ConnectionString = My.Settings.MyConnectionString
Catch ex As Exception
ClassLogger.Add(" - Unexpected error in Speichern der Verbindung - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Speichern der Verbindung - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Unexpected error in Speichern der Verbindung: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
@@ -1394,14 +1408,15 @@ Public Class frmIndex
For Each oRoW As DataRow In DTTBGI_REGEX_DOCTYPE.Rows
Dim oOnlyFilename = Path.GetFileName(CURRENT_WORKFILE)
If Regex.IsMatch(oOnlyFilename, oRoW.Item("Regex")) Then
ClassLogger.Add($"There is a match on REGEX_DOCTYPE: {oRoW.Item("DOCTYPE")}")
LOGGER.Info($"There is a match on REGEX_DOCTYPE: {oRoW.Item("DOCTYPE")}")
cmbDokumentart.SelectedIndex = cmbDokumentart.FindStringExact(oRoW.Item("DOCTYPE"))
Exit For
End If
Next
End If
Catch ex As Exception
ClassLogger.Add(" - Unexpected error DTTBGI_REGEX_DOCTYPE - ErrorMessage: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error DTTBGI_REGEX_DOCTYPE - ErrorMessage: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
End Try
Me.TopMost = True
Me.BringToFront()
@@ -1410,7 +1425,7 @@ Public Class frmIndex
Sub Refresh_Dokart()
Try
Dim sql = String.Format("select * from VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", Environment.UserName)
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL DoctypeList: " & sql, False)
LOGGER.Info(" >> SQL DoctypeList: " & sql)
DT_DOKART = ClassDatabase.Return_Datatable(sql)
cmbDokumentart.DataSource = DT_DOKART
cmbDokumentart.ValueMember = DT_DOKART.Columns("DOCTYPE_ID").ColumnName
@@ -1419,7 +1434,8 @@ Public Class frmIndex
cmbDokumentart.AutoCompleteSource = AutoCompleteSource.ListItems
cmbDokumentart.SelectedIndex = -1
Catch ex As Exception
ClassLogger.Add(" - Unexpected error inm Laden der Dokumentarten - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error inm Laden der Dokumentarten - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Laden der Dokumentarten:")
End Try
End Sub
@@ -1449,7 +1465,7 @@ Public Class frmIndex
pnlIndex.Visible = True
LoadIndexe_Man()
Catch ex As System.Exception
ClassLogger.Add(" - Fehler Refresh_IndexeMan: DOKART-ID: " & dokartid & " - Fehler: " & vbNewLine & ex.Message & vbNewLine & sql)
LOGGER.Info(" - Fehler Refresh_IndexeMan: DOKART-ID: " & dokartid & " - Fehler: " & vbNewLine & ex.Message & vbNewLine & sql)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Refresh_IndexeMan:")
End Try
End Sub
@@ -1482,7 +1498,7 @@ Public Class frmIndex
If DT_INDEXEMAN.Rows.Count = 0 Then
ShowError("Keine Manuellen Indizes für die " & vbNewLine & "Dokumentart " & cmbDokumentart.Text & " definiert")
ClassLogger.Add(" - Keine Manuellen Indizes für die " & vbNewLine & "Dokumentart " & cmbDokumentart.Text & " definiert")
LOGGER.Info(" - Keine Manuellen Indizes für die " & vbNewLine & "Dokumentart " & cmbDokumentart.Text & " definiert")
End If
For Each DR As DataRow In DT_INDEXEMAN.Rows
Dim type = DR.Item("DATATYPE")
@@ -1599,7 +1615,8 @@ Public Class frmIndex
oResult = UserShortName
End Select
Catch ex As Exception
ClassLogger.Add("Error in ReplacePlaceholders: " & ex.Message)
LOGGER.Info("Error in ReplacePlaceholders: " & ex.Message)
LOGGER.Error(ex.Message)
oResult = Nothing
End Try
@@ -1626,7 +1643,7 @@ Public Class frmIndex
' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen
For Each oAutoIndexRow As DataRow In oDatatable
If LogErrorsOnly = False Then ClassLogger.Add("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...", False)
LOGGER.Info("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...")
Dim oSqlResult As String = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_RESULT"), "")
Dim oSqlActive As Boolean = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False)
Dim oSqlConnectionId As Integer = ClassHelper.NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1)
@@ -1683,7 +1700,7 @@ Public Class frmIndex
End If
Next
If oSqlResult <> String.Empty Then
If LogErrorsOnly = False Then ClassLogger.Add(" oSqlResult afrer first Replace: " & oSqlResult, False)
LOGGER.Info(" oSqlResult afrer first Replace: " & oSqlResult)
End If
' Ergebnis: Es wurden alle einfachen Platzhalter ersetzt, jetzt haben wir einen SQL Befehl,
@@ -1692,7 +1709,7 @@ Public Class frmIndex
' 2. Schritt: Vektorfelder ersetzen
Dim oVectorMatches As MatchCollection = oRegex.Matches(oSqlResult)
If oVectorMatches.Count > 0 Then
If LogErrorsOnly = False Then ClassLogger.Add(" There are " & oVectorMatches.Count & " matches for vectors!", False)
LOGGER.Info(" There are " & oVectorMatches.Count & " matches for vectors!")
Dim oIsFirstMatch = True
For Each oVectorMatch As Match In oVectorMatches
@@ -1720,7 +1737,7 @@ Public Class frmIndex
Next
Else
Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider)
If LogErrorsOnly = False Then ClassLogger.Add("Got a simple SQLResult: " & oResult.ToString, False)
LOGGER.Info("Got a simple SQLResult: " & oResult.ToString)
oAutoIndexRow.Item("Indexiert") = True
oAutoIndexRow.Item("Indexwert") = oResult
@@ -1751,7 +1768,7 @@ Public Class frmIndex
' For Each DR_AUTOINDEX As DataRow In DT_INDEXAUTOM.Rows
' Dim optionalIndex As Boolean
' Dim indexname As String = DR_AUTOINDEX.Item("INDEXNAME")
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Build Automatischer Index '" & indexname & "'", False)
' LOGGER.Info(" >> Build Automatischer Index '" & indexname & "'")
' If DR_AUTOINDEX.Item("SQL_RESULT").ToString <> String.Empty And CBool(DR_AUTOINDEX.Item("SQL_ACTIVE")) = True Then
' ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
' Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
@@ -1765,12 +1782,12 @@ Public Class frmIndex
' For Each element As System.Text.RegularExpressions.Match In elemente
' ' MsgBox(element.Value.ToUpper)
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Element: '" & element.Value & "'", False)
' LOGGER.Info(" >> Element: '" & element.Value & "'")
' '' wenn es sich nicht um dedizeirte Werte handelt (es sollen ja nur die Indexe ausgelesen werden)
' 'If Not element.Value.ToUpper = "[%SPALTE]" And Not element.Value.ToUpper = "[%VIEW]" Then
' 'die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
' Dim elementOhneSonderzeichen As String = element.Value.Substring(2, element.Value.Length - 3)
' If LogErrorsOnly = False Then ClassLogger.Add(" >> elementOhneSonderzeichen: '" & elementOhneSonderzeichen & "'", False)
' LOGGER.Info(" >> elementOhneSonderzeichen: '" & elementOhneSonderzeichen & "'")
' optionalIndex = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & elementOhneSonderzeichen & "')", MyConnectionString, True)
' If elementOhneSonderzeichen.StartsWith("$") Then 'windowsParameter
' Dim result = ""
@@ -1802,14 +1819,14 @@ Public Class frmIndex
' End Select
' Catch ex As Exception
' result = "XXX"
' ClassLogger.Add(" - Unexpected error in FillIndexe_Autom - WindowsFilePatterns - Fehler: " & vbNewLine & ex.Message)
' LOGGER.Info(" - Unexpected error in FillIndexe_Autom - WindowsFilePatterns - Fehler: " & vbNewLine & ex.Message)
' MsgBox("Unexpected error in Replacement WindowsFilePatterns: " & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Routine will continue - Please check logfile", MsgBoxStyle.Exclamation, )
' End Try
' If result <> "" Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> file-related parameter found: '" & elementOhneSonderzeichen & "' - Result: '" & result & "'", False)
' LOGGER.Info(" >> file-related parameter found: '" & elementOhneSonderzeichen & "' - Result: '" & result & "'")
' SqlString = SqlString.Replace(element.Value, result)
' Else
' ClassLogger.Add(">> Attention: file-related parameter '" & elementOhneSonderzeichen & "' returned an empty string!", False)
' LOGGER.Info(">> Attention: file-related parameter '" & elementOhneSonderzeichen & "' returned an empty string!")
' End If
' Else 'ganz normaler manueller Index
' 'den Platzhalter im SQL-String durch den Wert ersetzen
@@ -1817,17 +1834,17 @@ Public Class frmIndex
' If Not IsNothing(manIndexwert) Then
' SqlString = SqlString.Replace(element.Value, manIndexwert)
' Else
' ClassLogger.Add(">> Attention: manIndexwert is NOTHING - Funktion: FillIndexe_Autom", False)
' LOGGER.Info(">> Attention: manIndexwert is NOTHING - Funktion: FillIndexe_Autom")
' ' Return False
' End If
' End If
' Next
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Replaced and complete SQL-result: " & SqlString, False)
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Ausführen SQL....", False)
' LOGGER.Info(" >> Replaced and complete SQL-result: " & SqlString)
' LOGGER.Info(" >> Ausführen SQL....")
' Dim automatischerValue As String = ""
' automatischerValue = GetAutomaticIndexSQLValue(SqlString, DR_AUTOINDEX.Item("CONNECTION_ID"), DR_AUTOINDEX.Item("SQL_PROVIDER"))
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Ergebnis SQL: '" & automatischerValue & "'", False)
' LOGGER.Info(" >> Ergebnis SQL: '" & automatischerValue & "'")
' If automatischerValue <> String.Empty Then
' DR_AUTOINDEX.Item("Indexiert") = True
' DR_AUTOINDEX.Item("Indexwert") = automatischerValue
@@ -1837,8 +1854,8 @@ Public Class frmIndex
' DR_AUTOINDEX.Item("Indexwert") = "EMPTY_OI"
' ' Return True
' Else
' ClassLogger.Add(" - ACHTUNG: automatischerValue = String.Empty - Funktion: FillIndexe_Autom", False)
' ClassLogger.Add(" - SqlString: " & SqlString, False)
' LOGGER.Info(" - ACHTUNG: automatischerValue = String.Empty - Funktion: FillIndexe_Autom")
' LOGGER.Info(" - SqlString: " & SqlString)
' ' Return False
' End If
@@ -1849,7 +1866,7 @@ Public Class frmIndex
' Dim DEFAULTVALUE As String = DR_AUTOINDEX.Item("VALUE")
' 'Indexierung mit WindowsVariable
' If DEFAULTVALUE.StartsWith("$") Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit einer Windowsvariable: '" & DEFAULTVALUE & "'", False)
' LOGGER.Info(" >> Indexierung mit einer Windowsvariable: '" & DEFAULTVALUE & "'")
' Select Case DEFAULTVALUE.ToUpper
' Case "$filename_ext".ToUpper
' DEFAULTVALUE = Path.GetFileName(CURRENT_WORKFILE)
@@ -1875,9 +1892,9 @@ Public Class frmIndex
' DEFAULTVALUE = USER_SHORT_NAME
' End Select
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Ergebnis der Windowsvariable: '" & DEFAULTVALUE & "'", False)
' LOGGER.Info(" >> Ergebnis der Windowsvariable: '" & DEFAULTVALUE & "'")
' Else
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit einem Festen Wert: '" & DEFAULTVALUE & "'", False)
' LOGGER.Info(" >> Indexierung mit einem Festen Wert: '" & DEFAULTVALUE & "'")
' End If
' 'Den Wert in der Zwischentabelle speichern
' DR_AUTOINDEX.Item("Indexiert") = True
@@ -1892,7 +1909,7 @@ Public Class frmIndex
' Return True
' End If
'Catch ex As System.Exception
' ClassLogger.Add(" - Unexpected error in FillIndexe_Autom - Fehler: " & vbNewLine & ex.Message)
' LOGGER.Info(" - Unexpected error in FillIndexe_Autom - Fehler: " & vbNewLine & ex.Message)
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in FillIndexe_Autom")
' Return False
'End Try
@@ -1936,25 +1953,25 @@ Public Class frmIndex
Private Function WORK_FILE()
Try
Me.VWDDINDEX_MANTableAdapter.Fill(Me.MyDataset.VWDDINDEX_MAN, CURRENT_DOKART_ID)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Manuelle Indexe geladen", False)
LOGGER.Info(" >> Manuelle Indexe geladen")
If MyDataset.VWDDINDEX_MAN.Rows.Count > 0 Then
CURRENT_DOKART_ID = Me.cmbDokumentart.SelectedValue
If CheckWrite_IndexeMan(Me.cmbDokumentart.SelectedValue) = True Then
'##### Manuelle Indexe indexiert #####
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei " & CURRENT_WORKFILE & " wird nun indexiert...", False)
LOGGER.Info(" >> Datei " & CURRENT_WORKFILE & " wird nun indexiert...")
If FillIndexe_Autom(Me.cmbDokumentart.SelectedValue) = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...FillIndexe_Autom durchlaufen", False)
LOGGER.Info(" ...FillIndexe_Autom durchlaufen")
'Den Zielnamen zusammenbauen
If Name_Generieren() = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Name_Generieren durchlaufen", False)
LOGGER.Info(" ...Name_Generieren durchlaufen")
'Dokumentenviewer ausblenden um keinen Zugriffsfehler zu produzieren
DocumentViewer1.Done()
If LogErrorsOnly = False Then ClassLogger.Add(" ...Viewer geschlossen", False)
LOGGER.Info(" ...Viewer geschlossen")
'Die Datei verschieben
If Move_File2_Target() = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" ...Move_File2_Target durchlaufen", False)
LOGGER.Info(" ...Move_File2_Target durchlaufen")
'Die Originaldatei löschen
If DropType = "|DROPFROMFSYSTEM|" Then
If CURR_DELETE_ORIGIN = True Then
@@ -1979,7 +1996,7 @@ Public Class frmIndex
End If
CURRENT_LASTDOKART = cmbDokumentart.Text
ClassLogger.Add(" >> Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.", False)
LOGGER.Info(" >> Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
Dim oDEL As String = "DELETE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID
ClassDatabase.Execute_non_Query(oDEL, True)
Return True
@@ -2020,7 +2037,7 @@ Public Class frmIndex
Try
If CURR_DELETE_ORIGIN = False Then
If CURRENT_DROPTYPE <> "FW_SIMPLEINDEXER" Then
If LogErrorsOnly = False Then ClassLogger.Add(">> DeleteFile - CURR_DELETE_ORIGIN = False", False)
LOGGER.Info(">> DeleteFile - CURR_DELETE_ORIGIN = False")
Exit Sub
End If
@@ -2166,8 +2183,8 @@ Public Class frmIndex
Catch ex As Exception
MsgBox("Error in Insert-History - View logfile: " & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add(" - Unexpected error in Insert-History - Fehler: " & vbNewLine & ex.Message)
ClassLogger.Add(" - Unexpected error in Insert-History - SQL: " & Insert_String)
LOGGER.Info(" - Unexpected error in Insert-History - Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - Unexpected error in Insert-History - SQL: " & Insert_String)
err = True
End Try
Else
@@ -2210,16 +2227,16 @@ Public Class frmIndex
'####
' alle Vorkommen innerhalb des Ordnerstrings durchlaufen
For Each element As Match In elemente
If LogErrorsOnly = False Then ClassLogger.Add(" >> Elementname in FolderString: '" & element.ToString & "'", False)
LOGGER.Info(" >> Elementname in FolderString: '" & element.ToString & "'")
Select Case element.Value.Substring(2, 1).ToUpper
'Manueller Indexwert
Case "M"
Dim ManIndexname = element.Value.Substring(3, element.Value.Length - 4)
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & ManIndexname & "')", MyConnectionString, True)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch den Indexwert aus '" & ManIndexname & "' auszulesen.", False)
LOGGER.Info(" >> Versuch den Indexwert aus '" & ManIndexname & "' auszulesen.")
Dim ManIndex_Value As String = GetManIndex_Value(ManIndexname, "FILE", optional_index)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Ergebnis/Wert für neuen Ordner: '" & ManIndexname & "'", False)
LOGGER.Info(" >> Ergebnis/Wert für neuen Ordner: '" & ManIndexname & "'")
If Not ManIndex_Value = String.Empty Then
If IsDate(ManIndex_Value) Then
ManIndex_Value = CDate(ManIndex_Value).ToString("yyyyMMdd")
@@ -2227,32 +2244,32 @@ Public Class frmIndex
ManIndex_Value = ClassFilehandle.CleanFilename(ManIndex_Value, "")
myDynamicFolder = myDynamicFolder.Replace(element.ToString, ManIndex_Value)
If LogErrorsOnly = False Then ClassLogger.Add(" >> FolderPattern: '" & myDynamicFolder & "'", False)
LOGGER.Info(" >> FolderPattern: '" & myDynamicFolder & "'")
Else
If optional_index = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Optionaler Indexwert ist NICHT gefüllt", False)
LOGGER.Info(" >> Optionaler Indexwert ist NICHT gefüllt")
Else
ClassLogger.Add(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!", True)
LOGGER.Info(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!")
Return True
End If
End If
Case "A"
Dim AutoIndexname = element.Value.Substring(3, element.Value.Length - 4)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch den Auto-Indexwert aus '" & AutoIndexname & "' auszulesen.", False)
LOGGER.Info(" >> Versuch den Auto-Indexwert aus '" & AutoIndexname & "' auszulesen.")
Dim AutoIndex_Value As String = GetAutoIndex_Value(AutoIndexname)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Ergebnis/Wert für neuen Ordner: '" & AutoIndexname & "'", False)
LOGGER.Info(" >> Ergebnis/Wert für neuen Ordner: '" & AutoIndexname & "'")
If Not AutoIndex_Value = String.Empty Then
AutoIndex_Value = ClassFilehandle.CleanFilename(AutoIndex_Value, "")
If AutoIndex_Value = "EMPTY_OI" Then
myDynamicFolder = myDynamicFolder.Replace(element.ToString, "")
Else
myDynamicFolder = myDynamicFolder.Replace(element.ToString, AutoIndex_Value)
If LogErrorsOnly = False Then ClassLogger.Add(" >> FolderPattern: '" & myDynamicFolder & "'", False)
LOGGER.Info(" >> FolderPattern: '" & myDynamicFolder & "'")
End If
Else
ClassLogger.Add(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!", True)
LOGGER.Info(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!")
End If
Case "V"
Dim oElementTemp As String
@@ -2279,9 +2296,9 @@ Public Class frmIndex
oElementTemp = My.Computer.Clock.LocalTime.Year & "-" & _Month
End Select
myDynamicFolder = myDynamicFolder.Replace(element.ToString, oElementTemp)
If LogErrorsOnly = False Then ClassLogger.Add(" >> FolderPatter nach V-Element: '" & myDynamicFolder & "'", False)
LOGGER.Info(" >> FolderPatter nach V-Element: '" & myDynamicFolder & "'")
Case Else
ClassLogger.Add(" - Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper)
LOGGER.Info(" - Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper)
If USER_LANGUAGE = "de-DE" Then
MsgBox("Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper, MsgBoxStyle.Exclamation, "Unexpected error in Name generieren:")
@@ -2293,13 +2310,13 @@ Public Class frmIndex
If LogErrorsOnly = False Then ClassLogger.Add(" >> Den Root-Folder zusammenfügen>> ", False)
LOGGER.Info(" >> Den Root-Folder zusammenfügen>> ")
Dim oNewFullpath As String = ORootFolder & "\" & myDynamicFolder & "\"
oNewFullpath = oNewFullpath.Replace("\\", "\")
oNewFullpath = Path.Combine(ORootFolder, myDynamicFolder)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Fullpath (mit evtl. Sonderzeichen (SZ)) '" & oNewFullpath & "'", False)
LOGGER.Info(" >> Fullpath (mit evtl. Sonderzeichen (SZ)) '" & oNewFullpath & "'")
Dim invalidPathChars() As Char = Path.GetInvalidPathChars()
For Each sonderChar As Char In invalidPathChars
'Sonderzeichen ausser Whitespace entfernen
@@ -2309,13 +2326,14 @@ Public Class frmIndex
End If
End If
Next sonderChar
If LogErrorsOnly = False Then ClassLogger.Add(" >> Fullpath (ohne SZ) '" & oNewFullpath & "'", False)
LOGGER.Info(" >> Fullpath (ohne SZ) '" & oNewFullpath & "'")
If Directory.Exists(oNewFullpath) = False Then
Try
Directory.CreateDirectory(oNewFullpath)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Folder '" & oNewFullpath & "' wurde angelegt", False)
LOGGER.Info(" >> Folder '" & oNewFullpath & "' wurde angelegt")
Catch ex As Exception
ClassLogger.Add(" >> Error in CreateFolderforIndex-Method - Root Folder '" & oNewFullpath & "' could not be created. " & ex.Message, True)
LOGGER.Info(" >> Error in CreateFolderforIndex-Method - Root Folder '" & oNewFullpath & "' could not be created. " & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Attention: Root Folder '" & oNewFullpath & "' could not be created." & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
@@ -2327,7 +2345,7 @@ Public Class frmIndex
Return True
Catch ex As Exception
MsgBox("Unexpected Error in CreateFolderforIndex-Method:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add(" >> Fehler in CrFolderForIndex: " & ex.Message, True)
LOGGER.Info(" >> Fehler in CrFolderForIndex: " & ex.Message)
Return False
End Try
End Function