This commit is contained in:
Digital Data - Marlon Schreiber 2017-10-06 10:32:19 +02:00
parent e54d8ce325
commit f8bf313d71
12 changed files with 314 additions and 304 deletions

View File

@ -67,7 +67,7 @@ Public Class ClassLoggerDI
If ClassLoggerDI.OpenFile Then If ClassLoggerDI.OpenFile Then
Try Try
If mit_prefix Then If mit_prefix Then
ClassLoggerDI.StreamWriter.WriteLine(" # Nachricht (" & System.DateTime.Now & "): " & information) ClassLoggerDI.StreamWriter.WriteLine(System.DateTime.Now & " >> " & information)
Else Else
ClassLoggerDI.StreamWriter.WriteLine(information) ClassLoggerDI.StreamWriter.WriteLine(information)
End If End If

View File

@ -57,9 +57,9 @@ Public Class ClassLoggerNI
If My.Settings.vLogErrorsonly = False Or _inJedemFallLoggen = True Then If My.Settings.vLogErrorsonly = False Or _inJedemFallLoggen = True Then
Select Case _mitPraefix Select Case _mitPraefix
Case False Case False
ClassLoggerNI.Add(Now.ToString & " " & _error, False) ClassLoggerNI.Add(_error, False)
Case True Case True
ClassLoggerNI.Add(Now.ToString & " " & _error, True) ClassLoggerNI.Add(_error, True)
End Select End Select
End If End If
End Sub End Sub
@ -87,7 +87,7 @@ Public Class ClassLoggerNI
If ClassLoggerNI.OpenFile Then If ClassLoggerNI.OpenFile Then
Try Try
If mit_prefix Then If mit_prefix Then
ClassLoggerNI.StreamWriter.WriteLine("Nachricht (" & System.DateTime.Now & "): " & information) ClassLoggerNI.StreamWriter.WriteLine(System.DateTime.Now & " >> " & information)
Else Else
ClassLoggerNI.StreamWriter.WriteLine(Now.ToString & " " & information) ClassLoggerNI.StreamWriter.WriteLine(Now.ToString & " " & information)
End If End If

View File

@ -58,7 +58,7 @@
If ClassLoggerService.OpenFile Then If ClassLoggerService.OpenFile Then
Try Try
If mit_prefix Then If mit_prefix Then
ClassLoggerService.StreamWriter.WriteLine("Nachricht (" & System.DateTime.Now & "): " & information) ClassLoggerService.StreamWriter.WriteLine(System.DateTime.Now & " >> " & information)
Else Else
ClassLoggerService.StreamWriter.WriteLine(information) ClassLoggerService.StreamWriter.WriteLine(information)
End If End If

View File

@ -42,8 +42,8 @@ Public Class ClassMO_RE
Dim _path, _praefix, _kunde, _ziel As String Dim _path, _praefix, _kunde, _ziel As String
If My.Settings.vLogErrorsonly = False Then If My.Settings.vLogErrorsonly = False Then
ClassLoggerNI.Add(" - Ausgelesener Kundenidentifikator: " & _MRKUNDE, False) ClassLoggerNI.Add(">> Ausgelesener Kundenidentifikator: " & _MRKUNDE, False)
ClassLoggerNI.Add(" - Ausgelesene Dokumentart: " & _MRDOKART, False) ClassLoggerNI.Add(">> Ausgelesene Dokumentart: " & _MRDOKART, False)
End If End If
If _MRKUNDE Is Nothing Or _MRKUNDE = "" Then If _MRKUNDE Is Nothing Or _MRKUNDE = "" Then
'Auslesen der MORE-Konfiguration für Kunde und Standard 'Auslesen der MORE-Konfiguration für Kunde und Standard
@ -123,8 +123,8 @@ Public Class ClassMO_RE
_newfilename = _praefix _newfilename = _praefix
_newfilename = _newfilename & _MRDeskrIndex & extension _newfilename = _newfilename & _MRDeskrIndex & extension
If My.Settings.vLogErrorsonly = False Then If My.Settings.vLogErrorsonly = False Then
ClassLoggerNI.Add(" - Ausgelesener Pfad: " & _path, False) ClassLoggerNI.Add(">> Ausgelesener Pfad: " & _path, False)
ClassLoggerNI.Add(" - Neuer Dateiname: " & _newfilename, False) ClassLoggerNI.Add(">> Neuer Dateiname: " & _newfilename, False)
End If End If
'### VERSIONIERUNG ### '### VERSIONIERUNG ###
Dim version As Integer = 2 Dim version As Integer = 2
@ -139,11 +139,11 @@ Public Class ClassMO_RE
_ziel = _path & "\" & _newfilename _ziel = _path & "\" & _newfilename
If My.Settings.vLogErrorsonly = False Then If My.Settings.vLogErrorsonly = False Then
If neuername.Contains("~") Then ClassLoggerNI.Add(" - Neuer Dateiname: " & _newfilename, False) If neuername.Contains("~") Then ClassLoggerNI.Add(">> Neuer Dateiname: " & _newfilename, False)
ClassLoggerNI.Add(" - Neuer Dateiname: " & _newfilename, False) ClassLoggerNI.Add(">> Neuer Dateiname: " & _newfilename, False)
ClassLoggerNI.Add(" - Quelle: " & vDatei, False) ClassLoggerNI.Add(">> Quelle: " & vDatei, False)
ClassLoggerNI.Add(" - Ziel: " & _ziel, False) ClassLoggerNI.Add(">> Ziel: " & _ziel, False)
End If End If
If myFolderPath <> _path Then If myFolderPath <> _path Then

View File

@ -57,7 +57,7 @@
If ClassMoveRenameLogger.OpenFile Then If ClassMoveRenameLogger.OpenFile Then
Try Try
If mit_prefix Then If mit_prefix Then
ClassMoveRenameLogger.StreamWriter.WriteLine("Nachricht (" & System.DateTime.Now & "): " & information) ClassMoveRenameLogger.StreamWriter.WriteLine(System.DateTime.Now & " >> " & information)
Else Else
ClassMoveRenameLogger.StreamWriter.WriteLine(information) ClassMoveRenameLogger.StreamWriter.WriteLine(information)
End If End If

View File

@ -260,7 +260,7 @@ Public Class ClassNIDatenbankzugriff
Try Try
Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn) Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn)
Oracle_Command.AddToStatementCache = True Oracle_Command.AddToStatementCache = True
ClassLoggerNI.Add(" - Oracle-Command: " & plsqlcommand) ClassLoggerNI.Add(">> Oracle-Command: " & plsqlcommand)
Catch ex As Exception Catch ex As Exception
ClassLoggerNI.Add("ClassNIDatenbankzugriff.ExecuteonOracleDb", "plsqlcommand definieren", ex) ClassLoggerNI.Add("ClassNIDatenbankzugriff.ExecuteonOracleDb", "plsqlcommand definieren", ex)
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
@ -354,7 +354,7 @@ Public Class ClassNIDatenbankzugriff
Try Try
Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn) Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn)
Oracle_Command.AddToStatementCache = True Oracle_Command.AddToStatementCache = True
ClassLoggerNI.Add(" - Oracle-Command: " & plsqlcommand) ClassLoggerNI.Add(">> Oracle-Command: " & plsqlcommand)
Catch ex As Exception Catch ex As Exception
ClassLoggerNI.Add("ClassNIDatenbankzugriff.ExecuteonOracleClient", "plsqlcommand definieren", ex) ClassLoggerNI.Add("ClassNIDatenbankzugriff.ExecuteonOracleClient", "plsqlcommand definieren", ex)
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
@ -376,7 +376,7 @@ Public Class ClassNIDatenbankzugriff
'Do While Oracle_Command.ExecuteNonQuery() 'Do While Oracle_Command.ExecuteNonQuery()
' count += 1 ' count += 1
' If count > 2000 Then ' If count > 2000 Then
' ClassLoggerNI.Add(" >> Oracle_Command.ExecuteNonQuery > 2000", False) ' ClassLoggerNI.Add(">> Oracle_Command.ExecuteNonQuery > 2000", False)
' Oracle_Conn.Close() ' Oracle_Conn.Close()
' Timer_Stop() ' Timer_Stop()
' Return 0 ' Return 0
@ -576,8 +576,8 @@ Public Class ClassNIDatenbankzugriff
Try Try
Select Case dt.Rows.Count Select Case dt.Rows.Count
Case 0 Case 0
ClassLoggerNI.Add(" >> SQL-ERGEBNIS liefert keine Zeile zurück!", False) ClassLoggerNI.Add(">> SQL-ERGEBNIS liefert keine Zeile zurück!", False)
ClassLoggerNI.Add(" >> SQL-Befehl: " & selectAnweisung, False) ClassLoggerNI.Add(">> SQL-Befehl: " & selectAnweisung, False)
If QuellVektor = True Then If QuellVektor = True Then
SQLconnect.Close() SQLconnect.Close()
Return "Empty Row" Return "Empty Row"

View File

@ -389,7 +389,7 @@ Public Class ClassNIWindream
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp", False)
convertValue = CDbl(value) convertValue = CDbl(value)
Case WMObjectVariableValueTypeCurrency Case WMObjectVariableValueTypeCurrency
ClassLoggerNI.Add(" - Typ des windream-Indexes: WMObjectVariableValueTypeCurrency", False) ClassLoggerNI.Add(">> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency", False)
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden 'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value)) Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
convertValue = aValueWrapper convertValue = aValueWrapper
@ -579,10 +579,10 @@ Public Class ClassNIWindream
End If End If
Else Else
ClassLoggerNI.Add(" - Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING", False) ClassLoggerNI.Add(">> Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING", False)
End If End If
Else Else
ClassLoggerNI.Add(" - Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING", False) ClassLoggerNI.Add(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING", False)
End If End If
Else Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> (RI) Vektorfeld wird mit MEHREREN Werten gefüllt ", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> (RI) Vektorfeld wird mit MEHREREN Werten gefüllt ", False)
@ -651,20 +651,20 @@ Public Class ClassNIWindream
'Die Änderungen festsschreiben/speichern 'Die Änderungen festsschreiben/speichern
oDocument.Save() oDocument.Save()
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(">> Indexierung erfolgreich beendet (Save ...", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Indexierung erfolgreich beendet (Save ...", False)
Else Else
ClassLoggerNI.Add(" - Achtung: VektorArray Is NOTHING", False) ClassLoggerNI.Add(">> Achtung: VektorArray Is NOTHING", False)
oDocument.Save() oDocument.Save()
Return True Return True
End If End If
Else Else
ClassLoggerNI.Add(" - Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING", False) ClassLoggerNI.Add(">> Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING", False)
oDocument.Save() oDocument.Save()
Return True Return True
End If End If
Else Else
ClassLoggerNI.Add(" - Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING", False) ClassLoggerNI.Add(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING", False)
oDocument.Save() oDocument.Save()
Return True Return True
End If End If
@ -863,7 +863,7 @@ Public Class ClassNIWindream
Dim value = _state Dim value = _state
Dim convertValue Dim convertValue
'Den Typ des Index-Feldes auslesen 'Den Typ des Index-Feldes auslesen
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add("- Typ des windream-Indexes: " & vType.ToString) If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Typ des windream-Indexes: " & vType.ToString)
Select Case (vType) Select Case (vType)
Case WMObjectVariableValueTypeBoolean Case WMObjectVariableValueTypeBoolean
convertValue = CBool(value) convertValue = CBool(value)
@ -958,7 +958,7 @@ Public Class ClassNIWindream
Return Nothing Return Nothing
End Select End Select
Dim WMObjects As Object Dim WMObjects As Object
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" - Start der Suche: " & Now, False) If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Start der Suche: " & Now, False)
' System.Threading.Thread.Sleep(200000) ' System.Threading.Thread.Sleep(200000)
WMObjects = oSearch.Execute WMObjects = oSearch.Execute
Return oSearch.execute Return oSearch.execute

View File

@ -208,6 +208,7 @@ Public Class ClassWD_Rechte
''' <returns>Boolean True wenn erfolgreich</returns> ''' <returns>Boolean True wenn erfolgreich</returns>
''' <remarks></remarks> ''' <remarks></remarks>
Public Function FileFolder_DeleteAndOrSetRight(docpath As String, profilID As Integer, regelid As Integer, folgeRegel As Boolean, createdFolder As String, _form As Boolean) As Boolean Public Function FileFolder_DeleteAndOrSetRight(docpath As String, profilID As Integer, regelid As Integer, folgeRegel As Boolean, createdFolder As String, _form As Boolean) As Boolean
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(String.Format("Working on regelid {0}.", regelid.ToString))
On Error Resume Next On Error Resume Next
Dim deleteRights As Boolean = False Dim deleteRights As Boolean = False
Dim domain, Server, Username, PW As String Dim domain, Server, Username, PW As String
@ -298,7 +299,7 @@ Public Class ClassWD_Rechte
Else Else
_WCCase = 3 _WCCase = 3
End If End If
frmNIHauptseite.Logger(" * AD _WCCase = " & _WCCase, False) frmNIHauptseite.Logger("* AD _WCCase = " & _WCCase, False)
Indexname = Indexname.Replace("%", "") Indexname = Indexname.Replace("%", "")
Indexwert = oWMObject.GetVariableValue(Indexname) Indexwert = oWMObject.GetVariableValue(Indexname)
Dim mask Dim mask
@ -314,7 +315,7 @@ Public Class ClassWD_Rechte
Case 3 Case 3
mask = Indexwert mask = Indexwert
End Select End Select
frmNIHauptseite.Logger(" * AD mask = '" & mask & "'", False, True) frmNIHauptseite.Logger("* AD mask = '" & mask & "'", False, True)
Dim _WDRecht = GetWDRightNames_byMask(mask, _UserOrGroup, _form) Dim _WDRecht = GetWDRightNames_byMask(mask, _UserOrGroup, _form)
If _WDRecht IsNot Nothing And _WDRecht.length > 0 Then If _WDRecht IsNot Nothing And _WDRecht.length > 0 Then
@ -388,7 +389,7 @@ Public Class ClassWD_Rechte
Dim lret = Object2Change.LockRights() Dim lret = Object2Change.LockRights()
If CBool(lret) = False Then If CBool(lret) = False Then
If Not Object2Change.aLocked Then If Not Object2Change.aLocked Then
Object2Change.lock() Object2Change.lock()
If Err.Number <> 0 Then If Err.Number <> 0 Then
Dim msg = "Die Datei konnte nicht erfolgreich gelocked werden!: Err.Number: " & Err.Number & vbCrLf & Err.Description Dim msg = "Die Datei konnte nicht erfolgreich gelocked werden!: Err.Number: " & Err.Number & vbCrLf & Err.Description
If _form = True Then If _form = True Then
@ -523,7 +524,7 @@ Public Class ClassWD_Rechte
End If End If
Next Next
If _form = False Then If _form = False Then
frmNIHauptseite.Logger(" * Die Rechte wurden erfolgreich entfernt.", False, True) frmNIHauptseite.Logger("* Die Rechte wurden erfolgreich entfernt.", False, True)
End If End If
@ -546,6 +547,7 @@ Public Class ClassWD_Rechte
Return _Erfolgreich Return _Erfolgreich
End If End If
AccessRightsObject2Change.Insert2(oGroup, _lRight) 'WMAccessRightAllRights) AccessRightsObject2Change.Insert2(oGroup, _lRight) 'WMAccessRightAllRights)
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(String.Format("GroupRight {0} was set with parameter {1}", _GruppenUserRecht, _lRight))
ElseIf _UserOrGroup = "user" Then ElseIf _UserOrGroup = "user" Then
' User holen ' User holen
oUSer = oSession.GetWMObjectByName(WMEntityUser, _GruppenUserRecht) oUSer = oSession.GetWMObjectByName(WMEntityUser, _GruppenUserRecht)
@ -560,6 +562,7 @@ Public Class ClassWD_Rechte
Return _Erfolgreich Return _Erfolgreich
End If End If
AccessRightsObject2Change.Insert2(oUSer, _lRight) 'WMAccessRightAllRights) AccessRightsObject2Change.Insert2(oUSer, _lRight) 'WMAccessRightAllRights)
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(String.Format("UserRight {0} was set with parameter {1}", _GruppenUserRecht, _lRight))
ElseIf _UserOrGroup = "allfolderrights".ToLower Then ElseIf _UserOrGroup = "allfolderrights".ToLower Then
' und nun jeden Rechteträger verarbeiten ' und nun jeden Rechteträger verarbeiten
For Each aRightRelation In AccessRightsParent For Each aRightRelation In AccessRightsParent
@ -615,6 +618,7 @@ Public Class ClassWD_Rechte
AccessRightsObject2Change.Insert2(UserOrGroup, dwAccessRight) AccessRightsObject2Change.Insert2(UserOrGroup, dwAccessRight)
End If End If
End If End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(String.Format("AllFolderRights {0} was set.", _msg))
Next Next
End If End If
Err.Clear() Err.Clear()
@ -632,12 +636,15 @@ Public Class ClassWD_Rechte
' Speichern nicht vergessen ' Speichern nicht vergessen
Object2Change.Save() Object2Change.Save()
If Err.Number <> 0 Then If Err.Number <> 0 Then
Dim msg = "Fehler bei Object2Change.Save( - Err.Number: " & Err.Number & vbCrLf & Err.Description Dim msg = "UNEXPECTED ERROR IN Object2Change.Save(Err.Number: " & Err.Number & vbCrLf & Err.Description
If _form = True Then If _form = True Then
MsgBox(msg, MsgBoxStyle.Critical) MsgBox(msg, MsgBoxStyle.Critical)
Else Else
ClassLoggerNI.Add(msg) ClassLoggerNI.Add(msg)
End If End If
If Object2Change.aLocked = True Then
Object2Change.unlock()
End If
_Erfolgreich = False _Erfolgreich = False
Return _Erfolgreich Return _Erfolgreich
End If End If
@ -657,7 +664,7 @@ Public Class ClassWD_Rechte
End If End If
If _form = False Then If _form = False Then
ClassLoggerNI.Add(" >> Das Recht '" & _GruppenUserRecht & "' wurde erfolgreich gesetzt", False) ClassLoggerNI.Add(">> Das Recht '" & _GruppenUserRecht & "' wurde erfolgreich gesetzt", False)
End If End If
'jetzt True zurückgeben 'jetzt True zurückgeben

View File

@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.4.2")> <Assembly: AssemblyVersion("2.0.4.3")>
<Assembly: AssemblyFileVersion("1.5.1.0")> <Assembly: AssemblyFileVersion("1.5.1.0")>

View File

@ -11,7 +11,11 @@ Public Class clsNIFulltext
' einen Regulären Ausdruck laden ' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(pattern) Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(pattern)
' die Vorkommen im SQL-String auslesen 'Instantiate the regular expression object.
Dim r As Regex = New Regex(pattern, RegexOptions.IgnoreCase)
' Match the regular expression pattern against a text string.
Dim regexMatch As Match = r.Match(fulltext)
' die Vorkommen im Volltext auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(fulltext) Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(fulltext)
' alle Vorkommen der windream-Indexe im SQL-String durchlaufen ' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
Dim Gesamtanzahl As Integer = 0 Dim Gesamtanzahl As Integer = 0
@ -33,126 +37,126 @@ Public Class clsNIFulltext
'Else 'Else
' ClassLoggerNI.Add("The match for groups failed.", False) ' ClassLoggerNI.Add("The match for groups failed.", False)
'End If 'End If
' Instantiate the regular expression object.
Dim r As Regex = New Regex(pattern, RegexOptions.IgnoreCase)
' Match the regular expression pattern against a text string.
Dim m As Match = r.Match(fulltext)
Dim matchcount As Integer = 0 Dim matchcount As Integer = 0
If m.Success And elemente.Count <= 1 Then If regexMatch.Success = False Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add("Using RegexGroups....MAtchCount(" & m.Groups.Count & ")", False) ClassLoggerNI.Add(">> ACHTUNG: Keine Vorkommen für diese Regular Expression gefunden", False)
Gesamtanzahl = m.Groups.Count - 1 Return Nothing
Dim i As Integer
For i = 1 To m.Groups.Count - 1
Dim g As Group = m.Groups(i)
' Dim cc As CaptureCollection = g.Captures
' Dim j As Integer
' For j = 0 To cc.Count - 1
' Dim c As Capture = cc(j)
' MsgBox("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Next
Console.WriteLine("Group" & i & "='" & g.ToString() & "'")
If Pos_From = 0 And Gesamtanzahl = 1 Then
'Das Ende ist erreicht - Ausstieg
ReDim Preserve Ergebnis(0)
Ergebnis(0) = Convert.ToString(g.ToString)
Exit_For = True
Exit For
End If
If Pos_From <> 10000 Then
If Pos_To <> 0 And Pos_From >= Pos_From Then
' den übergebenen/gefundenen IndexWert, eintragen
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(g.ToString)
'Das Ende ist erreicht - Ausstieg
If Pos_To = Gesamtanzahl Then
Exit_For = True
End If
Else
'Es gibt nur From, also auch nur einen Wert
If Pos_From = Gesamtanzahl Then
'Das Ende ist erreicht - Ausstieg
ReDim Preserve Ergebnis(0)
Ergebnis(0) = Convert.ToString(g.ToString)
Exit_For = True
End If
End If
Else
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
' den übergebenen/gefundenen IndexWert, eintragen
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(g.ToString)
End If
If Exit_For = True Then
Exit For
End If
' Dim cc As CaptureCollection = g.Captures
' Dim j As Integer
' For j = 0 To cc.Count - 1
' Dim c As Capture = cc(j)
' MsgBox("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Console.WriteLine("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Next
Next
m = m.NextMatch()
Else Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add("Using Matchelements.....", False) If (regexMatch.Groups.Count - 1) >= 1 Then
For Each element As System.Text.RegularExpressions.Match In elemente If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Using RegexGroups....MatchCount(" & regexMatch.Groups.Count - 1 & ")", False)
Gesamtanzahl += 1 Gesamtanzahl = regexMatch.Groups.Count - 1
'MsgBox(element.ToString) For y = 1 To regexMatch.Groups.Count - 1
'filling the row with values. Item property is used to set the field value. Dim g As Group = regexMatch.Groups(y)
If Pos_From <> 10000 Then g.ToString()
If Pos_To <> 0 And Pos_From >= Pos_From Then Next
' den übergebenen/gefundenen IndexWert, eintragen Dim i As Integer
ReDim Preserve Ergebnis(Gesamtanzahl - 1) For i = 1 To regexMatch.Groups.Count - 1
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(element.ToString) Dim g As Group = regexMatch.Groups(i)
' Dim cc As CaptureCollection = g.Captures
' Dim j As Integer
' For j = 0 To cc.Count - 1
' Dim c As Capture = cc(j)
' MsgBox("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Next
Console.WriteLine("Group" & i & "='" & g.ToString() & "'")
If Pos_From = 0 And Gesamtanzahl = 1 Then
'Das Ende ist erreicht - Ausstieg 'Das Ende ist erreicht - Ausstieg
If Pos_To = Gesamtanzahl Then ReDim Preserve Ergebnis(0)
Exit_For = True Ergebnis(0) = Convert.ToString(g.ToString)
Exit_For = True
Exit For
End If
If Pos_From <> 10000 Then
If Pos_To <> 0 And Pos_From >= Pos_From Then
' den übergebenen/gefundenen IndexWert, eintragen
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(g.ToString)
'Das Ende ist erreicht - Ausstieg
If Pos_To = Gesamtanzahl Then
Exit_For = True
End If
Else
'Es gibt nur From, also auch nur einen Wert
If Pos_From = Gesamtanzahl Then
'Das Ende ist erreicht - Ausstieg
ReDim Preserve Ergebnis(0)
Ergebnis(0) = Convert.ToString(g.ToString)
Exit_For = True
End If
End If End If
Else Else
'Es gibt nur From, also auch nur einen Wert ReDim Preserve Ergebnis(Gesamtanzahl - 1)
If Pos_From = Gesamtanzahl Then ' den übergebenen/gefundenen IndexWert, eintragen
'Das Ende ist erreicht - Ausstieg Ergebnis(Gesamtanzahl - 1) = Convert.ToString(g.ToString)
ReDim Preserve Ergebnis(0) End If
Ergebnis(0) = Convert.ToString(element.ToString) If Exit_For = True Then
Exit_For = True Exit For
End If
End If End If
Else
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
' den übergebenen/gefundenen IndexWert, eintragen
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(element.ToString)
End If
If Exit_For = True Then
Exit For
End If
Next ' zum nächsten Vorkommen ' Dim cc As CaptureCollection = g.Captures
' Dim j As Integer
' For j = 0 To cc.Count - 1
' Dim c As Capture = cc(j)
' MsgBox("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Console.WriteLine("Capture" & j & "='" & c.ToString() _
'& "', Position=" & c.Index)
' Next
Next
regexMatch = regexMatch.NextMatch()
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerNI.Add(" >> Using Matchelements.....", False)
For Each element As System.Text.RegularExpressions.Match In elemente
element.ToString()
Next
For Each element As System.Text.RegularExpressions.Match In elemente
Gesamtanzahl += 1
'MsgBox(element.ToString)
'filling the row with values. Item property is used to set the field value.
If Pos_From <> 10000 Then
If Pos_To <> 0 And Pos_From >= Pos_From Then
' den übergebenen/gefundenen IndexWert, eintragen
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(element.ToString)
'Das Ende ist erreicht - Ausstieg
If Pos_To = Gesamtanzahl Then
Exit_For = True
End If
Else
'Es gibt nur From, also auch nur einen Wert
If Pos_From = Gesamtanzahl Then
'Das Ende ist erreicht - Ausstieg
ReDim Preserve Ergebnis(0)
Ergebnis(0) = Convert.ToString(element.ToString)
Exit_For = True
End If
End If
Else
ReDim Preserve Ergebnis(Gesamtanzahl - 1)
' den übergebenen/gefundenen IndexWert, eintragen
Ergebnis(Gesamtanzahl - 1) = Convert.ToString(element.ToString)
End If
If Exit_For = True Then
Exit For
End If
Next ' zum nächsten Vorkommen
End If
End If End If
Dim Meldung As String
If Gesamtanzahl > 0 Then If Gesamtanzahl > 0 Then
If Ergebnis.Length >= 1 Then If Ergebnis.Length >= 1 Then
Return Ergebnis Return Ergebnis
Else Else
ClassLoggerNI.Add(" - ACHTUNG: Array-Ergebnis Length = 0", False) ClassLoggerNI.Add(">> ACHTUNG: Array-Ergebnis Length = 0", False)
Return Nothing Return Nothing
End If End If
Else Else
ClassLoggerNI.Add(" - ACHTUNG: Keine Vorkommen für diese Regular Expression gefunden", False) ClassLoggerNI.Add(">> ACHTUNG: Keine Vorkommen für diese Regular Expression gefunden", False)
Return Nothing Return Nothing
End If End If

View File

@ -112,7 +112,7 @@ Public Class clsNI_DB
Connection.Open() Connection.Open()
Catch ex As Exception Catch ex As Exception
ClassLoggerNI.Add("CheckIndex_MSSSQL - Message: " & ex.Message, "Verbindung zur Datenbank aufbauen", ex) ClassLoggerNI.Add("CheckIndex_MSSSQL - Message: " & ex.Message, "Verbindung zur Datenbank aufbauen", ex)
ClassLoggerNI.Add("- ConString: " & con, False) ClassLoggerNI.Add(">> ConString: " & con, False)
' DB-Connection schliessen ' DB-Connection schliessen
Return Nothing Return Nothing
End Try End Try

View File

@ -90,9 +90,9 @@ Public Class frmNIHauptseite
My.Settings.Save() My.Settings.Save()
NI_OPENED = False NI_OPENED = False
'If e.CloseReason = CloseReason.UserClosing Then 'If e.CloseReason = CloseReason.UserClosing Then
' Logger(" >> Nachindexierung Hauptformular wird durch User geschlossen.", False, True) ' Logger("Nachindexierung Hauptformular wird durch User geschlossen.", False, True)
'Else 'Else
' Logger(" >> Nachindexierung Hauptformular wird automatisch geschlossen.", False, True) ' Logger("Nachindexierung Hauptformular wird automatisch geschlossen.", False, True)
'End If 'End If
End Sub End Sub
@ -248,7 +248,7 @@ Public Class frmNIHauptseite
' MsgBox("Die Nachindexierung wurde abgebrochen.", MsgBoxStyle.Information, "Vorgang abgebrochen (Datei)") ' MsgBox("Die Nachindexierung wurde abgebrochen.", MsgBoxStyle.Information, "Vorgang abgebrochen (Datei)")
Else Else
If Me.bwDatei.IsBusy Then If Me.bwDatei.IsBusy Then
Logger(" >> Achtung: bwDatei-RunWorkerCompleted aber bwDatei.Busy - CancelAsync", False, True) Logger("Achtung: bwDatei-RunWorkerCompleted aber bwDatei.Busy - CancelAsync", False, True)
Me.bwDatei.CancelAsync() Me.bwDatei.CancelAsync()
End If End If
' MsgBox("Fertig") ' MsgBox("Fertig")
@ -271,7 +271,7 @@ Public Class frmNIHauptseite
Private Sub bwsearch_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Private Sub bwsearch_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)
If e.Cancelled Then If e.Cancelled Then
Logger(" >> Achtung: Ausführung der Suche wurde abgebrochen(" & Now & ")", False, True) Logger("Achtung: Ausführung der Suche wurde abgebrochen(" & Now & ")", False, True)
ElseIf e.Error IsNot Nothing Then ElseIf e.Error IsNot Nothing Then
' MsgBox("Fehler") ' MsgBox("Fehler")
Else Else
@ -279,7 +279,7 @@ Public Class frmNIHauptseite
Dim minutes = CLng(System.DateTime.Now.Subtract(CURRENT_START_DATETIME).Minutes) Dim minutes = CLng(System.DateTime.Now.Subtract(CURRENT_START_DATETIME).Minutes)
If minutes >= 1 Then If minutes >= 1 Then
Logger(" >> Suchdauer >= 1 Minute aber letzendlich ausgeführt (" & Now & ")", True) Logger("Suchdauer >= 1 Minute aber letzendlich ausgeführt (" & Now & ")", True)
End If End If
End If End If
@ -314,7 +314,7 @@ Public Class frmNIHauptseite
'aktivesProfil.Save(False) 'aktivesProfil.Save(False)
If clsHelper.file_exists(Me.aktivesProfil.WindreamSuche, "NI") = False Then If clsHelper.file_exists(Me.aktivesProfil.WindreamSuche, "NI") = False Then
Logger(">> Windream Suche für Profil: " & profil.Profilname & " konnte nicht ausgeführt werden! Die Datei " & Me.aktivesProfil.WindreamSuche & " existiert nicht!", False, True) Logger("Windream Suche für Profil: " & profil.Profilname & " konnte nicht ausgeführt werden! Die Datei " & Me.aktivesProfil.WindreamSuche & " existiert nicht!", False, True)
' wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen ' wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
email.Send_EMail("Fehler bei Nachindexierung: <br> >> Profil: " & Me.aktivesProfil.Profilname & "<br> >> die windream-Suche : " & Me.aktivesProfil.WindreamSuche & " konnte nicht gefunden werden!" & _ email.Send_EMail("Fehler bei Nachindexierung: <br> >> Profil: " & Me.aktivesProfil.Profilname & "<br> >> die windream-Suche : " & Me.aktivesProfil.WindreamSuche & " konnte nicht gefunden werden!" & _
@ -337,12 +337,12 @@ Public Class frmNIHauptseite
Dim minutes = CLng(System.DateTime.Now.Subtract(d1).Minutes) Dim minutes = CLng(System.DateTime.Now.Subtract(d1).Minutes)
If minutes >= 1 And minutes <> oldminute Then If minutes >= 1 And minutes <> oldminute Then
oldminute = minutes oldminute = minutes
Logger(" >> bwsearch IsBusy " & Now & " - MinutesSinceRunWD-Search: " & minutes.ToString, False, True) Logger("bwsearch IsBusy " & Now & " - MinutesSinceRunWD-Search: " & minutes.ToString, False, True)
If minutes >= 2 Then If minutes >= 2 Then
Select Case minutes Select Case minutes
Case 3 Case 3
Logger(">> Die Ausführung der Suche dauerte zu lange MinutesSinceRunWD-Search: " & minutes.ToString, False, True) Logger("Die Ausführung der Suche dauerte zu lange MinutesSinceRunWD-Search: " & minutes.ToString, False, True)
Logger(">> Die Nachindexierung wird abgebrochen und läuft wieder im Intervall an!", False, True) Logger("Die Nachindexierung wird abgebrochen und läuft wieder im Intervall an!", False, True)
ClassNIEmail.Send_Urgent("Achtung - die Ausführung der Suche: " & Me.aktivesProfil.WindreamSuche & " dauerte viel zu lange! <p> Prüfen Sie schnellst möglich die Client-Konfiguration", False) ClassNIEmail.Send_Urgent("Achtung - die Ausführung der Suche: " & Me.aktivesProfil.WindreamSuche & " dauerte viel zu lange! <p> Prüfen Sie schnellst möglich die Client-Konfiguration", False)
Abbruch_NI("Abbruch nach Timeout Suche", False, True) Abbruch_NI("Abbruch nach Timeout Suche", False, True)
CURRENT_STATE = "Abbruch Timeout" CURRENT_STATE = "Abbruch Timeout"
@ -352,7 +352,7 @@ Public Class frmNIHauptseite
End If End If
Loop Loop
If bwProfil.CancellationPending Or bwsearch.CancellationPending Then If bwProfil.CancellationPending Or bwsearch.CancellationPending Then
Logger(">> CancellationPending2 - Abbruch durchgeführt - Nun Exit Sub", False, True) Logger(" CancellationPending2 - Abbruch durchgeführt - Nun Exit Sub", False, True)
Exit Sub Exit Sub
End If End If
@ -373,24 +373,24 @@ Public Class frmNIHauptseite
_Fehler = True _Fehler = True
End If End If
Else Else
Logger("## NachbearbeitungAD inaktiv", False) Logger("NachbearbeitungAD inaktiv", False)
End If End If
If _Fehler = False Then If _Fehler = False Then
'profil() 'profil()
' nun Profilabhängige Parameter laden ' nun Profilabhängige Parameter laden
If aktivesProfil.IndexValidation <> "" Then If aktivesProfil.IndexValidation <> "" Then
Logger(" - Dokumente sollen für Validierung markiert werden - Index: " & aktivesProfil.IndexValidation) Logger("Dokumente sollen für Validierung markiert werden - Index: " & aktivesProfil.IndexValidation)
clsNI_WorkFile._filevalidation = True clsNI_WorkFile._filevalidation = True
Else Else
clsNI_WorkFile._filevalidation = False clsNI_WorkFile._filevalidation = False
End If End If
If aktivesProfil.IndexFehler <> "" Then If aktivesProfil.IndexFehler <> "" Then
Logger(" - Fehler sollen historisiert werden - Index: " & Me.aktivesProfil.IndexFehler) Logger("Fehler sollen historisiert werden - Index: " & Me.aktivesProfil.IndexFehler)
clsNI_WorkFile._fileerror = True clsNI_WorkFile._fileerror = True
Else Else
clsNI_WorkFile._fileerror = False clsNI_WorkFile._fileerror = False
End If End If
Logger(" - Ni-Art: " & aktivesProfil.Ni_Art.ToLower) Logger("Ni-Art: " & aktivesProfil.Ni_Art.ToLower)
' neue Anzahl von Dateien an ProgressBar2 ' neue Anzahl von Dateien an ProgressBar2
bwProfil.ReportProgress(windreamSucheErgebnisse.Count) bwProfil.ReportProgress(windreamSucheErgebnisse.Count)
For Each dok As WMObject In windreamSucheErgebnisse For Each dok As WMObject In windreamSucheErgebnisse
@ -399,7 +399,7 @@ Public Class frmNIHauptseite
'####### Go für das Dokument ########## '####### Go für das Dokument ##########
' Thread für diese Datei starten ' Thread für diese Datei starten
Logger("- Start des Dateithreads", False) Logger("Start des Dateithreads", False)
Me.startDateiDurchlauf() Me.startDateiDurchlauf()
'###################################### '######################################
' solange der Datei-Thread noch nicht abgeschlossen wurde ' solange der Datei-Thread noch nicht abgeschlossen wurde
@ -434,17 +434,17 @@ Public Class frmNIHauptseite
'If profil.Profilname = "CURSORTicketformular" Then 'If profil.Profilname = "CURSORTicketformular" Then
' Dim value As String = File.ReadAllText(My.Settings.INSERTTICKET, System.Text.Encoding.Default) ' Dim value As String = File.ReadAllText(My.Settings.INSERTTICKET, System.Text.Encoding.Default)
' If database.ExecuteonOracleClient("ManuellInsertTicket", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then ' If database.ExecuteonOracleClient("ManuellInsertTicket", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then
' Logger(" - CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True) ' Logger("CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True)
' End If ' End If
' value = File.ReadAllText(My.Settings.INSERT_SONST, System.Text.Encoding.Default) ' value = File.ReadAllText(My.Settings.INSERT_SONST, System.Text.Encoding.Default)
' If database.ExecuteonOracleClient("ManuellSONST", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then ' If database.ExecuteonOracleClient("ManuellSONST", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then
' Logger(" - CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True) ' Logger("CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True)
' End If ' End If
'End If 'End If
'If profil.Profilname = "CursorVERANST" Then 'If profil.Profilname = "CursorVERANST" Then
' Dim value As String = File.ReadAllText(My.Settings.INSERVERANST, System.Text.Encoding.Default) ' Dim value As String = File.ReadAllText(My.Settings.INSERVERANST, System.Text.Encoding.Default)
' If database.ExecuteonOracleClient("ManuellInsertVeranstaltung", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then ' If database.ExecuteonOracleClient("ManuellInsertVeranstaltung", value, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then
' Logger(" - CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True) ' Logger("CURSOR ORACLE INSERT-Command erfolgreich ausgeführt!", False, True)
' End If ' End If
'End If 'End If
Else Else
@ -468,7 +468,7 @@ Public Class frmNIHauptseite
Else Else
'Keine Verknüpfungen 'Keine Verknüpfungen
Logger(" - Es liegen keine Verknüpfungen für dieses Profil vor!", False, True) Logger("Es liegen keine Verknüpfungen für dieses Profil vor!", False, True)
End If End If
End If End If
@ -562,17 +562,16 @@ Public Class frmNIHauptseite
Dim profil_id As Integer = 1 Dim profil_id As Integer = 1
If ClassNIProfile.Profile IsNot Nothing Then If ClassNIProfile.Profile IsNot Nothing Then
ClassLoggerNI.Add("Beginn der Nachindexierung : " & Now, False)
ClassLoggerNI.Add("Anzahl der Profile: " & ClassNIProfile.Count, False)
If debug Then If debug Then
Dim resultProfilnamen As String = "" Dim resultProfilnamen As String = ""
For Each profil As ClassNIProfil In ClassNIProfile.Profile For Each profil As ClassNIProfil In ClassNIProfile.Profile
ClassLoggerNI.Add("ProfilName: " & profil.Profilname, False)
resultProfilnamen &= "- " & profil.Profilname & vbNewLine resultProfilnamen &= "- " & profil.Profilname & vbNewLine
Next Next
ClassLoggerNI.Add("Beginn der Nachindexierung : " & Now, False)
ClassLoggerNI.Add("Anzahl der Profile: " & ClassNIProfile.Count, False)
ClassLoggerNI.Add(resultProfilnamen, False)
Else Else
Logger("- No DEBUG", False) Logger("No DEBUG", False)
End If End If
Me.ProgressBar1.Minimum = 0 Me.ProgressBar1.Minimum = 0
@ -580,17 +579,17 @@ Public Class frmNIHauptseite
Me.ProgressBar1.Value = 0 Me.ProgressBar1.Value = 0
Me.Refresh() Me.Refresh()
Logger("- Start des Profildurchlaufthreads", False) Logger("Start des Profildurchlaufthreads", False)
Me.startProfileDurchlauf() Me.startProfileDurchlauf()
Else Else
ClassLoggerNI.Add("- Attention: ClassNIProfile.Profile IsNothing", False) ClassLoggerNI.Add("Attention: ClassNIProfile.Profile IsNothing", False)
End If End If
Else Else
If Me.bwProfil.IsBusy Then If Me.bwProfil.IsBusy Then
ClassLoggerNI.Add(">> ACHTUNG: der Thread Profil arbeitet noch unerwartet - es wird nun der Thread abgebrochen", False) ClassLoggerNI.Add(">> ACHTUNG: der Thread Profil arbeitet noch unerwartet - es wird nun der Thread abgebrochen", False)
Me.bwProfil.CancelAsync() Me.bwProfil.CancelAsync()
If bwDatei.IsBusy Then If bwDatei.IsBusy Then
Logger(">> ACHTUNG: Thread Datei wird ebenso abgebrochen", False, True) Logger("ACHTUNG: Thread Datei wird ebenso abgebrochen", False, True)
Me.bwDatei.CancelAsync() Me.bwDatei.CancelAsync()
End If End If
End If End If
@ -601,7 +600,7 @@ Public Class frmNIHauptseite
If Me.bwDatei.IsBusy Then If Me.bwDatei.IsBusy Then
ClassLoggerNI.Add(">> der Thread Datei arbeitet noch unerwartet", False) ClassLoggerNI.Add(">> der Thread Datei arbeitet noch unerwartet", False)
Try Try
Logger(">> Thread Datei wird abgebrochen....", False) Logger("Thread Datei wird abgebrochen....", False)
Me.bwDatei.CancelAsync() Me.bwDatei.CancelAsync()
manuallyRun = False manuallyRun = False
Catch ex As Exception Catch ex As Exception
@ -626,7 +625,7 @@ Public Class frmNIHauptseite
If My.Settings.vLogErrorsonly = False Or _inJedemFallLoggen = True Then If My.Settings.vLogErrorsonly = False Or _inJedemFallLoggen = True Then
Select Case _mitPraefix Select Case _mitPraefix
Case False Case False
ClassLoggerNI.Add(_error, False) ClassLoggerNI.Add(" >>" & _error, False)
Case True Case True
ClassLoggerNI.Add(_error, True) ClassLoggerNI.Add(_error, True)
End Select End Select
@ -641,7 +640,7 @@ Public Class frmNIHauptseite
'den Wert des deskriptiven Indexes für das aktuelle Dokument auslesen 'den Wert des deskriptiven Indexes für das aktuelle Dokument auslesen
DESKINDEX_VALUE = aktivesDokument.GetVariableValue(aktivesProfil.Desk_windreamIndex) DESKINDEX_VALUE = aktivesDokument.GetVariableValue(aktivesProfil.Desk_windreamIndex)
Else Else
Logger(" >> Check_Desk_Index: Es wurde kein deskriptiver Index hinterlegt!", False) Logger("Check_Desk_Index: Es wurde kein deskriptiver Index hinterlegt!", False)
End If End If
Catch ex As Exception Catch ex As Exception
errormsg = " FEHLER bei Check_Desk_Index (GetVariableValue für Index '" & aktivesProfil.Desk_windreamIndex & "'): " & ex.Message errormsg = " FEHLER bei Check_Desk_Index (GetVariableValue für Index '" & aktivesProfil.Desk_windreamIndex & "'): " & ex.Message
@ -670,7 +669,7 @@ Public Class frmNIHauptseite
End If End If
Dim moved_Folder As String = "" Dim moved_Folder As String = ""
Logger("", False, True) Logger("", False, True)
Logger(">> Indexierung von Dokument '" & Me.aktivesDokument.aName & "'", False, True) Logger("Indexierung von Dokument '" & Me.aktivesDokument.aName & "'", False, True)
' dient zum Überprüfen auf Fehler ' dient zum Überprüfen auf Fehler
Dim error_in_Indexierung As Boolean = False Dim error_in_Indexierung As Boolean = False
Dim unvollstaendig As Boolean = False Dim unvollstaendig As Boolean = False
@ -682,7 +681,7 @@ Public Class frmNIHauptseite
Dim _pathxmlfile As String Dim _pathxmlfile As String
'Liefert nur den PFad des aktiven Dokumens 'Liefert nur den PFad des aktiven Dokumens
Dim ordnerpfad As String = IO.Path.GetDirectoryName(My.Settings.vWLaufwerk & ":" & dokument.aPath) Dim ordnerpfad As String = IO.Path.GetDirectoryName(My.Settings.vWLaufwerk & ":" & dokument.aPath)
Logger(" >> OrdnerPfad der Datei: " & ordnerpfad) Logger("OrdnerPfad der Datei: " & ordnerpfad)
'Schalter um zu überprüfen ob es im Durchlauf ein SQL-Ergebnis gab 'Schalter um zu überprüfen ob es im Durchlauf ein SQL-Ergebnis gab
Dim _ergebnisSQL As Boolean = False Dim _ergebnisSQL As Boolean = False
'Die Tabelle mit den select werten leeren 'Die Tabelle mit den select werten leeren
@ -696,7 +695,7 @@ Public Class frmNIHauptseite
fulltext = dokument.GetVariableValue(aktivesProfil.Desk_windreamIndex) fulltext = dokument.GetVariableValue(aktivesProfil.Desk_windreamIndex)
Volltext_indexer(dokument, fulltext) Volltext_indexer(dokument, fulltext)
Catch ex As Exception Catch ex As Exception
Logger(" >> error in getting fulltext - Indexname: '" & aktivesProfil.Desk_windreamIndex & "' ERROR: " & ex.Message) Logger("error in getting fulltext - Indexname: '" & aktivesProfil.Desk_windreamIndex & "' ERROR: " & ex.Message)
error_in_Indexierung = True error_in_Indexierung = True
unvollstaendig = True unvollstaendig = True
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
@ -706,10 +705,10 @@ Public Class frmNIHauptseite
Case "db" Case "db"
error_in_Indexierung = Check_Desk_Index() error_in_Indexierung = Check_Desk_Index()
'If aktivesProfil.checkIndexsql = "" Then 'If aktivesProfil.checkIndexsql = "" Then
' Logger(" # HINWEIS: Eine sql-Überprüfung des Indexwertes ist nicht hinterlegt! Dies kann zu falsch-positiven Werten führen!#") ' Logger("# HINWEIS: Eine sql-Überprüfung des Indexwertes ist nicht hinterlegt! Dies kann zu falsch-positiven Werten führen!#")
'End If 'End If
If aktivesProfil.checkIndexsql <> String.Empty And error_in_Indexierung = False Then If aktivesProfil.checkIndexsql <> String.Empty And error_in_Indexierung = False Then
Logger(" >> Überprüfung des deskriptiven Indexwertes gegen die DB") Logger("Überprüfung des deskriptiven Indexwertes gegen die DB")
'################## '##################
'Zuerst überprüfen ob der Deskriptive Idnex einen gültigen Wert zurückliefert 'Zuerst überprüfen ob der Deskriptive Idnex einen gültigen Wert zurückliefert
Try Try
@ -721,18 +720,18 @@ Public Class frmNIHauptseite
Select Case Check Select Case Check
Case 0 Case 0
'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet 'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet
Logger(" >> Der deskriptive Indexwert '" & Value & "' verweist auf KEINEN Eintrag in der Datenbank! - Markierung des Doks", False, True) Logger("Der deskriptive Indexwert '" & Value & "' verweist auf KEINEN Eintrag in der Datenbank! - Markierung des Doks", False, True)
fehlermsg &= " >> Der deskriptive Indexwert " & Value & " verweist auf KEINEN Eintrag in der Datenbank!" fehlermsg &= " >> Der deskriptive Indexwert " & Value & " verweist auf KEINEN Eintrag in der Datenbank!"
'Fehler = True 'Fehler = True
unvollstaendig = True unvollstaendig = True
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
SetErrorMeldung("Value '" & Value & "' not found in Database", aktivesDokument, My.Settings.ERROR_INDEX) SetErrorMeldung("Value '" & Value & "' not found in Database", aktivesDokument, My.Settings.ERROR_INDEX)
Case 1 Case 1
Logger(" >> Der deskriptive Indexwert '" & Value & "' verweist genau auf EINEN Eintrag in der Datenbank - Alles OK") Logger("Der deskriptive Indexwert '" & Value & "' verweist genau auf EINEN Eintrag in der Datenbank - Alles OK")
unvollstaendig = False unvollstaendig = False
Case 2 Case 2
'Mehr als ein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet 'Mehr als ein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet
Logger(" >> Der deskriptive Indexwert '" & Value & "' verweist auf MEHR ALS EINEN Eintrag in der Datenbank oder es trat ein genereller Fehler auf!", False, True) Logger("Der deskriptive Indexwert '" & Value & "' verweist auf MEHR ALS EINEN Eintrag in der Datenbank oder es trat ein genereller Fehler auf!", False, True)
fehlermsg &= " >> Der deskriptive Indexwert " & Value & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank oder es trat ein genereller Fehler auf!" fehlermsg &= " >> Der deskriptive Indexwert " & Value & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank oder es trat ein genereller Fehler auf!"
error_in_Indexierung = True error_in_Indexierung = True
unvollstaendig = True unvollstaendig = True
@ -752,7 +751,7 @@ Public Class frmNIHauptseite
If clsHelper.file_exists(_pathxmlfile, "NI") = False Then If clsHelper.file_exists(_pathxmlfile, "NI") = False Then
_pathxmlfile = ordnerpfad & "\" & System.IO.Path.GetFileNameWithoutExtension(dokument.aPath) & "." & "xfres" _pathxmlfile = ordnerpfad & "\" & System.IO.Path.GetFileNameWithoutExtension(dokument.aPath) & "." & "xfres"
If clsHelper.file_exists(_pathxmlfile, "NI") = False Then If clsHelper.file_exists(_pathxmlfile, "NI") = False Then
Logger(" >> ACHTUNG 1: Nachindexdatei '" & _pathxmlfile & "' existiert nicht!", False, True) Logger("ACHTUNG 1: Nachindexdatei '" & _pathxmlfile & "' existiert nicht!", False, True)
' Markierung des Dokumentes ' Markierung des Dokumentes
SetErrorMeldung("Nachindexdatei NOT EXISTING", aktivesDokument, My.Settings.ERROR_INDEX) SetErrorMeldung("Nachindexdatei NOT EXISTING", aktivesDokument, My.Settings.ERROR_INDEX)
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
@ -839,14 +838,14 @@ Public Class frmNIHauptseite
' und die Abfrage ein Ergebnis zurück gab ' und die Abfrage ein Ergebnis zurück gab
If IndexwertAusWindream Is Nothing And Not error_in_Indexierung Then If IndexwertAusWindream Is Nothing And Not error_in_Indexierung Then
' IndexwertAusWindream ist Nothing (idxName_ohneSonderzeichen) ' IndexwertAusWindream ist Nothing (idxName_ohneSonderzeichen)
Logger(" >> ACHTUNG: der einschränkende Wert aus Windream für Index '" & idxName_ohneSonderzeichen & "' ist EMPTY oder NOTHING", False, True) Logger("ACHTUNG: der einschränkende Wert aus Windream für Index '" & idxName_ohneSonderzeichen & "' ist EMPTY oder NOTHING", False, True)
Logger(" >> SQL-String bisher: " & SqlString, False, True) Logger("SQL-String bisher: " & SqlString, False, True)
' wenn die Abfrage in windream kein Ergebnis gab, muss das error_in_Indexierungflag gesetzt werden ' wenn die Abfrage in windream kein Ergebnis gab, muss das error_in_Indexierungflag gesetzt werden
error_in_Indexierung = True error_in_Indexierung = True
Else Else
' den Platzhalter im SQL-String durch den Wert ersetzen ' den Platzhalter im SQL-String durch den Wert ersetzen
SqlString = SqlString.Replace(element.Value, IndexwertAusWindream.ToString) SqlString = SqlString.Replace(element.Value, IndexwertAusWindream.ToString)
Logger(" >> SqlString.Replace(" & element.Value & ", " & IndexwertAusWindream.ToString) Logger("SqlString.Replace(" & element.Value & ", " & IndexwertAusWindream.ToString)
End If End If
@ -872,10 +871,10 @@ Public Class frmNIHauptseite
'Indexierung gegen ein Indexfeld 'Indexierung gegen ein Indexfeld
If INDEX_SQL_BEFEHL.Spalte.StartsWith("%") And INDEX_SQL_BEFEHL.Spalte.EndsWith("%") Then If INDEX_SQL_BEFEHL.Spalte.StartsWith("%") And INDEX_SQL_BEFEHL.Spalte.EndsWith("%") Then
'Ein manueller Wert in der Verknüpfung 'Ein manueller Wert in der Verknüpfung
Logger(" >> Indexierung mit einem manuellem Wert") Logger("Indexierung mit einem manuellem Wert")
Dim _wert As String = INDEX_SQL_BEFEHL.Spalte.Replace("%", "") Dim _wert As String = INDEX_SQL_BEFEHL.Spalte.Replace("%", "")
_NidxWert = _wert _NidxWert = _wert
Logger(" >> Manueller Wert: '" & _NidxWert & "'") Logger("Manueller Wert: '" & _NidxWert & "'")
Else Else
Dim Arr() As Object Dim Arr() As Object
''########### ''###########
@ -883,7 +882,7 @@ Public Class frmNIHauptseite
If IndexwertAusWindream Is Nothing = False Then If IndexwertAusWindream Is Nothing = False Then
'Es wird gegen ein Vektorfeld nachindexiert 'Es wird gegen ein Vektorfeld nachindexiert
If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then
Logger(" >> INDEXIERUNG GEGEN EIN VEKTORFELD") Logger("INDEXIERUNG GEGEN EIN VEKTORFELD")
'Zuweisen der Indexwerte des Vektorfeldes zu Array 'Zuweisen der Indexwerte des Vektorfeldes zu Array
Arr = IndexwertAusWindream Arr = IndexwertAusWindream
For Each str As Object In Arr For Each str As Object In Arr
@ -892,7 +891,7 @@ Public Class frmNIHauptseite
End If End If
Next Next
ReDim Preserve selectArray(Anzahl_NI_Werte - 1) ReDim Preserve selectArray(Anzahl_NI_Werte - 1)
Logger(" >> Anzahl Elemente: " & Anzahl_NI_Werte) Logger("Anzahl Elemente: " & Anzahl_NI_Werte)
'MsgBox("Aha ein Vektorindex" & vbNewLine & "Anzahl Elemente: " & Anzahl_NI_Werte) 'MsgBox("Aha ein Vektorindex" & vbNewLine & "Anzahl Elemente: " & Anzahl_NI_Werte)
Dim selectstring = SqlString Dim selectstring = SqlString
@ -904,20 +903,20 @@ Public Class frmNIHauptseite
SqlString = SqlString.Replace("System.Object[]", obj.ToString) SqlString = SqlString.Replace("System.Object[]", obj.ToString)
'Select-Befehl an Array übergeben 'Select-Befehl an Array übergeben
selectArray(i) = SqlString selectArray(i) = SqlString
'Logger(" - SELECT-BEFEHL: " & selectArray(i)) 'Logger("SELECT-BEFEHL: " & selectArray(i))
i += 1 i += 1
Next Next
Else Else
ReDim Preserve selectArray(0) ReDim Preserve selectArray(0)
'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString) 'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString)
selectArray(0) = SqlString selectArray(0) = SqlString
Logger(" >> Indexierung gegen einen Einfachindex") Logger("Indexierung gegen einen Einfachindex")
End If End If
Else Else
ReDim Preserve selectArray(0) ReDim Preserve selectArray(0)
'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString) 'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString)
selectArray(0) = SqlString selectArray(0) = SqlString
Logger(" - IndexwertAusWindream Is Nothing: Select: '" & selectArray(0) & "'") Logger("IndexwertAusWindream Is Nothing: Select: '" & selectArray(0) & "'")
End If End If
@ -926,7 +925,7 @@ Public Class frmNIHauptseite
'Indexwert über DB oder Datei 'Indexwert über DB oder Datei
Select Case aktivesProfil.Ni_Art.ToLower Select Case aktivesProfil.Ni_Art.ToLower
Case "db" Case "db"
Logger(" >> SQL-Abfragen durchlaufen!") Logger("SQL-Abfragen durchlaufen!")
Dim i As Integer Dim i As Integer
Dim Quelle_is_vektor = False Dim Quelle_is_vektor = False
If selectArray.Length > 1 Then If selectArray.Length > 1 Then
@ -951,7 +950,7 @@ Public Class frmNIHauptseite
Dim dok As String = System.IO.Path.GetFileNameWithoutExtension(dokument.aPath) Dim dok As String = System.IO.Path.GetFileNameWithoutExtension(dokument.aPath)
'Indexierung über luratech-Ergebnis Files 'Indexierung über luratech-Ergebnis Files
If aktivesProfil.xmlEnd = "xffres" Then If aktivesProfil.xmlEnd = "xffres" Then
Logger(" >> Indexierung über XML-Dokument Abby/Luratech") Logger("Indexierung über XML-Dokument Abby/Luratech")
'Dateipfad für xffres/xml-Datei zusammenbauen 'Dateipfad für xffres/xml-Datei zusammenbauen
If File.Exists(_pathxmlfile) Then If File.Exists(_pathxmlfile) Then
'Übergabe der Dateiparameter und des xml-Knotens 'Übergabe der Dateiparameter und des xml-Knotens
@ -962,7 +961,7 @@ Public Class frmNIHauptseite
SetErrorMeldung("Wert aus Formrec. ist nothing", aktivesDokument, My.Settings.ERROR_INDEX) SetErrorMeldung("Wert aus Formrec. ist nothing", aktivesDokument, My.Settings.ERROR_INDEX)
End If End If
Else Else
Logger(" >> ACHTUNG 2: Nachindexdatei: " & _pathxmlfile & " existiert nicht!", False, True) Logger("ACHTUNG 2: Nachindexdatei: " & _pathxmlfile & " existiert nicht!", False, True)
error_in_Indexierung = True error_in_Indexierung = True
fehlermsg &= vbNewLine & " >> ACHTUNG 2: Datei: " & _pathxmlfile & " existiert nicht!" fehlermsg &= vbNewLine & " >> ACHTUNG 2: Datei: " & _pathxmlfile & " existiert nicht!"
End If End If
@ -970,7 +969,7 @@ Public Class frmNIHauptseite
'wenn kein error_in_Indexierung und wert geliefert und Index ist deskriptiver Index 'wenn kein error_in_Indexierung und wert geliefert und Index ist deskriptiver Index
If Not error_in_Indexierung And aktivesProfil.Desk_windreamIndex = INDEX_SQL_BEFEHL.Index And aktivesProfil.checkIndexsql <> "" Then If Not error_in_Indexierung And aktivesProfil.Desk_windreamIndex = INDEX_SQL_BEFEHL.Index And aktivesProfil.checkIndexsql <> "" Then
If (_NidxWert = "") Or (_NidxWert Is Nothing) Then If (_NidxWert = "") Or (_NidxWert Is Nothing) Then
Logger(" >> ACHTUNG: der XML-Wert (Formrecognition) ist leer! Dies kann zu Fehlern führen!", False, True) Logger("ACHTUNG: der XML-Wert (Formrecognition) ist leer! Dies kann zu Fehlern führen!", False, True)
'Markierung Validation 'Markierung Validation
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
'errormeldung setzen 'errormeldung setzen
@ -986,12 +985,12 @@ Public Class frmNIHauptseite
'Dim _path2xmlfile As String = ordnerpfad & "\" & System.IO.Path.GetFileNameWithoutExtension(dokument.aPath) & "." & aktivesProfil.xmlEnd 'Dim _path2xmlfile As String = ordnerpfad & "\" & System.IO.Path.GetFileNameWithoutExtension(dokument.aPath) & "." & aktivesProfil.xmlEnd
_dokxml = _windreamNI.oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, _pathxmlfile.Substring(2)) 'WINDREAMLib.WMEntity.WMEntityDocument _dokxml = _windreamNI.oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, _pathxmlfile.Substring(2)) 'WINDREAMLib.WMEntity.WMEntityDocument
'Überprüfen ob deskriptiver Wert eindeutig? 'Überprüfen ob deskriptiver Wert eindeutig?
Logger(" >> Überprüfung ob deskriptiver Wert eindeutig?") Logger("Überprüfung ob deskriptiver Wert eindeutig?")
Dim Check As Integer = Check_DeskIndexValue(_NidxWert, aktivesProfil.checkIndexsql) Dim Check As Integer = Check_DeskIndexValue(_NidxWert, aktivesProfil.checkIndexsql)
Select Case Check Select Case Check
Case 0 Case 0
'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet 'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet
Logger(" - Der deskriptive Indexwert '" & _NidxWert & "' verweist auf keinen Eintrag in der Datenbank!", False, True) Logger("Der deskriptive Indexwert '" & _NidxWert & "' verweist auf keinen Eintrag in der Datenbank!", False, True)
SetErrorMeldung("Value '" & _NidxWert & "' not found in Database", aktivesDokument, My.Settings.ERROR_INDEX) SetErrorMeldung("Value '" & _NidxWert & "' not found in Database", aktivesDokument, My.Settings.ERROR_INDEX)
unvollstaendig = True unvollstaendig = True
error_in_Indexierung = True error_in_Indexierung = True
@ -999,7 +998,7 @@ Public Class frmNIHauptseite
'Überprüfung ob Wert dennoch indexiert werden soll?! 'Überprüfung ob Wert dennoch indexiert werden soll?!
If INDEX_SQL_BEFEHL.SelectAnweisung = "WRITE_ALWAYS" Then If INDEX_SQL_BEFEHL.SelectAnweisung = "WRITE_ALWAYS" Then
Logger(" - Dennoch soll der Wert eingetragen werden") Logger("Dennoch soll der Wert eingetragen werden")
Dim arrIndex() As String = Nothing Dim arrIndex() As String = Nothing
Dim arrValue() As String = Nothing Dim arrValue() As String = Nothing
ReDim Preserve arrIndex(0) ReDim Preserve arrIndex(0)
@ -1007,7 +1006,7 @@ Public Class frmNIHauptseite
arrIndex(0) = INDEX_SQL_BEFEHL.Index arrIndex(0) = INDEX_SQL_BEFEHL.Index
arrValue(0) = _NidxWert.ToString arrValue(0) = _NidxWert.ToString
Me._windreamNI.RunIndexing(dokument, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString) Me._windreamNI.RunIndexing(dokument, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString)
Logger(" - Der falsche OCR-Wert: '" & _NidxWert.ToString & "' wurde eingetragen", False, True) Logger("Der falsche OCR-Wert: '" & _NidxWert.ToString & "' wurde eingetragen", False, True)
Else Else
fehlermsg &= vbNewLine & " - Der deskriptive Indexwert " & _NidxWert & " verweist auf keinen Eintrag in der Datenbank!" fehlermsg &= vbNewLine & " - Der deskriptive Indexwert " & _NidxWert & " verweist auf keinen Eintrag in der Datenbank!"
End If End If
@ -1018,11 +1017,11 @@ Public Class frmNIHauptseite
'Fehlermarkierung setzen 'Fehlermarkierung setzen
Case 1 Case 1
Logger(" >> Der deskriptive Indexwert " & _NidxWert & " verweist genau auf EINEN Eintrag in der Datenbank - Alles OK") Logger("Der deskriptive Indexwert " & _NidxWert & " verweist genau auf EINEN Eintrag in der Datenbank - Alles OK")
error_in_Indexierung = False error_in_Indexierung = False
Case 2 Case 2
'Mehr als ein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet 'Mehr als ein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet
Logger(" >> Der deskriptive Indexwert " & _NidxWert & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank!", False, True) Logger("Der deskriptive Indexwert " & _NidxWert & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank!", False, True)
SetErrorMeldung("More then 1 row found in Database", aktivesDokument, My.Settings.ERROR_INDEX) SetErrorMeldung("More then 1 row found in Database", aktivesDokument, My.Settings.ERROR_INDEX)
fehlermsg &= vbNewLine & " - Der deskriptive Indexwert " & _NidxWert & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank!" fehlermsg &= vbNewLine & " - Der deskriptive Indexwert " & _NidxWert & " verweist auf MEHR ALS EINEN Eintrag in der Datenbank!"
error_in_Indexierung = True error_in_Indexierung = True
@ -1034,25 +1033,25 @@ Public Class frmNIHauptseite
End If End If
Else Else
If aktivesProfil.Desk_windreamIndex = "" Then If aktivesProfil.Desk_windreamIndex = "" Then
Logger(" # ACHTUNG: der deskriptive Indexwert ist nicht hinterlegt! Dies kann zu Fehlern führen! #", False, True) Logger("# ACHTUNG: der deskriptive Indexwert ist nicht hinterlegt! Dies kann zu Fehlern führen! #", False, True)
Else Else
If aktivesProfil.checkIndexsql = "" Then If aktivesProfil.checkIndexsql = "" Then
Logger(" # ACHTUNG: Eine sql-Überprüfung des aus xml-gelesenen Indexwertes ist nicht hinterlegt! Dies kann zu falsch-positiven Werten führen! #", False, True) Logger("# ACHTUNG: Eine sql-Überprüfung des aus xml-gelesenen Indexwertes ist nicht hinterlegt! Dies kann zu falsch-positiven Werten führen! #", False, True)
Else Else
If _NidxWert = "" Then If _NidxWert = "" Then
Logger(" # ACHTUNG: der gelesene Wert ist leer! Dies kann zu Fehlern führen! #", False, True) Logger("# ACHTUNG: der gelesene Wert ist leer! Dies kann zu Fehlern führen! #", False, True)
End If End If
End If End If
End If End If
End If End If
Case "activedirectory" Case "activedirectory"
Logger(" - Indexierung gegen ActiveDirectory") Logger("Indexierung gegen ActiveDirectory")
_NidxWert = ClassActiveDirectory.GetAD_Attribut(selectArray(0), INDEX_SQL_BEFEHL.Spalte, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password) _NidxWert = ClassActiveDirectory.GetAD_Attribut(selectArray(0), INDEX_SQL_BEFEHL.Spalte, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password)
If _NidxWert = ">1" Then If _NidxWert = ">1" Then
Logger(" >> Es wurde mehr als 1 Wert ausgelesen! Entweder ist der Filter AD nicht eindeutig oder ein anderer error_in_Indexierung ist aufgetreten", False, True) Logger("Es wurde mehr als 1 Wert ausgelesen! Entweder ist der Filter AD nicht eindeutig oder ein anderer error_in_Indexierung ist aufgetreten", False, True)
Else Else
Logger(" >> Gelesener Attribut-Wert: " & _NidxWert) Logger("Gelesener Attribut-Wert: " & _NidxWert)
End If End If
@ -1073,7 +1072,7 @@ Public Class frmNIHauptseite
result &= " - " & _NidxWert result &= " - " & _NidxWert
_ergebnisSQL = True _ergebnisSQL = True
Try Try
Logger(" >> Arraygößen werden angepasst:") Logger("Arraygößen werden angepasst:")
' die Arraygrößen anpassen ' die Arraygrößen anpassen
ReDim Preserve Indexe(verknüpfungZähler) ReDim Preserve Indexe(verknüpfungZähler)
ReDim Preserve NI_Values(verknüpfungZähler) ReDim Preserve NI_Values(verknüpfungZähler)
@ -1082,14 +1081,14 @@ Public Class frmNIHauptseite
' den, übergebenen/gefundenen IndexWert, eintragen ' den, übergebenen/gefundenen IndexWert, eintragen
NI_Values(verknüpfungZähler) = Convert.ToString(_NidxWert) NI_Values(verknüpfungZähler) = Convert.ToString(_NidxWert)
Logger(" >> INDEXWERT: '" & Convert.ToString(_NidxWert) & "'") Logger("INDEXWERT: '" & Convert.ToString(_NidxWert) & "'")
verknüpfungZähler += 1 verknüpfungZähler += 1
Catch ex As Exception Catch ex As Exception
result &= " (" & verknüpfungZähler & ") => " & ex.Message & vbNewLine result &= " (" & verknüpfungZähler & ") => " & ex.Message & vbNewLine
End Try End Try
Else Else
If _NidxWert Is Nothing And aktivesProfil.Ni_Art.ToLower = "db" Then If _NidxWert Is Nothing And aktivesProfil.Ni_Art.ToLower = "db" Then
'Logger(" >> SQL-Abfrage ergab kein Ergebnis - früher Ausstieg aus Routine ", False, True) 'Logger("SQL-Abfrage ergab kein Ergebnis - früher Ausstieg aus Routine ", False, True)
'Exit For 'Exit For
End If End If
If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then
@ -1101,15 +1100,15 @@ Public Class frmNIHauptseite
' den, übergebenen/gefundenen IndexWert, eintragen ' den, übergebenen/gefundenen IndexWert, eintragen
NI_Values(verknüpfungZähler) = Convert.ToString("") NI_Values(verknüpfungZähler) = Convert.ToString("")
Logger(" >> Nachindexwert ist Object") Logger("Nachindexwert ist Object")
verknüpfungZähler += 1 verknüpfungZähler += 1
Else Else
'Logger(" >> SQL-Abfrage ergab kein Ergebnis", False, True) 'Logger("SQL-Abfrage ergab kein Ergebnis", False, True)
If aktivesProfil.Ni_Art.ToLower = "xml" Then If aktivesProfil.Ni_Art.ToLower = "xml" Then
If clsHelper.file_exists(_pathxmlfile, "NI") Then If clsHelper.file_exists(_pathxmlfile, "NI") Then
' MsgBox(_pathxmlfile & vbNewLine & _path2xml) ' MsgBox(_pathxmlfile & vbNewLine & _path2xml)
If INDEX_SQL_BEFEHL.Index = aktivesProfil.Desk_windreamIndex Then If INDEX_SQL_BEFEHL.Index = aktivesProfil.Desk_windreamIndex Then
Logger(" # Achtung: Der Deskriptive Index: " & aktivesProfil.Desk_windreamIndex & " sollte gesetzt werden! Wert konnte aber nicht gelesen werden bzw ist leer - Markierung des Doks", False, True) Logger("# Achtung: Der Deskriptive Index: " & aktivesProfil.Desk_windreamIndex & " sollte gesetzt werden! Wert konnte aber nicht gelesen werden bzw ist leer - Markierung des Doks", False, True)
'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet 'Kein Ergebnis für den Deskriptiven Index also Kennzeichnen des Dokumentes über den Index der das Dokument für die Validierung kennzeichnet
Dim _dokxml As WINDREAMLib.WMObject Dim _dokxml As WINDREAMLib.WMObject
_dokxml = Nothing _dokxml = Nothing
@ -1150,14 +1149,14 @@ Public Class frmNIHauptseite
'###### Spezifisches SQL nach jeder Datei! '###### Spezifisches SQL nach jeder Datei!
If Me.aktivesProfil.SQL_Anweisung IsNot Nothing And Not error_in_Indexierung And NI_Values.Length >= 1 And NI_Values(0) <> "" Then If Me.aktivesProfil.SQL_Anweisung IsNot Nothing And Not error_in_Indexierung And NI_Values.Length >= 1 And NI_Values(0) <> "" Then
If Me.aktivesProfil.SQL_Anweisung.StartsWith("EXECUTEVB") Then If Me.aktivesProfil.SQL_Anweisung.StartsWith("EXECUTEVB") Then
Logger(" >> VB-Skript nach Indexierung", False, True) Logger("VB-Skript nach Indexierung", False, True)
Dim anweisung As String = Me.aktivesProfil.SQL_Anweisung.Replace("EXECUTEVB ", "") Dim anweisung As String = Me.aktivesProfil.SQL_Anweisung.Replace("EXECUTEVB ", "")
Dim arrAnweisung As String() = Split(anweisung, "#") Dim arrAnweisung As String() = Split(anweisung, "#")
Logger(" > " & anweisung, False, True) Logger("> " & anweisung, False, True)
Try Try
Dim process As New System.Diagnostics.Process Dim process As New System.Diagnostics.Process
Dim psi As New ProcessStartInfo(anweisung.Trim) Dim psi As New ProcessStartInfo(anweisung.Trim)
Logger(" >> VB-Skript nach Indexierung") Logger("VB-Skript nach Indexierung")
process.EnableRaisingEvents = True process.EnableRaisingEvents = True
@ -1170,8 +1169,8 @@ Public Class frmNIHauptseite
Else Else
If Me.aktivesProfil.SQL_Anweisung <> "" Then If Me.aktivesProfil.SQL_Anweisung <> "" Then
Logger(" >> Spezifisches SQL nach erfolgreichem Indexieren der Datei wird durchgeführt") Logger("Spezifisches SQL nach erfolgreichem Indexieren der Datei wird durchgeführt")
Logger(" >> SQL: " & Me.aktivesProfil.SQL_Anweisung) Logger("SQL: " & Me.aktivesProfil.SQL_Anweisung)
' Regulären Ausdruck zum Auslesen der windream-Indexe definieren ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
@ -1201,19 +1200,19 @@ Public Class frmNIHauptseite
Sqlcommand = Sqlcommand.Replace(element.Value, IndexwertAusWindream.ToString) Sqlcommand = Sqlcommand.Replace(element.Value, IndexwertAusWindream.ToString)
'Wenn Speicherort gespeichert werden soll wird Platzhalter ersetzt! 'Wenn Speicherort gespeichert werden soll wird Platzhalter ersetzt!
Sqlcommand = Sqlcommand.Replace("vSpeicherort", "'" & My.Settings.vWLaufwerk & ":" & Me.aktivesDokument.aPath & "'") Sqlcommand = Sqlcommand.Replace("vSpeicherort", "'" & My.Settings.vWLaufwerk & ":" & Me.aktivesDokument.aPath & "'")
Logger(" - SQL-Command: " & Sqlcommand) Logger("SQL-Command: " & Sqlcommand)
'database.ExecuteonOracleDb(Sqlcommand, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password) 'database.ExecuteonOracleDb(Sqlcommand, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password)
'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName) 'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName)
Next Next
If Me.aktivesProfil.DbArt = "Oracle" Then If Me.aktivesProfil.DbArt = "Oracle" Then
If database.ExecuteonOracleDb(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then If database.ExecuteonOracleDb(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then
Logger(" - ORACLE SQL-Command erfolgreich ausgeführt!", False, True) Logger("ORACLE SQL-Command erfolgreich ausgeführt!", False, True)
End If End If
ElseIf Me.aktivesProfil.DbArt = "MS-SQL" Then ElseIf Me.aktivesProfil.DbArt = "MS-SQL" Then
Logger(" >> MSSQL-Command will be executed now.....", False, True) Logger("MSSQL-Command will be executed now.....", False, True)
Logger(" >> Sqlcommand: " & Sqlcommand, False, True) Logger("Sqlcommand: " & Sqlcommand, False, True)
If database.ExecuteonMSSQL(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, aktivesProfil.InitialCatalog) = 1 Then If database.ExecuteonMSSQL(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, aktivesProfil.InitialCatalog) = 1 Then
Logger(" - MSSQL-Command erfolgreich ausgeführt!", False, True) Logger("MSSQL-Command erfolgreich ausgeführt!", False, True)
End If End If
End If End If
End If End If
@ -1241,7 +1240,7 @@ Public Class frmNIHauptseite
If valid = True Then If valid = True Then
'nur Zurücksetzten wenn Wert zuweisbar 'nur Zurücksetzten wenn Wert zuweisbar
If (NI_Values.Length = 1 And NI_Values(0) = "") = False Then If (NI_Values.Length = 1 And NI_Values(0) = "") = False Then
Logger(" - Dokument sollte validiert werden - Nun erfolgreich indexiert - also Index '" & aktivesProfil.IndexValidation & "' zurücksetzen!") Logger("Dokument sollte validiert werden - Nun erfolgreich indexiert - also Index '" & aktivesProfil.IndexValidation & "' zurücksetzen!")
'Den Flag Validation wieder auf False setzen 'Den Flag Validation wieder auf False setzen
File_SetBooleanIndex(False, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(False, aktivesDokument, aktivesProfil.IndexValidation)
'Ebenso die Fehlermeldung 'Ebenso die Fehlermeldung
@ -1253,12 +1252,12 @@ Public Class frmNIHauptseite
If unvollstaendig = False Then If unvollstaendig = False Then
'##### Löschen der xml-Indexdatei '##### Löschen der xml-Indexdatei
If NI_Values.Length = 1 And NI_Values(0) = "" Then If NI_Values.Length = 1 And NI_Values(0) = "" Then
Logger(" - XML-Wert ist Leer und somit nicht auswertbar - Dok für Validierung markieren") Logger("XML-Wert ist Leer und somit nicht auswertbar - Dok für Validierung markieren")
'Den Flag Validation auf True setzen 'Den Flag Validation auf True setzen
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
'Fehlermarkierung setzen 'Fehlermarkierung setzen
Logger(" - Indexierung der xffres-Datei '" & System.IO.Path.GetFileNameWithoutExtension(dokument.aName) & "." & aktivesProfil.xmlEnd & "' - für die Validierung kennzeichnen") Logger("Indexierung der xffres-Datei '" & System.IO.Path.GetFileNameWithoutExtension(dokument.aName) & "." & aktivesProfil.xmlEnd & "' - für die Validierung kennzeichnen")
'Nun die xffres Datei indexieren 'Nun die xffres Datei indexieren
Dim _dokxml As WINDREAMLib.WMObject Dim _dokxml As WINDREAMLib.WMObject
_dokxml = Nothing _dokxml = Nothing
@ -1270,11 +1269,11 @@ Public Class frmNIHauptseite
Else Else
'Löschen der xml-Indexdatei 'Löschen der xml-Indexdatei
If CBool(Me.aktivesProfil.delete) = True Then If CBool(Me.aktivesProfil.delete) = True Then
Logger(" - Indexdatei soll gelöscht werden", False) Logger("Indexdatei soll gelöscht werden", False)
'Datei über die nachindexiert wurde soll gelöscht werden 'Datei über die nachindexiert wurde soll gelöscht werden
System.IO.File.Delete(_pathxmlfile) System.IO.File.Delete(_pathxmlfile)
Logger(" - XML-Index-Datei: " & _pathxmlfile) Logger("XML-Index-Datei: " & _pathxmlfile)
Logger(" - XML Index Datei ERFOLGREICH gelöscht!") Logger("XML Index Datei ERFOLGREICH gelöscht!")
End If End If
End If End If
End If End If
@ -1285,9 +1284,9 @@ Public Class frmNIHauptseite
Case 1 Case 1
Dim valid As Boolean = dokument.GetVariableValue(aktivesProfil.IndexValidation) '_windreamNI.GetValueforIndex(dokument.aPath & dokument.aName, aktivesProfil.vSQL_Anweisung) Dim valid As Boolean = dokument.GetVariableValue(aktivesProfil.IndexValidation) '_windreamNI.GetValueforIndex(dokument.aPath & dokument.aName, aktivesProfil.vSQL_Anweisung)
If valid = True Then If valid = True Then
Logger(" >> Konvertierungsfehler bei Nachindexierung xml - Index '" & aktivesProfil.IndexValidation & "' für Validierung bereits auf True gesetzt") Logger("Konvertierungsfehler bei Nachindexierung xml - Index '" & aktivesProfil.IndexValidation & "' für Validierung bereits auf True gesetzt")
Else Else
Logger(" >> Konvertierungsfehler bei Nachindexierung xml - Setze Index '" & aktivesProfil.IndexValidation & "' für Validierung!", False, True) Logger("Konvertierungsfehler bei Nachindexierung xml - Setze Index '" & aktivesProfil.IndexValidation & "' für Validierung!", False, True)
'Konvertierungsfehler 'Konvertierungsfehler
File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation) File_SetBooleanIndex(True, aktivesDokument, aktivesProfil.IndexValidation)
End If End If
@ -1310,8 +1309,8 @@ Public Class frmNIHauptseite
End If End If
Else Else
If unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then If unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then
Logger(" Fehler bei IndexiereVerarbeiteDokument für die Datei: " & dokument.aName.ToString, False, True) Logger("Fehler bei IndexiereVerarbeiteDokument für die Datei: " & dokument.aName.ToString, False, True)
Logger(" Fehlermeldung: " & fehlermsg, False, True) Logger("Fehlermeldung: " & fehlermsg, False, True)
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
email.Send_EMail("Fehler in IndexiereVerarbeiteDokument für die Datei: " & dokument.aName.ToString & "<br> Profilname: " & aktivesProfil.Profilname & " <br> Fehlermeldung: " & fehlermsg) email.Send_EMail("Fehler in IndexiereVerarbeiteDokument für die Datei: " & dokument.aName.ToString & "<br> Profilname: " & aktivesProfil.Profilname & " <br> Fehlermeldung: " & fehlermsg)
End If End If
@ -1323,7 +1322,7 @@ Public Class frmNIHauptseite
'Move and Rename ausführen 'Move and Rename ausführen
If _MRlicense = True And Me.aktivesProfil.MR_DAIndex <> "" And Not error_in_Indexierung And unvollstaendig = False Then If _MRlicense = True And Me.aktivesProfil.MR_DAIndex <> "" And Not error_in_Indexierung And unvollstaendig = False Then
Logger(" - Move and Rename ist aktiviert") Logger("Move and Rename ist aktiviert")
Dim _MOREDA = dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex) Dim _MOREDA = dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex)
Dim _MOREKD Dim _MOREKD
If Me.aktivesProfil.MR_KDIndex <> "" Then If Me.aktivesProfil.MR_KDIndex <> "" Then
@ -1349,7 +1348,7 @@ Public Class frmNIHauptseite
'Indexierung gegen die Indizes des Ordners 'Indexierung gegen die Indizes des Ordners
If aktivesProfil.Ni_Art.ToLower = "nurordnerrechte" Or aktivesProfil.Ni_Art.ToLower = "nur-ordner-indizes" Or (aktivesProfil.GetOrdnerTypes = True And aktivesProfil.OriginalOrdnerType <> "") Then If aktivesProfil.Ni_Art.ToLower = "nurordnerrechte" Or aktivesProfil.Ni_Art.ToLower = "nur-ordner-indizes" Or (aktivesProfil.GetOrdnerTypes = True And aktivesProfil.OriginalOrdnerType <> "") Then
Logger(" - Nachbearbeitung Indexe nach Ordner-Typen ist aktiviert") Logger("Nachbearbeitung Indexe nach Ordner-Typen ist aktiviert")
'Die Ordernindizes-Namen laden 'Die Ordernindizes-Namen laden
Dim Oindexe = _windream.GetIndicesByFoldertype(Me.aktivesProfil.OrdnerType, False) Dim Oindexe = _windream.GetIndicesByFoldertype(Me.aktivesProfil.OrdnerType, False)
'Die Objekttypindizes laden 'Die Objekttypindizes laden
@ -1364,7 +1363,7 @@ Public Class frmNIHauptseite
'Move2Folder ausführen 'Move2Folder ausführen
If error_in_Indexierung = False And aktivesProfil.move2Folder <> "" And unvollstaendig = False Then If error_in_Indexierung = False And aktivesProfil.move2Folder <> "" And unvollstaendig = False Then
Logger(" - Move 2 Folder ist aktiviert") Logger("Move 2 Folder ist aktiviert")
Dim err As Boolean = Move2Folder(Me.aktivesDokument.aName, My.Settings.MRWD_Laufwerk & ":" & dokument.aPath) Dim err As Boolean = Move2Folder(Me.aktivesDokument.aName, My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
If err = False Then If err = False Then
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
@ -1394,7 +1393,7 @@ Public Class frmNIHauptseite
End If End If
'Nachbearbeitung AD ausführen 'Nachbearbeitung AD ausführen
If error_in_Indexierung = False And aktivesProfil.NachbearbeitungAD = True And unvollstaendig = False Then If error_in_Indexierung = False And aktivesProfil.NachbearbeitungAD = True And unvollstaendig = False Then
Logger(" - Nachbearbeitung AD ist aktiviert") Logger("Nachbearbeitung AD ist aktiviert")
Nachbearbeitung_AD(dokument) Nachbearbeitung_AD(dokument)
End If End If
@ -1429,7 +1428,7 @@ Public Class frmNIHauptseite
i += 1 i += 1
Next Next
Logger(" - der Folder '" & _path & "' soll die Quelle für die Indexwerte sein") Logger("der Folder '" & _path & "' soll die Quelle für die Indexwerte sein")
Try Try
WMFolder = _windreamNI.oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityFolder, _path) WMFolder = _windreamNI.oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityFolder, _path)
Catch ex As Exception Catch ex As Exception
@ -1437,7 +1436,7 @@ Public Class frmNIHauptseite
Return False Return False
End Try End Try
Else Else
Logger(" - der Parentfolder ist die Quelle für die Indexwerte") Logger("der Parentfolder ist die Quelle für die Indexwerte")
Try Try
WMFolder = _dokument.aParentWMObject WMFolder = _dokument.aParentWMObject
Catch ex As Exception Catch ex As Exception
@ -1455,7 +1454,7 @@ Public Class frmNIHauptseite
For Each DateiIdxName As String In Objecttype_Indexe For Each DateiIdxName As String In Objecttype_Indexe
'Wenn der Name identisch ist 'Wenn der Name identisch ist
If DateiIdxName.ToLower = OrdnerIdxName.ToLower Then If DateiIdxName.ToLower = OrdnerIdxName.ToLower Then
Logger(" - Indexname Ordnertyp: '" & OrdnerIdxName & "' wird als Quelle genutzt") Logger("Indexname Ordnertyp: '" & OrdnerIdxName & "' wird als Quelle genutzt")
'MsgBox("Indexname Datei Ordner gleich!") 'MsgBox("Indexname Datei Ordner gleich!")
'Den Indexwert aus dem Ordner auslesen 'Den Indexwert aus dem Ordner auslesen
Dim fold_idxValue = WMFolder.GetVariableValue(OrdnerIdxName) Dim fold_idxValue = WMFolder.GetVariableValue(OrdnerIdxName)
@ -1472,7 +1471,7 @@ Public Class frmNIHauptseite
arrValue(0) = fold_idxValue arrValue(0) = fold_idxValue
Me._windreamNI.RunIndexing(aktivesDokument, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString) Me._windreamNI.RunIndexing(aktivesDokument, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString)
Else Else
Logger(" - Indexwert ist leer") Logger("Indexwert ist leer")
End If End If
End If End If
@ -1581,11 +1580,11 @@ Public Class frmNIHauptseite
Catch ex As Exception Catch ex As Exception
ign_whitespace = False ign_whitespace = False
End Try End Try
Logger(" - Volltext-Indexierung - Regex: '" & Fulltext_Indexierung.Spalte & "' - Alle Vorkommen") Logger("Volltext-Indexierung - Regex: '" & Fulltext_Indexierung.Spalte & "' - Alle Vorkommen")
Else Else
pos_von = 10000 pos_von = 10000
pos_bis = 0 pos_bis = 0
Logger(" - Volltext-Indexierung - Regex: '" & Fulltext_Indexierung.Spalte & "' - Pos.-Von: '" & pos_von & "' - Pos.-Bis: '" & pos_bis) Logger("Volltext-Indexierung - Regex: '" & Fulltext_Indexierung.Spalte & "' - Pos.-Von: '" & pos_von & "' - Pos.-Bis: '" & pos_bis)
End If End If
@ -1704,7 +1703,7 @@ Public Class frmNIHauptseite
Dim akt_Status As Boolean = CBool(_dok.GetVariableValue(_Indexname)) Dim akt_Status As Boolean = CBool(_dok.GetVariableValue(_Indexname))
If akt_Status <> _value Then If akt_Status <> _value Then
'Index muß angepasst werden 'Index muß angepasst werden
Logger(" - Validation Index NOCH NICHT auf '" & _value.ToString & "' gesetzt") Logger("Validation Index NOCH NICHT auf '" & _value.ToString & "' gesetzt")
Dim arrIndex() As String = Nothing Dim arrIndex() As String = Nothing
Dim arrValue() As String = Nothing Dim arrValue() As String = Nothing
'Nun die Datei indexieren 'Nun die Datei indexieren
@ -1716,7 +1715,7 @@ Public Class frmNIHauptseite
arrValue(0) = _value.ToString arrValue(0) = _value.ToString
Me._windreamNI.RunIndexing(_dok, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString) Me._windreamNI.RunIndexing(_dok, arrIndex, arrValue, MyDataset, aktivesProfil.Profilname, aktivesProfil.DokumenttypString)
If aktivesProfil.IndexFehler <> "" And _value = True Then If aktivesProfil.IndexFehler <> "" And _value = True Then
Logger(" - History-Fehler wird auf true gesetzt!") Logger("History-Fehler wird auf true gesetzt!")
arrIndex = Nothing arrIndex = Nothing
arrValue = Nothing arrValue = Nothing
ReDim Preserve arrIndex(0) ReDim Preserve arrIndex(0)
@ -1727,7 +1726,7 @@ Public Class frmNIHauptseite
End If End If
Else Else
'Validation muß nicht angepasst werden 'Validation muß nicht angepasst werden
Logger(" - Validation Index bereits auf '" & _value & "' gesetzt") Logger("Validation Index bereits auf '" & _value & "' gesetzt")
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
@ -1752,12 +1751,12 @@ Public Class frmNIHauptseite
_continue = True _continue = True
Else Else
'Validation muß nicht angepasst werden 'Validation muß nicht angepasst werden
Logger(" - Index für Errormeldung bereits auf '" & _error & "' gesetzt") Logger("Index für Errormeldung bereits auf '" & _error & "' gesetzt")
_continue = False _continue = False
End If End If
End If End If
If _continue = True Then If _continue = True Then
Logger(" - Index für Errormeldung NOCH NICHT auf '" & _error & "' gesetzt") Logger("Index für Errormeldung NOCH NICHT auf '" & _error & "' gesetzt")
'Error muß angepasst werden 'Error muß angepasst werden
Dim arrIndex() As String Dim arrIndex() As String
Dim arrValue() As String Dim arrValue() As String
@ -1774,7 +1773,7 @@ Public Class frmNIHauptseite
ClassLoggerNI.Add("Schwerwiegender Fehler bei SetErrorMeldung - Der 'Error'-Index existiert nicht: ", ex.Message) ClassLoggerNI.Add("Schwerwiegender Fehler bei SetErrorMeldung - Der 'Error'-Index existiert nicht: ", ex.Message)
Else Else
ClassLoggerNI.Add("Schwerwiegender Fehler bei SetErrorMeldung: ", ex.Message) ClassLoggerNI.Add("Schwerwiegender Fehler bei SetErrorMeldung: ", ex.Message)
ClassLoggerNI.Add(" - Errorindexname: " & _Indexname, False) ClassLoggerNI.Add(">> Errorindexname: " & _Indexname, False)
End If End If
If My.Settings.vNIMailsenden = True Then If My.Settings.vNIMailsenden = True Then
email.Send_EMail("Schwerwiegender Fehler bei SetErrorMeldung - <br> Profil: " & aktivesProfil.Profilname & "<br> Datei: " & dokument.aName.ToString & "<br> Fehler: " & ex.Message) email.Send_EMail("Schwerwiegender Fehler bei SetErrorMeldung - <br> Profil: " & aktivesProfil.Profilname & "<br> Datei: " & dokument.aName.ToString & "<br> Fehler: " & ex.Message)
@ -1811,7 +1810,7 @@ Public Class frmNIHauptseite
_replace = "'" & _indexvalue & "'" _replace = "'" & _indexvalue & "'"
End If End If
_vsql = sql.Replace("[%" & aktivesProfil.Desk_windreamIndex & "]", _replace) _vsql = sql.Replace("[%" & aktivesProfil.Desk_windreamIndex & "]", _replace)
Logger(" >> Check Deskriptiven Index-Value - Select Scalar: " & _vsql, False) Logger("Check Deskriptiven Index-Value - Select Scalar: " & _vsql, False)
If aktivesProfil.DbArt = "Oracle" Then If aktivesProfil.DbArt = "Oracle" Then
Dim ergebnis As Integer = database.CheckIndex_oracle(_vsql, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) Dim ergebnis As Integer = database.CheckIndex_oracle(_vsql, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password)
@ -1928,7 +1927,7 @@ Public Class frmNIHauptseite
ClassLoggerNI.Add(">> Nachindexierung wird abgebrochen - Reason: " & cancel_Reason, False) ClassLoggerNI.Add(">> Nachindexierung wird abgebrochen - Reason: " & cancel_Reason, False)
Try Try
If Me.bwProfil.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then If Me.bwProfil.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then
Logger(" >> Thread Profil wird abgebrochen....", False, True) Logger("Thread Profil wird abgebrochen....", False, True)
Me.bwProfil.CancelAsync() Me.bwProfil.CancelAsync()
End If End If
@ -1937,7 +1936,7 @@ Public Class frmNIHauptseite
End Try End Try
Try Try
If Me.bwsearch.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then If Me.bwsearch.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then
Logger(" >> Thread Search wird abgebrochen....", False, True) Logger("Thread Search wird abgebrochen....", False, True)
Me.bwsearch.CancelAsync() Me.bwsearch.CancelAsync()
End If End If
Catch ex As Exception Catch ex As Exception
@ -1945,7 +1944,7 @@ Public Class frmNIHauptseite
End Try End Try
Try Try
If Me.bwDatei.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then If Me.bwDatei.IsBusy Or cancel_Reason = "Abbruch nach Timeout Suche" Then
Logger(" >> Thread Datei wird abgebrochen....", False, True) Logger("Thread Datei wird abgebrochen....", False, True)
Me.bwDatei.CancelAsync() Me.bwDatei.CancelAsync()
End If End If
Catch ex As Exception Catch ex As Exception
@ -2032,35 +2031,35 @@ Public Class frmNIHauptseite
' End If ' End If
' Logger(" Move and Rename gestartet") ' Logger("Move and Rename gestartet")
' Logger(" Datum/Zeit: " & Now.Date & " " & Now.Date.ToShortTimeString) ' Logger("Datum/Zeit: " & Now.Date & " " & Now.Date.ToShortTimeString)
' Logger(" Datei: " & vDatei) ' Logger("Datei: " & vDatei)
' If vIndexnameKD.ToString <> "" Then ' If vIndexnameKD.ToString <> "" Then
' Logger(" Indexname Kundenidentifikator: " & vIndexnameKD) ' Logger("Indexname Kundenidentifikator: " & vIndexnameKD)
' Else ' Else
' Logger(" Ein allgemeines Dokument für Move and Rename") ' Logger("Ein allgemeines Dokument für Move and Rename")
' End If ' End If
' If _MRKundenKennzeichen.ToString <> "" Then ' If _MRKundenKennzeichen.ToString <> "" Then
' If _MRKundenKennzeichen = "xxxx" Then ' If _MRKundenKennzeichen = "xxxx" Then
' Logger(" Es handelt sich um ein Allgemeines Kundenkennzeichen") ' Logger("Es handelt sich um ein Allgemeines Kundenkennzeichen")
' Else ' Else
' Logger(" Ausgelesener Kundenidentifikator: " & _MRKundenKennzeichen) ' Logger("Ausgelesener Kundenidentifikator: " & _MRKundenKennzeichen)
' End If ' End If
' End If ' End If
' Logger(" Indexname Dokumentart: " & vIndexnameDA) ' Logger("Indexname Dokumentart: " & vIndexnameDA)
' Logger(" Ausgelesene Dokumentart: " & _MRDokumentart) ' Logger("Ausgelesene Dokumentart: " & _MRDokumentart)
' Logger(" Indexname Deskriptiver Index: " & vindexnameDesIndex) ' Logger("Indexname Deskriptiver Index: " & vindexnameDesIndex)
' _MRDeskrIndex = _windreamNI.GetValueforIndex(vDatei.Substring(2), vindexnameDesIndex) ' _MRDeskrIndex = _windreamNI.GetValueforIndex(vDatei.Substring(2), vindexnameDesIndex)
' If _MRDeskrIndex = "" Then ' If _MRDeskrIndex = "" Then
' Logger(" - Achtung: ein eindeutiger/deskriptiver Indexwert existiert noch nicht! Dok kann nicht verschoben und umbenannt werden!", False, True) ' Logger(" - Achtung: ein eindeutiger/deskriptiver Indexwert existiert noch nicht! Dok kann nicht verschoben und umbenannt werden!", False, True)
' Logger(" - Move and Rename wird abgebrochen", False, True) ' Logger("Move and Rename wird abgebrochen", False, True)
' Return False ' Return False
' Else ' Else
' Logger(" Ausgelesener Deskriptiver Index: " & _MRDeskrIndex) ' Logger("Ausgelesener Deskriptiver Index: " & _MRDeskrIndex)
' End If ' End If
' If _MRKundenKennzeichen = "" Then ' If _MRKundenKennzeichen = "" Then
' Logger(" - ACHTUNG: Kundenidentifikator ist leer - Das Dokument stammt von einem Interessenten") ' Logger("ACHTUNG: Kundenidentifikator ist leer - Das Dokument stammt von einem Interessenten")
' _MRKundenKennzeichen = "" ' _MRKundenKennzeichen = ""
' End If ' End If
@ -2084,7 +2083,7 @@ Public Class frmNIHauptseite
'End Function 'End Function
'Private Function MRfile_rename_move(ByVal _file As String) 'Private Function MRfile_rename_move(ByVal _file As String)
' Logger(" - Jetzt in Sub MRfile_rename_move") ' Logger("Jetzt in Sub MRfile_rename_move")
' Try ' Try
' Dim extension As String = Path.GetExtension(_file) ' Dim extension As String = Path.GetExtension(_file)
@ -2098,18 +2097,18 @@ Public Class frmNIHauptseite
' Dim DT As DataTable = DS_More.VWMO_RE_DOKUMENTARTZUORDNUNG ' Dim DT As DataTable = DS_More.VWMO_RE_DOKUMENTARTZUORDNUNG
' If DT.Rows.Count = 1 Then ' If DT.Rows.Count = 1 Then
' _path = DT.Rows(0).Item("DOKUMENTARTORDNER") ' _path = DT.Rows(0).Item("DOKUMENTARTORDNER")
' Logger(" Ausgelesener Pfad: " & _path) ' Logger("Ausgelesener Pfad: " & _path)
' _kunde = DT.Rows(0).Item("KUNDEN_NAME") ' _kunde = DT.Rows(0).Item("KUNDEN_NAME")
' _praefix = DT.Rows(0).Item("PRAEFIX") ' _praefix = DT.Rows(0).Item("PRAEFIX")
' Logger(" - Umbennennen des Dokumentes:") ' Logger("Umbennennen des Dokumentes:")
' 'Dokument kann umbenannt werden ' 'Dokument kann umbenannt werden
' _newfilename = _praefix ' _newfilename = _praefix
' Logger(" - Ausgelesener Kurzname: " & _newfilename) ' Logger("Ausgelesener Kurzname: " & _newfilename)
' _newfilename = _newfilename & _MRDeskrIndex & extension ' _newfilename = _newfilename & _MRDeskrIndex & extension
' Logger(" - Neuer Dateiname: " & _newfilename) ' Logger("Neuer Dateiname: " & _newfilename)
' 'MsgBox("Dokart: " & _Dokumentart & vbNewLine & "KD-KZ: " & _KundenKennzeichen & vbNewLine & "PFad:" & P) ' 'MsgBox("Dokart: " & _Dokumentart & vbNewLine & "KD-KZ: " & _KundenKennzeichen & vbNewLine & "PFad:" & P)
' Logger(" - Überprüfen file exists/Doppelter Dateiname") ' Logger("Überprüfen file exists/Doppelter Dateiname")
' '### VERSIONIERUNG ### ' '### VERSIONIERUNG ###
' Dim version As Integer = 2 ' Dim version As Integer = 2
' Dim Stammname As String = _newfilename.Substring(0, _newfilename.LastIndexOf(".")) ' Dim Stammname As String = _newfilename.Substring(0, _newfilename.LastIndexOf("."))
@ -2121,21 +2120,21 @@ Public Class frmNIHauptseite
' version = version + 1 ' version = version + 1
' Loop ' Loop
' Logger(" - Neuer Dateiname: " & _newfilename) ' Logger("Neuer Dateiname: " & _newfilename)
' Logger(" - Aktion Verschieben der Datei") ' Logger("Aktion Verschieben der Datei")
' Logger(" - Quelle: " & _file) ' Logger("Quelle: " & _file)
' _ziel = _path & "\" & _newfilename ' _ziel = _path & "\" & _newfilename
' Logger(" - Ziel: " & _ziel) ' Logger("Ziel: " & _ziel)
' If myFolderPath <> _path Then ' If myFolderPath <> _path Then
' My.Computer.FileSystem.MoveFile(_file, _ziel) ' My.Computer.FileSystem.MoveFile(_file, _ziel)
' Logger(" - Erfolgsmeldung - Datei wurde erfolgreich verschoben") ' Logger("Erfolgsmeldung - Datei wurde erfolgreich verschoben")
' 'ClassLoggerNI.Add(" ######### Erfolgsmeldung - Datei wurde erfolgreich umbenannt und verschoben ###########", False) ' 'ClassLoggerNI.Add(" ######### Erfolgsmeldung - Datei wurde erfolgreich umbenannt und verschoben ###########", False)
' Else ' Else
' Logger(" - Verschieben nicht notwendig: Ordnerpfad identisch!") ' Logger("Verschieben nicht notwendig: Ordnerpfad identisch!")
' My.Computer.FileSystem.RenameFile(_file, _newfilename) ' My.Computer.FileSystem.RenameFile(_file, _newfilename)
' Logger(" - Erfolgsmeldung - Datei wurde erfolgreich umbenannt") ' Logger("Erfolgsmeldung - Datei wurde erfolgreich umbenannt")
' End If ' End If
' Me.TBMO_RE_HISTORYTableAdapter.Insert(_file, _newfilename, _kunde, _MRDeskrIndex, _MRDokumentart, "ToolCollection") ' Me.TBMO_RE_HISTORYTableAdapter.Insert(_file, _newfilename, _kunde, _MRDeskrIndex, _MRDokumentart, "ToolCollection")
@ -2157,26 +2156,26 @@ Public Class frmNIHauptseite
Try Try
Logger("======================================================================") Logger("======================================================================")
Logger(" Move2Folder gestartet ") Logger("Move2Folder gestartet ")
Logger("______________________________________________________________________") Logger("______________________________________________________________________")
Logger(" Datum/Zeit: " & Now.Date & " " & Now.Date.ToShortTimeString) Logger("Datum/Zeit: " & Now.Date & " " & Now.Date.ToShortTimeString)
Logger(" Datei: " & vFilestring) Logger("Datei: " & vFilestring)
Dim extension As String = Path.GetExtension(vDateiName) Dim extension As String = Path.GetExtension(vDateiName)
Dim _Pfad, _WDLaufwerk, _Ziel As String Dim _Pfad, _WDLaufwerk, _Ziel As String
_Ziel = Me.aktivesProfil.move2Folder & "\" & vDateiName _Ziel = Me.aktivesProfil.move2Folder & "\" & vDateiName
Logger(" Ziel: " & _Ziel, False) Logger("Ziel: " & _Ziel, False)
Dim Stammname As String = _Ziel.Substring(0, _Ziel.LastIndexOf(".")) Dim Stammname As String = _Ziel.Substring(0, _Ziel.LastIndexOf("."))
Dim version As Integer = 2 Dim version As Integer = 2
Do While clsHelper.file_exists(_Ziel, "NI") = True Do While clsHelper.file_exists(_Ziel, "NI") = True
Logger(" Achtung: Datei existiert bereits!", False) Logger("Achtung: Datei existiert bereits!", False)
Dim neuername As String = Stammname & "~" & version & extension Dim neuername As String = Stammname & "~" & version & extension
_Ziel = neuername _Ziel = neuername
version = version + 1 version = version + 1
Loop Loop
My.Computer.FileSystem.MoveFile(vFilestring, _Ziel) My.Computer.FileSystem.MoveFile(vFilestring, _Ziel)
Logger(" >> Move2Folder: Datei wurde erfolgreich verschoben! Ziel: '" & _Ziel & "'", False, True) Logger(" >> Move2Folder: Datei wurde erfolgreich verschoben! Ziel: '" & _Ziel & "'", False, True)
If clsHelper.file_exists(vFilestring, "NI") = True Then If clsHelper.file_exists(vFilestring, "NI") = True Then
ClassLoggerNI.Add(">> Datei existiert trotz Move noch am ursprünglichen Ort noch....wird gelöscht wenn an Ziel existiert....", False) ClassLoggerNI.Add(">> Datei existiert trotz Move noch am ursprünglichen Ort noch....wird gelöscht wenn an Ziel existiert....", False)
If clsHelper.file_exists(_Ziel, "NI") = True Then If clsHelper.file_exists(_Ziel, "NI") = True Then
@ -2209,14 +2208,14 @@ Public Class frmNIHauptseite
Dim Indexwert As String Dim Indexwert As String
folder_temp = _Uordner.Replace("[%", "") folder_temp = _Uordner.Replace("[%", "")
folder_temp = folder_temp.Replace("]", "") folder_temp = folder_temp.Replace("]", "")
Logger(" - Index für CrFolder - Ordner: '" & folder_temp & "'") Logger("Index für CrFolder - Ordner: '" & folder_temp & "'")
'Den Indexwert auslesen 'Den Indexwert auslesen
Try Try
Logger(" - Versuch den Indexwert aus '" & CStr(folder_temp) & "' auszulesen.") Logger("Versuch den Indexwert aus '" & CStr(folder_temp) & "' auszulesen.")
Indexwert = aktivesDokument.GetVariableValue(folder_temp) Indexwert = aktivesDokument.GetVariableValue(folder_temp)
Logger(" - Ergebnis/Wert für neuen Ordner: '" & CStr(Indexwert) & "'") Logger("Ergebnis/Wert für neuen Ordner: '" & CStr(Indexwert) & "'")
Catch ex As Exception Catch ex As Exception
Logger(" >> ACHTUNG: der Index '" & folder_temp & "' ist nicht gefüllt oder es trat ein Fehler beim Auslesen der Indexwerte auf", False, True) Logger("ACHTUNG: der Index '" & folder_temp & "' ist nicht gefüllt oder es trat ein Fehler beim Auslesen der Indexwerte auf", False, True)
Return True Return True
End Try End Try
@ -2227,9 +2226,9 @@ Public Class frmNIHauptseite
newFolder = newFolder & Indexwert & "\" newFolder = newFolder & Indexwert & "\"
Logger(" - newFolder: '" & newFolder & "'") Logger("newFolder: '" & newFolder & "'")
Else Else
Logger(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!", True, True) Logger("Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!", True, True)
Return True Return True
End If End If
End If End If
@ -2269,15 +2268,15 @@ Public Class frmNIHauptseite
Next Next
If newFolder <> "" Then If newFolder <> "" Then
Logger(" - Den Root-Folder zusammenfügen...") Logger("Den Root-Folder zusammenfügen...")
'in einem separaten Ordner anlegen 'in einem separaten Ordner anlegen
If Me.aktivesProfil.CrFolder_Folder <> "" Then If Me.aktivesProfil.CrFolder_Folder <> "" Then
RootFolder = Me.aktivesProfil.CrFolder_Folder RootFolder = Me.aktivesProfil.CrFolder_Folder
Logger(" - RootFolder: '" & RootFolder & "'") Logger("RootFolder: '" & RootFolder & "'")
End If End If
Dim fullpath As String = RootFolder & "\" & newFolder Dim fullpath As String = RootFolder & "\" & newFolder
fullpath.Replace("\\", "\") fullpath.Replace("\\", "\")
Logger(" - Fullpath (mit evtl. Sonderzeichen (SZ)) '" & fullpath & "'", False) Logger("Fullpath (mit evtl. Sonderzeichen (SZ)) '" & fullpath & "'", False)
Dim invalidPathChars() As Char = IO.Path.GetInvalidPathChars() Dim invalidPathChars() As Char = IO.Path.GetInvalidPathChars()
For Each sonderChar As Char In invalidPathChars For Each sonderChar As Char In invalidPathChars
'Sonderzeichen ausser Whitespace entfernen 'Sonderzeichen ausser Whitespace entfernen
@ -2288,10 +2287,10 @@ Public Class frmNIHauptseite
End If End If
Next sonderChar Next sonderChar
Logger(" - Fullpath (ohne SZ) '" & fullpath & "'", False) Logger("Fullpath (ohne SZ) '" & fullpath & "'", False)
If Directory.Exists(fullpath) = False Then If Directory.Exists(fullpath) = False Then
Directory.CreateDirectory(fullpath) Directory.CreateDirectory(fullpath)
Logger(" - Folder '" & fullpath & "' wurde angelegt", False, True) Logger("Folder '" & fullpath & "' wurde angelegt", False, True)
End If End If
aktivesProfil.CrFolder_Created_Folder = fullpath aktivesProfil.CrFolder_Created_Folder = fullpath
CURRENT_MOVE_FILEPATH = fullpath CURRENT_MOVE_FILEPATH = fullpath
@ -2299,39 +2298,39 @@ Public Class frmNIHauptseite
If aktivesProfil.CrFolder_Move = True Then If aktivesProfil.CrFolder_Move = True Then
Logger(" - Datei soll direkt auch verschoben werden.", False) Logger("Datei soll direkt auch verschoben werden.", False)
'Die aktuelle Datei soll gleichzeitig verschoben werden 'Die aktuelle Datei soll gleichzeitig verschoben werden
Dim extension As String = Path.GetExtension(fullfilename) Dim extension As String = Path.GetExtension(fullfilename)
Dim Dateiname As String = Path.GetFileName(fullfilename) Dim Dateiname As String = Path.GetFileName(fullfilename)
Dim _Pfad, _WDLaufwerk, _Ziel As String Dim _Pfad, _WDLaufwerk, _Ziel As String
_Ziel = fullpath & Dateiname _Ziel = fullpath & Dateiname
Logger(" - Ziel: " & _Ziel, False) Logger("Ziel: " & _Ziel, False)
'Nur verschieben und überprüfen wenn Pfad ungleich 'Nur verschieben und überprüfen wenn Pfad ungleich
If Path.GetDirectoryName(fullfilename) <> Path.GetDirectoryName(_Ziel) Then If Path.GetDirectoryName(fullfilename) <> Path.GetDirectoryName(_Ziel) Then
Dim Stammname As String = _Ziel.Substring(0, _Ziel.LastIndexOf(".")) Dim Stammname As String = _Ziel.Substring(0, _Ziel.LastIndexOf("."))
Dim version As Integer = 2 Dim version As Integer = 2
Do While clsHelper.file_exists(_Ziel, "NI") = True Do While clsHelper.file_exists(_Ziel, "NI") = True
version = version + 1 version = version + 1
Logger(" - Achtung: Datei ' " & Path.GetFileName(_Ziel) & "' existiert bereits!", False) Logger("Achtung: Datei ' " & Path.GetFileName(_Ziel) & "' existiert bereits!", False)
Dim neuername As String = Stammname & "~" & version & extension Dim neuername As String = Stammname & "~" & version & extension
_Ziel = neuername _Ziel = neuername
Loop Loop
My.Computer.FileSystem.MoveFile(fullfilename, _Ziel) My.Computer.FileSystem.MoveFile(fullfilename, _Ziel)
ClassLoggerNI.Add(" - Datei wurde nach CrFolderIndex-Methode erfolgreich verschoben", False) ClassLoggerNI.Add(">> Datei wurde nach CrFolderIndex-Methode erfolgreich verschoben", False)
Else Else
Logger(" - (CrFolderForIndex) Quell- und Zielordner identisch", False, True) Logger("(CrFolderForIndex) Quell- und Zielordner identisch", False, True)
If Path.GetFileName(fullfilename) <> Path.GetFileName(_Ziel) And File.Exists(_Ziel) Then If Path.GetFileName(fullfilename) <> Path.GetFileName(_Ziel) And File.Exists(_Ziel) Then
Logger(" - (CrFolderForIndex) Quell- und Zielname nicht identisch", False, True) Logger("(CrFolderForIndex) Quell- und Zielname nicht identisch", False, True)
FileSystem.Rename(_Ziel, Path.GetDirectoryName(_Ziel) & Path.GetFileName(fullfilename)) FileSystem.Rename(_Ziel, Path.GetDirectoryName(_Ziel) & Path.GetFileName(fullfilename))
ClassLoggerNI.Add(" - Datei wurde nach CrFolderIndex-Methode umbenannt", False) ClassLoggerNI.Add(">> Datei wurde nach CrFolderIndex-Methode umbenannt", False)
End If End If
End If End If
End If End If
Return False Return False
Else Else
Logger(" - Achtung es konnte kein dynamischer Pfad generiert werden!", True) Logger("Achtung es konnte kein dynamischer Pfad generiert werden!", True)
Return True Return True
End If End If