MS Convert Date und Unifying Convert

This commit is contained in:
2022-03-14 10:32:58 +01:00
parent e1a2005d8a
commit 990ce9f01b
250 changed files with 451567 additions and 47476 deletions

View File

@@ -340,7 +340,7 @@ Public Class ClassDIProfil
''' <remarks></remarks>
Public Function GetIndexArray(ByVal filename As String, ByVal quellverzeichnis As String, ByVal End_Verzeichnis As String) As ArrayList
Dim arr As ArrayList = New ArrayList
Dim oArray As ArrayList = New ArrayList
Try
' alle Regeln dieses Profils auslesen
@@ -350,7 +350,7 @@ Public Class ClassDIProfil
If regeln Is Nothing Then Return Nothing
' zuerst den Dateinamen ins Array schreiben
arr.Add(filename)
oArray.Add(filename)
Dim originalFilename = filename
@@ -369,8 +369,8 @@ Public Class ClassDIProfil
' alle Einträge im Array durchlaufen und prüfen ob für den Zielindex der aktuellen
' Regel bereits ein Eintrag existiert
For i As Integer = 0 To arr.Count - 1
If arr(i)(0) = regel._zielindex Then
For i As Integer = 0 To oArray.Count - 1
If oArray(i)(0) = regel._zielindex Then
gefunden = True
Exit For
End If
@@ -414,12 +414,12 @@ Public Class ClassDIProfil
Case Else
manWert = regel._art
End Select
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - " & filename & " - FESTEN WERT an Datei übergeben! - Wert " & manWert, False)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(">>>> " & filename & " - FESTEN WERT an Datei übergeben! - Wert " & manWert, False)
wert = manWert
Else
' jetzt an Hand der Regel den entsprechenden Teilstring aus dem Dateinamen auslesen
wert = regel.GetTeilstring(filename)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - " & filename & " - Auszuwertenden Wert an " & regel._indexieren_aus.ToUpper & " übergeben! - Wert " & wert.ToString, False)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(">>>> " & filename & " - Auszuwertenden Wert an " & regel._indexieren_aus.ToUpper & " übergeben! - Wert " & wert.ToString, False)
End If
@@ -468,7 +468,7 @@ Public Class ClassDIProfil
'Dim x As ArrayList = arr(arr_pos)(1)
' den neuen Teilstring einfach an das Array (beim Zielindex) anhängen
arr.Item(arr_pos).Item(1).Add(wert)
oArray.Item(arr_pos).Item(1).Add(wert)
Else '
Dim arr_regelgruppe As ArrayList = New ArrayList
@@ -488,7 +488,7 @@ Public Class ClassDIProfil
' zuletzt noch die komplette Gruppe (Zielindex und Teilstring) an das Array
' für die Datei anhängen
arr.Add(arr_regelgruppe)
oArray.Add(arr_regelgruppe)
End If
End If
End If
@@ -502,7 +502,7 @@ Public Class ClassDIProfil
End Try
' das Array für die aktuelle Datei zurückgeben
Return arr
Return oArray
End Function
#End Region

View File

@@ -827,6 +827,27 @@ Public Class ClassNIDatenbankzugriff
End Try
End Function
Public Shared Function Return_Datatable(Select_anweisung As String)
Try
Dim sw As New ClassStopwatch("Return_Datatable")
Dim SQLconnection As New SqlClient.SqlConnection(My.Settings.DDECMConString)
Dim SQLcommand As New SqlCommand(Select_anweisung, SQLconnection)
SQLconnection.Open()
Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(SQLcommand)
Dim dt As DataTable = New DataTable()
adapter1.Fill(dt)
SQLconnection.Close()
Dim msg = sw.Done
If msg <> "" Then _Logger.Debug($"SWResult: {msg}")
Return dt
Catch ex As Exception
_Logger.Error(ex)
Return Nothing
End Try
End Function
Public Function CheckIndex_MSSSQL(Profilname As String, ByVal scalar_select As String, ByVal datasource As String, ByVal User As String, ByVal pw As String, ByVal init_Cata As String)
Try
_Logger.Debug("MSSQL-Command: " & scalar_select)
@@ -877,6 +898,7 @@ Public Class ClassNIDatenbankzugriff
Return 0
End Try
End Function
Public Function CheckIndex_ODBC(Profilname As String, ByVal scalar_select As String, ByVal datasource As String, ByVal User As String, ByVal pw As String)
Try
_Logger.Debug("SQL-Command: " & scalar_select)

View File

@@ -105,6 +105,8 @@ Public Class ClassNIWindream
Type = "Vektor Numerisch"
Case 4099
Type = "Vektor Float"
Case 4100
Type = "Vektor Boolean"
Case 4101
Type = "Vektor Date"
Case 4103
@@ -115,6 +117,10 @@ Public Class ClassNIWindream
Type = "Vektor Integer(64bit)"
Case 36865
Type = "Vektor Alpha"
Case 8204
Type = "Vektor Integer"
Case 8
Type = "Vektor Boolean"
Case Else
Type = "String Else"
End Select
@@ -127,6 +133,8 @@ Public Class ClassNIWindream
Dim myArray
Try
If Indizes IsNot Nothing And aValues IsNot Nothing Then
_Logger.Debug(" RunIndexing_Vektor()...")
If Not oDocument.aLocked Then
oDocument.lock()
@@ -150,6 +158,8 @@ Public Class ClassNIWindream
_Logger.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch")
Case 4099
_Logger.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl")
Case 4100
_Logger.Debug("Typ des windream-Indexes: 4100 Vektor Boolean")
Case 4101
_Logger.Debug("Typ des windream-Indexes: 4101 Vektor Date")
Case 4103
@@ -158,6 +168,10 @@ Public Class ClassNIWindream
_Logger.Debug("Typ des windream-Indexes: 4107 Vektor Integer(64bit)")
Case 36865
_Logger.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
Case 8204
_Logger.Debug("Typ des windream-Indexes: 8204 Integer")
Case 8
_Logger.Debug("Typ des windream-Indexes: 8 Vektor Boolean")
End Select
Dim Anzahl As Integer = aValues.Length - 1
@@ -165,25 +179,7 @@ Public Class ClassNIWindream
If Anzahl = 0 Then
_Logger.Debug("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0)
Select Case (vType)
Case 4097
myArray(0) = CStr(aValues(0))
Case 4098
myArray(0) = CInt(aValues(0).Replace(" ", ""))
Case 4099
Dim str As String = aValues(0)
str = str.ToString.Replace(" ", "")
myArray(0) = CDbl(str.Replace(".", ","))
Case 4101
myArray(0) = CDate(aValues(0))
Case 4103
myArray(0) = aValues(0)
Case 4107
myArray(0) = Convert.ToInt64(aValues(0))
Case 36865
myArray(0) = CStr(aValues(0))
End Select
myArray(0) = Convert_IndexValue(vType, aValues(0))
_Logger.Debug("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString)
Else
_Logger.Debug("RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten gefüllt ")
@@ -195,18 +191,12 @@ Public Class ClassNIWindream
For Each aValue As String In aValues
_value = aValue
Select Case (vType)
Case 4107
Dim wert = aValue.Replace(" ", "")
wert = Convert.ToInt64(wert) 'ToInt64
myArray(i1) = wert
Case 4097
myArray(i1) = CStr(aValue)
Case 4098
Dim wert = aValue.Replace(" ", "")
Dim convertValue
If IsNumeric(wert) Then
Try
convertValue = CInt(wert)
myArray(i1) = Convert_IndexValue(vType, aValue)
Catch ex As Exception
_Logger.Debug("Wert muss in Int64 konvertiert werden")
convertValue = Convert.ToInt64(wert) 'ToInt64
@@ -215,18 +205,9 @@ Public Class ClassNIWindream
' ClassLoggerNI.Add(" - Indexierungswert '" & wert.ToString & "' kann nicht in Integer konvertiert werden")
Return False
End If
myArray(i1) = convertValue
Case 4099
myArray(i1) = CDbl(aValue.Replace(".", ",").Replace(" ", ""))
Case 4101
myArray(i1) = CDate(aValue)
Case 4103
myArray(i1) = aValue
Case 36865
myArray(i1) = CStr(aValue)
Case Else
myArray(i1) = CStr(aValue)
myArray(i1) = Convert_IndexValue(vType, aValue)
End Select
i1 += 1
Next
@@ -352,10 +333,7 @@ Public Class ClassNIWindream
_Logger.Debug($"RunIndexing on Index [{aName}]...dwAttrType [{vType}]..")
' wenn in aValues an Position i ein Wert steht
If Me.IsNotEmpty(aValues(i)) Then
Dim _int As Boolean = False
Dim _date As Boolean = False
Dim _dbl As Boolean = False
Dim _bool As Boolean = False
'If indexname = "Tournr" Then
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
'End If
@@ -381,35 +359,31 @@ Public Class ClassNIWindream
Else
frmNIHauptseite._MRKONVERT_FEHLER = 0
End If
value = value.ToString.Replace(" ", "")
convertValue = CInt(value)
_int = True
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeFloat
_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
value = value.ToString.Replace(" ", "")
convertValue = CDbl(value)
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeFixedPoint
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
value = value.ToString.Replace(" ", "")
convertValue = value
_dbl = True
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeBoolean
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
convertValue = CBool(value)
_bool = True
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeDate
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
_date = True
'Dim _date As Date = value
convertValue = value
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeTimeStamp
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
convertValue = CDate(value)
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeCurrency
' _Logger.Debug(">> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
'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))
convertValue = aValueWrapper
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeTime
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime")
'If ((value)) Then
@@ -418,16 +392,16 @@ Public Class ClassNIWindream
' convertValue = ""
'End If
'Dim _date As Date = value
convertValue = convertValue '*_date.ToShortTimeString
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeFloat
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
convertValue = CStr(value)
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeVariant
'_Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant")
convertValue = CStr(value)
convertValue = Convert_IndexValue(vType, value)
Case WMObjectVariableValueTypeFulltext
' _Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext")
convertValue = CStr(value)
convertValue = Convert_IndexValue(vType, value)
Case 4097
' _Logger.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch")
'Vektor alphanumerisch
@@ -440,6 +414,9 @@ Public Class ClassNIWindream
'_Logger.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl")
'Vektor Kommazahl
vektor = True
Case 4100
'Vektor Boolean
vektor = True
Case 4101
' _Logger.Debug("Typ des windream-Indexes: 4101 Vektor Date")
'Vektor Kommazahl
@@ -451,13 +428,19 @@ Public Class ClassNIWindream
Case 4107
' _Logger.Debug("Typ des windream-Indexes: 4107 Integer 64bit")
vektor = True
Case 8204
' _Logger.Debug("Typ des windream-Indexes: 4107 Integer 64bit")
vektor = True
Case 36865
' _Logger.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
'Vektor Kommazahl
vektor = True
Case 8193
_Logger.Debug("Typ des WMIndexes: manuellerVolltext")
convertValue = CStr(value)
convertValue = Convert_IndexValue(vType, value)
Case 8
_Logger.Debug("Typ des WMIndexes: Vektor 8 Boolean")
vektor = True
Case Else
_Logger.Warn("Typ des windream-Indexes konnte nicht bestimmt werden!")
_Logger.Debug("Versuch des Auslesens (vType): " & vType)
@@ -476,19 +459,8 @@ Public Class ClassNIWindream
If convertValue.ToString Is Nothing = False Then
_Logger.Debug("oDocument.SetVariableValue(" & aName & ", " & convertValue & ")")
Try
If _int = True Then
convertValue = convertValue.ToString.Replace(" ", "")
oDocument.SetVariableValue(aName, CInt(convertValue))
ElseIf _date = True Then
oDocument.SetVariableValue(aName, CDate(convertValue))
ElseIf _bool Then
oDocument.SetVariableValue(aName, CBool(convertValue))
ElseIf _dbl Then
convertValue = convertValue.ToString.Replace(" ", "")
oDocument.SetVariableValue(aName, CDbl(convertValue))
Else
oDocument.SetVariableValue(aName, convertValue)
End If
convertValue = Convert_IndexValue(vType, value)
oDocument.SetVariableValue(aName, convertValue)
'Die Datei speichern
oDocument.Save()
Catch ex As Exception
@@ -532,10 +504,10 @@ Public Class ClassNIWindream
Dim oAnzahl As Integer = BS.Count
'Vektorfeld wird mit EINEM Wert gefüllt
If oAnzahl = 0 Then
If oAnzahl = 1 Then
_Logger.Debug("Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0)
myArray(0) = Convert_VectorType(vType, value)
myArray(0) = Convert_IndexValue(vType, value)
'Jetzt überprüfen ob Werte in Vektorfeld angefügt oder überschrieben werden sollen
_Logger.Debug("Konvertierter Wert: " & myArray(0).ToString)
@@ -565,7 +537,7 @@ Public Class ClassNIWindream
Dim oIndex As Integer = 0
For Each oString As String In oVektorList
myArray(oIndex) = Convert_VectorType(vType, oString)
myArray(oIndex) = Convert_IndexValue(vType, oString)
oIndex += 1
Next
@@ -576,7 +548,7 @@ Public Class ClassNIWindream
End Try
oDocument.SetVariableValue(aName, myArray)
'End If
_Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich")
_Logger.Debug("[SetVariableValue] für VEKTOR erfolgreich")
'Die Änderungen festsschreiben/speichern
oDocument.Save()
Catch ex As Exception
@@ -603,13 +575,8 @@ Public Class ClassNIWindream
For Each DR In DT_VEKTOR.Rows
If DR.Item("IndexName") = aName.ToString Then
If vType = 4098 Then
myArray(i1) = CInt(DR.Item("Value"))
ElseIf vType = 4101 Then
myArray(i1) = CDate(DR.Item("Value"))
Else
myArray(i1) = CStr(DR.Item("Value"))
End If
myArray(i1) = Convert_IndexValue(vType, value)
_Logger.Debug("Value (" & i1 & "): '" & DR.Item("Value").ToString & "'")
i1 = i1 + 1
End If
@@ -622,7 +589,7 @@ Public Class ClassNIWindream
Dim VektorArray
Select Case Me._selectedProfil._links.selectedLink.vktins_state
Case 1
_Logger.Debug("vektInsState = '1'")
_Logger.Debug("vektInsState = '1' - Vekrotvalues will be replaced")
Dim z As Integer = 0
Try
ReDim VektorArray(myArray.Length)
@@ -631,16 +598,14 @@ Public Class ClassNIWindream
End Try
For Each str As Object In myArray
If str Is Nothing = False Then
For Each oVectValue As Object In myArray
If oVectValue Is Nothing = False Then
'Das Array anpassen
ReDim Preserve VektorArray(z)
'Den Wert im Array speichern
If vType = 4098 Then
VektorArray(z) = CInt(str)
Else
VektorArray(z) = str
End If
VektorArray(z) = Convert_IndexValue(vType, oVectValue)
z += 1
End If
Next
@@ -660,7 +625,7 @@ Public Class ClassNIWindream
End Try
Dim oIndex As Integer = 0
For Each oStr As String In VektorArray
myArray(oIndex) = oStr
myArray(oIndex) = Convert_IndexValue(vType, oStr)
oIndex += 1
Next
@@ -747,7 +712,7 @@ Public Class ClassNIWindream
Try
If oWMValueExisting Is Nothing = False Then
_Logger.Debug($"oWMValueExisting = [{oWMValueExisting.ToString}]")
Dim oconvertedvalue = Convert_VectorType(vType, oWMValueExisting.ToString)
Dim oconvertedvalue = Convert_IndexValue(vType, oWMValueExisting.ToString)
oValues.Add(oconvertedvalue)
Anzahl += 1
End If
@@ -764,7 +729,7 @@ Public Class ClassNIWindream
If oNewValue Is Nothing = False Then
_Logger.Debug($"oNewValue = [{oNewValue}]")
'Den Wert im Array speichern
oValues.Add(Convert_VectorType(vType, oNewValue))
oValues.Add(Convert_IndexValue(vType, oNewValue))
Anzahl += 1
End If
@@ -774,7 +739,7 @@ Public Class ClassNIWindream
'Duplikat Prüfung an, also nur anhängen wenn Wert <>
For Each WDValue As Object In oWMValue
If WDValue Is Nothing = False Then
oValues.Add(Convert_VectorType(vType, WDValue.ToString))
oValues.Add(Convert_IndexValue(vType, WDValue.ToString))
Anzahl += 1
End If
Next
@@ -782,7 +747,7 @@ Public Class ClassNIWindream
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
If oValues.Contains(NewValue) = False Then
oValues.Add(Convert_VectorType(vType, NewValue))
oValues.Add(Convert_IndexValue(vType, NewValue))
Anzahl += 1
Else
_Logger.Debug(">> Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten")
@@ -799,19 +764,19 @@ Public Class ClassNIWindream
If CheckDuplikat = True Then
If oValues.Count > 0 Then
If oValues.Contains(NewValue) = False Then
oValues.Add(Convert_VectorType(vType, NewValue))
oValues.Add(Convert_IndexValue(vType, NewValue))
Anzahl += 1
Else
_Logger.Debug(">> Value '" & NewValue.ToString & "' bereits in Array enthalten")
End If
Else 'Dererste Wert, also hinzufügen
oValues.Add(Convert_VectorType(vType, NewValue))
oValues.Add(Convert_IndexValue(vType, NewValue))
Anzahl += 1
End If
Else
oValues.Add(Convert_VectorType(vType, NewValue))
oValues.Add(Convert_IndexValue(vType, NewValue))
Anzahl += 1
End If
End If
@@ -826,34 +791,68 @@ Public Class ClassNIWindream
End Function
Private Shared Function Convert_VectorType(vType As Object, value As String)
Private Shared Function Convert_IndexValue(vType As Object, oIndexValue As String)
Select Case vType
Case 8
'Umwandeln in Boolean
oIndexValue = oIndexValue.ToString.Replace(" ", "")
Return CBool(oIndexValue)
Case WMObjectVariableValueTypeBoolean
oIndexValue = oIndexValue.ToString.Replace(" ", "")
Return CBool(oIndexValue)
Case 36865
'Umwandeln in String
Return CStr(value)
Return CStr(oIndexValue)
Case 4097
'Umwandeln in String
Return CStr(value)
Return CStr(oIndexValue)
Case 4098
'Umwandeln in Integer
value = value.ToString.Replace(" ", "")
Return CInt(value)
oIndexValue = oIndexValue.ToString.Replace(" ", "")
Return CInt(oIndexValue)
Case WMObjectVariableValueTypeFixedPoint
oIndexValue = oIndexValue.ToString.Replace(" ", "")
Return CInt(oIndexValue)
Case 4099
Dim Str As String = value
Dim Str As String = oIndexValue
Str = Str.ToString.Replace(" ", "")
Str = Str.Replace(".", ",").Replace(" ", "")
'Umwandeln in Double
Return CDbl(Str.Replace(".", ","))
Return CDbl(Str)
Case WMObjectVariableValueTypeFloat
Dim Str As String = oIndexValue
Str = Str.ToString.Replace(" ", "")
Str = Str.Replace(".", ",").Replace(" ", "")
'Umwandeln in Double
Return CDbl(Str)
Case 4099
Dim Str As String = oIndexValue
Str = Str.ToString.Replace(" ", "")
Case 4100
'Umwandeln in Boolean
Return CBool(oIndexValue)
Case WMObjectVariableValueTypeDate
'Umwandeln in Date
Return CDate(oIndexValue)
Case 4101
'Umwandeln in Date
Return CDate(value)
'Umwandeln in Date
Return CDate(oIndexValue)
Case 4107
Return Convert.ToInt64(value)
oIndexValue = oIndexValue.Replace(" ", "")
Return Convert.ToInt64(oIndexValue)
Case 4103
'Umwandeln in Datum Uhrzeit
Return value
Return oIndexValue
Case 8204
oIndexValue = oIndexValue.Replace(" ", "")
Return CInt(oIndexValue)
Case WMObjectVariableValueTypeCurrency
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(oIndexValue))
Return aValueWrapper
Case Else
'Umwandeln in String
Return CStr(value)
Return CStr(oIndexValue)
End Select
End Function
Private Function AddToArray(ByVal myArray As Object, Anzahl As Integer, newvalue As Object)

View File

@@ -42,11 +42,13 @@ Public Class ClassWD_Rechte
Private Shared _Logger As DigitalData.Modules.Logging.Logger
Private Shared _MyLogger As LogConfig
Private _sqlite As ClassSQLITE
Private database As ClassNIDatenbankzugriff
#End Region
Sub New(LogConfig As LogConfig, _mysqlite As ClassSQLITE)
_MyLogger = LogConfig
_Logger = _MyLogger.GetLogger
_sqlite = _mysqlite
database = New ClassNIDatenbankzugriff(CURR_LogConfig)
End Sub
''' <summary>
''' Initialisiert die statische Klasse (Login, Session starten, usw.)
@@ -225,25 +227,21 @@ Public Class ClassWD_Rechte
Dim _UserOrGroup
Dim _lRight As Integer
Dim _Erfolgreich As Boolean = True
Dim DT As DataTable = _sqlite.Return_Datatable("select * from TBNI_NACHBEARBEITUNG_AD WHERE GUID = '" & profilID & "'", _form)
If DT Is Nothing = False Then
If DT.Rows.Count = 1 Then
Dim DTPROFIL As DataTable = _sqlite.Return_Datatable("select * from TBNI_NACHBEARBEITUNG_AD WHERE GUID = '" & profilID & "'", _form)
If DTPROFIL Is Nothing = False Then
If DTPROFIL.Rows.Count = 1 Then
'Profildaten laden
For Each row As DataRow In DT.Rows
deleteRights = CBool(row.Item("DEL_ALL_RIGHTS"))
domain = row.Item("Domain")
Username = row.Item("Username")
PW = row.Item("Password")
Server = row.Item("Servername")
Next
Dim DTR As DataTable = _sqlite.Return_Datatable("select * from TBNI_NB_STEP_AD WHERE GUID = " & regelid, _form)
If DTR.Rows.Count = 1 Then
For Each row As DataRow In DTR.Rows
_methode = row.Item("Methode")
_GruppenUserRecht = row.Item("RECHTENAME")
_UserOrGroup = row.Item("GROUP_OR_USER")
_lRight = row.Item("ACCESS_RIGHT")
Next
deleteRights = CBool(DTPROFIL.Rows(0).Item("DEL_ALL_RIGHTS"))
domain = CStr(DTPROFIL.Rows(0).Item("Domain"))
Username = DTPROFIL.Rows(0).Item("Username")
PW = DTPROFIL.Rows(0).Item("Password")
Server = DTPROFIL.Rows(0).Item("Servername")
Dim DTSTEP As DataTable = _sqlite.Return_Datatable("select * from TBNI_NB_STEP_AD WHERE GUID = " & regelid, _form)
If DTSTEP.Rows.Count = 1 Then
_methode = DTSTEP.Rows(0).Item("Methode")
_GruppenUserRecht = DTSTEP.Rows(0).Item("RECHTENAME")
_UserOrGroup = DTSTEP.Rows(0).Item("GROUP_OR_USER")
_lRight = DTSTEP.Rows(0).Item("ACCESS_RIGHT")
Else
Dim msg = "Fehler in File_Delete_SetRight: Es konnte keine eindeutige AD-Regel gelesen werden!"
If _form = True Then
@@ -257,10 +255,7 @@ Public Class ClassWD_Rechte
End If
Dim oSession
Dim oWMObject As WINDREAMLib.WMObject
Dim UserGroupRelation
Dim UserOrGroup
Dim oGroup
Dim oUSer
oSession = GetWMSessionAsUser(domain, Server, Username, PW, _form)
If Err.Number <> 0 Then
@@ -358,8 +353,47 @@ Public Class ClassWD_Rechte
Return _Erfolgreich
End If
End If
ElseIf _GruppenUserRecht.ToString.ToLower.StartsWith("select") Then
_GruppenUserRecht = _GruppenUserRecht.ToString.Replace("[%Dokument-ID]", CURRENT_DOCID)
_GruppenUserRecht = database.Return_Datatable(_GruppenUserRecht)
End If
Dim oType = _GruppenUserRecht.GetType.ToString
If oType = "System.Data.DataTable" Then
Dim oDTRights2Set As DataTable = CType(_GruppenUserRecht, DataTable)
Dim oResult As Boolean = True
For Each oRow As DataRow In oDTRights2Set.Rows
Dim oRight2Set = oRow.Item(0).ToString
oResult = WorkRight(_methode, createdFolder, _form, oWMObject, deleteRights, folgeRegel, _UserOrGroup, oRight2Set, _lRight)
If oResult = False Then
Return False
End If
Next
Return True
Else
Return WorkRight(_methode, createdFolder, _form, oWMObject, deleteRights, folgeRegel, _UserOrGroup, _GruppenUserRecht, _lRight)
End If
Else
Dim msg = "FEHLER : es konnte keine Session erzeugt werden!"
If _form = True Then
MsgBox(msg, MsgBoxStyle.Critical)
Else
_Logger.Warn(msg)
End If
_Erfolgreich = False
Return _Erfolgreich
End If
End Function
Private Function WorkRight(_methode As String, createdFolder As String, _form As Boolean, oWMObject As WINDREAMLib.WMObject, deleteRights As Boolean, folgeRegel As Boolean, _UserOrGroup As String,
_GruppenUserRecht As String, _lRight As Integer) As Boolean
Try
Dim _Erfolgreich As Boolean = True
Dim UserGroupRelation
Dim UserOrGroup
Dim oGroup
Dim oUSer
Dim Object2Change As WINDREAMLib.WMObject
If _methode = "AddRightFolder" Then
Object2Change = oWMObject.aParentWMObject
@@ -677,16 +711,10 @@ Public Class ClassWD_Rechte
'jetzt True zurückgeben
Return _Erfolgreich
Else
Dim msg = "FEHLER : es konnte keine Session erzeugt werden!"
If _form = True Then
MsgBox(msg, MsgBoxStyle.Critical)
Else
_Logger.Warn(msg)
End If
_Erfolgreich = False
Return _Erfolgreich
End If
Catch ex As Exception
_Logger.Error(ex)
Return False
End Try
End Function
Private Function CHECK_Right_Exists(AccessRightsObject As Object, UserOrGroup As Object)
Try

View File

@@ -29,4 +29,6 @@ Module ModuleCURRENT
Public Stopwatch1 As String
Public Stopwatch2 As String
Public CURRENT_UNTERV As List(Of String)
Public CURRENT_DOCID As Int64
End Module

View File

@@ -24,7 +24,7 @@ Namespace My
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = true
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses

View File

@@ -2,7 +2,7 @@
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmStart</MainForm>
<SingleInstance>true</SingleInstance>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>

View File

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

View File

@@ -15,7 +15,7 @@ Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
@@ -446,15 +446,6 @@ Namespace My
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString)> _
Public ReadOnly Property Setting() As String
Get
Return CType(Me("Setting"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("modDDIntegrationConfig.xml"), _
@@ -830,7 +821,7 @@ Namespace My
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("10;11;12")> _
Global.System.Configuration.DefaultSettingValueAttribute("01;02;03;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23")> _
Public ReadOnly Property NI_WORKING_HOURS() As String
Get
Return CType(Me("NI_WORKING_HOURS"),String)
@@ -875,7 +866,7 @@ Namespace My
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public ReadOnly Property StopwatchTimerActive() As Boolean
Get
Return CType(Me("StopwatchTimerActive"),Boolean)

View File

@@ -100,10 +100,6 @@
<Setting Name="frmNIProfileigenschaften" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="Setting" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)" />
<Value Profile="(Default)" />
</Setting>
<Setting Name="vMIConfigDatei" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">modDDIntegrationConfig.xml</Value>
</Setting>
@@ -198,7 +194,7 @@
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="NI_WORKING_HOURS" Type="System.String" Scope="Application">
<Value Profile="(Default)">10;11;12</Value>
<Value Profile="(Default)">01;02;03;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23</Value>
</Setting>
<Setting Name="FB_DATASOURCE" Type="System.String" Scope="Application">
<Value Profile="(Default)" />
@@ -213,7 +209,7 @@
<Value Profile="(Default)" />
</Setting>
<Setting Name="StopwatchTimerActive" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">True</Value>
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="DIOpt_CheckLength" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">False</Value>

View File

@@ -128,7 +128,7 @@
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.5.8\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.11\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="Oracle.ManagedDataAccess">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Oracle.ManagedDataAccess.dll</HintPath>
@@ -413,6 +413,7 @@
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>

View File

@@ -1,35 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="ToolCollection.My.MySettings.DDECMConString" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd"
providerName="System.Data.SqlClient" />
<add name="ToolCollection.My.MySettings.DDECMConString" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<add name="FileLog" />
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" />
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
@@ -235,7 +234,7 @@
<value>0</value>
</setting>
<setting name="NI_WORKING_HOURS" serializeAs="String">
<value>10;11;12</value>
<value>01;02;03;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23</value>
</setting>
<setting name="FB_DATASOURCE" serializeAs="String">
<value />
@@ -250,7 +249,7 @@
<value />
</setting>
<setting name="StopwatchTimerActive" serializeAs="String">
<value>True</value>
<value>False</value>
</setting>
<setting name="DIOpt_CheckLength" serializeAs="String">
<value>False</value>
@@ -261,32 +260,32 @@
</ToolCollection.My.MySettings>
</applicationSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
<remove invariant="System.Data.SQLite.EF6"/>
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".Net Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
<remove invariant="System.Data.SQLite" />
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".Net Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
</DbProviderFactories>
</system.data>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.92.0" newVersion="1.0.92.0"/>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.92.0" newVersion="1.0.92.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

View File

@@ -363,14 +363,14 @@ Public Class frmDIHauptseite
Dim fs As Integer = FreeFile()
Dim inuse As Boolean = False
If File.Exists(filename) Then
Try
FileOpen(fs, filename, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
Catch ex As Exception
ClassLoggerDI.Add(" ## File " & filename & " inuse or not able to open - message: " & ex.Message, False)
inuse = True
Finally
FileClose(fs)
End Try
'Try
' FileOpen(fs, filename, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
'Catch ex As Exception
' ClassLoggerDI.Add(" ## File " & filename & " inuse or not able to open - message: " & ex.Message, False)
' inuse = True
'Finally
' FileClose(fs)
'End Try
End If
Return inuse
End Function
@@ -379,14 +379,14 @@ Public Class frmDIHauptseite
Try
Dim Argument As String = """" & Dokart & """" & " " & """" & index & """" & " " & """" & dateinamelink & """" & " " & """" & dateiname & """"
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" *Argument: " & Argument, False)
DetailLog("*Argument: " & Argument)
Dim psi As New ProcessStartInfo(My.Settings.PathLink2Navision)
psi.UseShellExecute = False
psi.RedirectStandardError = True
psi.RedirectStandardOutput = True
psi.Arguments = Argument
p = Process.Start(psi)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" *Prozess gestartet", False)
DetailLog("*Prozess gestartet")
'psi.UseShellExecute = False
'psi.RedirectStandardError = True
'psi.RedirectStandardOutput = True
@@ -452,15 +452,15 @@ Public Class frmDIHauptseite
Me.arrayDateiinformationen = New ArrayList
If Me.ImportFileList.Count > 0 Then
ClassLoggerDI.Add(" Insgesamt sollen [" & Me.ImportFileList.Count & "] Dateien importiert werden", False)
ClassLoggerDI.Add(">> Insgesamt sollen [" & Me.ImportFileList.Count & "] Dateien importiert werden", False)
Else
ClassLoggerDI.Add(" Keine Dateien vorhanden", False)
ClassLoggerDI.Add(">> Keine Dateien vorhanden", False)
Exit Sub
End If
Dim fileAusschliessen As Boolean = False
If Me.selectedProfile.Subdirectories = True Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" > Subdirectories activated", False)
DetailLog("Subdirectories activated")
CURRENT_UNTERV = New List(Of String)
For Each oSubdirectory In Directory.GetDirectories(Path.GetDirectoryName(Me.selectedProfile.OriginalQuellordner & "\"), "*.*")
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add($" > checking Subdirectory [{oSubdirectory}]", False)
@@ -474,7 +474,7 @@ Public Class frmDIHauptseite
ClassLoggerDI.Add(" >CURRENT_UNTERV filled", False)
End If
Else
oLastFolderinFiles = Me.selectedProfile.OriginalQuellordner
oLastFolderinFiles = Me.selectedProfile.OriginalQuellordner
End If
For Each filename As String In Me.ImportFileList
@@ -485,6 +485,8 @@ Public Class frmDIHauptseite
'indexArray = Me.selectedProfile.GetIndexArray(filename, Me.txtQuellordner.Text)
'Me.arrayDateiinformationen.Add(indexArray)
Me.arrayDateiinformationen.Add(resultArray)
Else
ClassLoggerDI.Add("ATTENTION: Profil_Durchlauf isNothing!!", False)
End If
If Me.threadDateiimport.CancellationPending Then
@@ -492,7 +494,7 @@ Public Class frmDIHauptseite
End If
Next
If Me.ImportFileList.Count > 0 Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" > Array mit allen Informationen konnte erfolgreich erzeugt werden", False)
DetailLog("Array mit allen Informationen konnte erfolgreich erzeugt werden")
End If
'Console.WriteLine("Durchlauf von DoWork")
@@ -505,7 +507,7 @@ Public Class frmDIHauptseite
' alle Dateien durchlaufen
If Me.ImportFileList.Count > 0 Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" > Now For Each oFilenameQuelle As String In Me.ImportFileList", False)
DetailLog("Now For Each oFilenameQuelle As String In Me.ImportFileList")
End If
For Each oFilenameQuelle As String In Me.ImportFileList
fileAusschliessen = False
@@ -612,25 +614,25 @@ Public Class frmDIHauptseite
If Me.selectedProfile IsNot Nothing Then
If Me.selectedProfile.Backup Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" Backup soll angelegt werden", False)
DetailLog("Backup soll angelegt werden")
'If My.Computer.FileSystem.FileExists(Me.selectedProfile.Backupordner & "\" & dateiname) Then
If My.Computer.FileSystem.FileExists(Me.selectedProfile.Backupordner & quellUnterverzeichnis & "\" & dateiname) Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" :3.1:Backupdatei existiert", False)
DetailLog(":3.1:Backupdatei existiert")
If Me.selectedProfile.Overwrite = False Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" :3.1.1:nicht überschreiben", False)
DetailLog(":3.1.1:nicht überschreiben")
My.Computer.FileSystem.CopyFile(Me.bgwQuelldatei, Me.selectedProfile.Backupordner & quellUnterverzeichnis & "\" & dateinameOhneExt & vAnhangDateTime)
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" :3.1.2:überschreiben", False)
DetailLog(":3.1.2:überschreiben")
My.Computer.FileSystem.DeleteFile(Me.selectedProfile.Backupordner & quellUnterverzeichnis & "\" & dateiname)
My.Computer.FileSystem.CopyFile(Me.bgwQuelldatei, Me.selectedProfile.Backupordner & quellUnterverzeichnis & "\" & dateiname)
End If
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" :3.2:Backupdatei existiert noch nicht", False)
DetailLog(":3.2:Backupdatei existiert noch nicht")
My.Computer.FileSystem.CopyFile(Me.bgwQuelldatei, Me.selectedProfile.Backupordner & quellUnterverzeichnis & "\" & dateiname)
End If
End If
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - DateiÜbertragen wird nun aufgerufen", False)
DetailLog("DateiÜbertragen wird nun aufgerufen")
'#############################
'Datei-Übertragung
'#############################
@@ -678,9 +680,9 @@ Public Class frmDIHauptseite
End Try
'Übertragen war erfolgreich, alles ok!
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" >> Stream war erfolgreich", False)
DetailLog("Stream war erfolgreich")
If Me.selectedProfile.DateiLöschen Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei soll gelöscht werden: " & bgwQuelldatei, False)
DetailLog("Datei soll gelöscht werden: " & bgwQuelldatei)
Try
My.Computer.FileSystem.DeleteFile(Me.bgwQuelldatei)
Catch ex As Exception
@@ -694,14 +696,14 @@ Public Class frmDIHauptseite
End Try
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei wurde gelöscht", False)
DetailLog("Datei wurde gelöscht")
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Stream-Routine beendet", False)
DetailLog("Stream-Routine beendet")
If Me.selectedProfile.Link2Navision = True And My.Settings.PathLink2Navision <> "" Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" #### Link2Navision ist aktiviert ####", False)
DetailLog("#### Link2Navision ist aktiviert ####")
'Q:/Extern/WWS/Ausgangsrechnung/ARE-120018-Demo Adresse 16001~1.pdf
Dim _dateiname As String = IO.Path.GetFileName(DI_STREAMRESULTFILE)
Dim _Dokart, _Indexwert As String
@@ -757,7 +759,7 @@ Public Class frmDIHauptseite
'Subdirectory-Folder Löschen
If selectedProfile.UVVerzeichnisLoeschen = True Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Unterverzeichnisse sollen gelöscht werden.", False)
DetailLog("Unterverzeichnisse sollen gelöscht werden.")
If oFileAusschlussList.Count > 0 Then
For Each Dir As String In oSubDirectoryList
Dim dir_ex As Boolean = False
@@ -774,7 +776,7 @@ Public Class frmDIHauptseite
ClassLoggerDI.Add(" - Das Unterverzeichnis '" & Dir & "' wurde NICHT gelöscht!", False)
ClassLoggerDI.Add(" - FEHLERMELDUNG: " & Err.Description, False)
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Das Unterverzeichnis '" & Dir & "' wurde gelöscht!", False)
DetailLog("Das Unterverzeichnis '" & Dir & "' wurde gelöscht!")
End If
End If
End If
@@ -787,17 +789,17 @@ Public Class frmDIHauptseite
ClassLoggerDI.Add(" - Das Unterverzeichnis '" & Dir & "' wurde NICHT gelöscht", False)
ClassLoggerDI.Add(" - FEHLERMELDUNG: " & Err.Description, False)
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Das Unterverzeichnis '" & Dir & "' wurde gelöscht!", False)
DetailLog("Das Unterverzeichnis '" & Dir & "' wurde gelöscht!")
End If
Next
End If
End If
If Me.selectedProfile.VerzeichnisLöschen Then
'MsgBox(quellVerzeichnis)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Das Quellverzeichnis soll gelöscht werden", False)
DetailLog("Das Quellverzeichnis soll gelöscht werden")
Try
My.Computer.FileSystem.DeleteDirectory(selectedProfile.Quellordner, FileIO.DeleteDirectoryOption.ThrowIfDirectoryNonEmpty)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Das Quellverzeichnis wurde gelöscht!", False)
DetailLog("Das Quellverzeichnis wurde gelöscht!")
Catch ex As Exception
ClassLoggerDI.Add("Das Quellverzeichis wurde NICHT gelöscht " & ex.Message, True)
End Try
@@ -955,115 +957,6 @@ Public Class frmDIHauptseite
End Sub
#Region "***** windream-Übertragung *****"
Public Function DateiÜbertragen(ByVal filenameQuelle As String, ByVal zielpfad As String, ByVal _Indexname As String)
On Error Resume Next
Dim fso As Scripting.FileSystemObject = CreateObject("Scripting.FileSystemObject")
Dim endgültigerDateiname As String = ""
Dim WMObject As WINDREAMLib.WMObject '= CreateObject("WINDREAMLib.WMObject") 'New WINDREAMLib.WMObject
' Objekt für Datei und Zielverzeichnis anlegen
Dim Quelldatei As Scripting.File = fso.GetFile(filenameQuelle)
Dim targetPath As String = zielpfad & Quelldatei.ParentFolder.Path.Substring(Me.txtQuellordner.Text.Length)
' das Verzeichnis wurde angelegt -> Objekt kann also geleert werden
WMObject = Nothing
My.Computer.FileSystem.CreateDirectory(targetPath)
Dim Zielverzeichnis As Scripting.Folder = fso.GetFolder(targetPath)
' Datei kopieren von " & filenameQuelle & " nach " & targetPath.Substring(2) & "\" & Quelldatei.Name & ".", False)
'MsgBox(filenameQuelle & vbNewLine & Me.GetDateinameZielAusQuelle(filenameQuelle) & vbNewLine & My.Computer.FileSystem.FileExists(ZielDateiname))
If My.Computer.FileSystem.DirectoryExists(targetPath) Then
' Überprüfen ob der zu Kopieren notwendige Speicherplatz auf Ziellaufwerk vorhanden ist
If Zielverzeichnis.Drive.FreeSpace < Quelldatei.Size Then
MsgBox("Auf dem Zielverzeichnis ist nicht genug Speicherplatz zum Übertragen frei.", MsgBoxStyle.Exclamation, "Nicht genug Speicherplatz")
Return -10
End If
Dim oWMFileIO = CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
' Erzeuge Object in windream; VERSUCHT DIE DATEI ZU ÖFFNEN
If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject = _windream.oWMSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, targetPath.Substring(2) & "\" & Quelldatei.Name)
'Versuch auf die Datei in W: zuzugreifen
'If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject.lock()
' wenn die Datei nicht geladen werden konnte, existiert sie nicht -> kann also ohne Erweiterung angelegt werden
If WMObject IsNot Nothing Then
' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen
'Es konnte zugegriffen werden -> Datei ist bereits vorhanden")
' --> neuer Dateiname ist " & Quelldatei.Name.Substring(0, Quelldatei.Name.LastIndexOf(".")) & "_" & Now.ToString("yyyMMdd_HHmmss") & Quelldatei.Name.Substring(Quelldatei.Name.LastIndexOf(".")))
Err.Clear()
endgültigerDateiname = targetPath.Substring(2) & "\" & Quelldatei.Name.Substring(0, Quelldatei.Name.LastIndexOf(".")) & "_" & Now.ToString("yyyMMdd_HHmmss") & Quelldatei.Name.Substring(Quelldatei.Name.LastIndexOf("."))
' mit angehängtem Datum
If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject = _windream.oWMSession.GetNewWMObjectFS(WINDREAMLib.WMEntity.WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject)
' wenn ein Fehler auftritt -> Fehler ausgeben
'If Err.Number <> 0 Then MsgBox(targetPath.Substring(2) & "\" & Quelldatei.Name & vbNewLine & "(" & Err.Number & ") " & Err.Description, MsgBoxStyle.Exclamation, "Fehler beim Importieren der Datei (Datei existiert noch nicht)")
Else
'Es konnte NICHT zugegriffen werden -> Datei ist nicht vorhanden, kann also einfach neu angelegt werden -> alles okay soweit")
Err.Clear()
endgültigerDateiname = targetPath.Substring(2) & "\" & Quelldatei.Name
' ohne angehängtem Datum
If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject = _windream.oWMSession.GetNewWMObjectFS(WINDREAMLib.WMEntity.WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject) 'WINDREAMLib.WMObjectEditMode.WMObjectEditModeObjectAndRights) 'WMObjectEditModeObject)
' wenn ein Fehler auftritt -> Fehler ausgeben
'If Err.Number <> 0 Then MsgBox("(" & Err.Number & ") " & Err.Description, MsgBoxStyle.Critical, "Fehler beim Importieren der Datei (Datei existiert bereits)")
End If
'"ENDGÜLTIGER DATEINAME => " & endgültigerDateiname)
If WMObject IsNot Nothing Then
' Stream Interface bereitstellen
Dim oWMStream = WMObject.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
' den Dateiinhalt der neuen Datei zuweisen
If ÜBERTRAGUNG_DURCHFÜHREN Then oWMFileIO.aWMStream = oWMStream
' Zugriff auf Filesystem über WMFileIO, setzten des Dateinamens
If ÜBERTRAGUNG_DURCHFÜHREN Then oWMFileIO.bstrOriginalFileName = Quelldatei.Path
If ÜBERTRAGUNG_DURCHFÜHREN Then oWMFileIO.ImportOriginal(True)
'Inhalt der Datei konnte übertragen werden")
If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject.Save()
'Datei konnte gespeichert werden")
If ÜBERTRAGUNG_DURCHFÜHREN Then WMObject.unlock()
'Console.WriteLine("Datei konnte entsperrt werden")
'=> Nun wird DateiIndexieren aufgerufen")
Me.DateiIndexieren(filenameQuelle, endgültigerDateiname)
Return True
Else
Return False
End If
Else
Return False
End If
End Function
Public Class SW
Public label As String
Public stopwatch As Stopwatch
@@ -1107,7 +1000,7 @@ Public Class frmDIHauptseite
End Class
Sub DetailLog(Detailinfo As String)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(Detailinfo, False)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add($">>>> {Detailinfo}", False)
End Sub
Dim SWBesttime As Decimal = 100
Public Function Stream_File(ByVal filenameQuelle As String, ByVal zielpfad As String)
@@ -1127,12 +1020,12 @@ Public Class frmDIHauptseite
Const STREAM_BinaryObject = "BinaryObject"
DetailLog(">> Stream_File wurde gestartet")
DetailLog("Stream_File wurde gestartet")
Dim endgültigerDateiname As String = ""
' Objekt für Datei und Zielverzeichnis anlegen
Dim Quelldatei_Name As String = Path.GetFileName(filenameQuelle)
DetailLog(">> Quelldatei gelesen")
DetailLog("Quelldatei gelesen")
_Step = "1"
'## Prüfen ob Datum-Ordnerhierarchie erstellt werden soll
If selectedProfile.Date_UV.ToString <> "" Then
@@ -1163,20 +1056,20 @@ Public Class frmDIHauptseite
My.Computer.FileSystem.CreateDirectory(zielpfad & "\" & My.Computer.Clock.LocalTime.Year)
zielpfad = zielpfad & "\" & My.Computer.Clock.LocalTime.Year
End Select
DetailLog(">> Zielpfad erzeugt: '" & zielpfad & "'")
DetailLog("Zielpfad erzeugt: '" & zielpfad & "'")
End If
_Step = "2"
'########
Dim Zielverzeichnis As String = zielpfad
endgültigerDateiname = Zielverzeichnis.Substring(2) & "\" & Quelldatei_Name
DetailLog(">> Zielverzeichnis erzeugt")
DetailLog("Zielverzeichnis erzeugt")
If Directory.Exists(Zielverzeichnis) = False Then
'Try to create the directory.
Try
Directory.CreateDirectory(Zielverzeichnis)
Catch ex As Exception
ClassLoggerDI.Add(" - Unexpected Error in Creating Target Folder: " & vbNewLine & ex.Message)
ClassLoggerDI.Add("Unexpected Error in Creating Target Folder: " & vbNewLine & ex.Message)
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
oStopWatchTimerC.Done()
@@ -1186,7 +1079,7 @@ Public Class frmDIHauptseite
End If
_Step = "2.1"
If Directory.Exists(Zielverzeichnis) Then
DetailLog(">> targetPath exisitiert")
DetailLog("targetPath existiert")
' Überprüfen ob der zu Kopieren notwendige Speicherplatz auf Ziellaufwerk vorhanden ist
Dim dvr As New DriveInfo(My.Settings.vWLaufwerk & ":")
Dim freeSpace = dvr.TotalFreeSpace
@@ -1202,18 +1095,18 @@ Public Class frmDIHauptseite
End If
Return -2
End If
DetailLog(">> Datei kopieren von " & filenameQuelle & " nach " & zielpfad.Substring(2) & "\" & Quelldatei_Name & ".")
DetailLog("Datei kopieren von " & filenameQuelle & " nach " & zielpfad.Substring(2) & "\" & Quelldatei_Name & ".")
Dim oNewWMObject
Dim oFileIO
Dim oWMStream
DetailLog(">> Connect definieren: CreateObject('Windream.WMConnect')")
DetailLog("Connect definieren: CreateObject('Windream.WMConnect')")
If My.Settings.DLL_WMOTOOL = "" Then
oFileIO = New WMOTOOLLib.WMFileIO
DetailLog(">> Direkter Verweis auf New WMOTOOLLib.WMFileIO")
DetailLog("Direkter Verweis auf New WMOTOOLLib.WMFileIO")
Else
oFileIO = CreateObject(My.Settings.DLL_WMOTOOL) 'WMOTool.WMFileIO oder WMOTOOLLib.WMFileIO
DetailLog(">> Verwendeter Verweis aus Anwendungsstring: '" & My.Settings.DLL_WMOTOOL & "'")
DetailLog("Verwendeter Verweis aus Anwendungsstring: '" & My.Settings.DLL_WMOTOOL & "'")
End If
Dim LoggedIn = _windream.oWMSession.aLoggedin
@@ -1225,21 +1118,21 @@ Public Class frmDIHauptseite
'==================================================================
' check if files exist
'==================================================================
DetailLog(">> ÜBERPRÜFTER DATEINAME => " & endgültigerDateiname)
DetailLog("ÜBERPRÜFTER DATEINAME => " & endgültigerDateiname)
Dim wdFilexists As Boolean
DetailLog(">> Versuch auf die Datei in W: zuzugreifen und zu sperren...")
DetailLog("Versuch auf die Datei in W: zuzugreifen und zu sperren...")
_Step = "3"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
wdFilexists = _windream.oWMSession.WMObjectExists(WMEntityDocument, endgültigerDateiname, 0, 0)
If wdFilexists = False Then
DetailLog(">> Datei ist NICHT vorhanden, kann also einfach neu angelegt werden")
DetailLog("Datei ist NICHT vorhanden, kann also einfach neu angelegt werden")
Err.Clear()
'==================================================================
' create an object
'==================================================================
_Step = "3.1"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
oNewWMObject = _windream.oWMSession.GetNewWMObjectFS(WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject)
If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER: WMObject konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
@@ -1252,7 +1145,7 @@ Public Class frmDIHauptseite
' MsgBox("Created file: " + endgültigerDateiname)
Else
_Step = "3.1.1"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen
DetailLog("-> DATEI IST BEREITS VORHANDEN")
Err.Clear()
@@ -1263,13 +1156,13 @@ Public Class frmDIHauptseite
Dim neuername As String = zielpfad.Substring(2) & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
Do While file_exists(My.Settings.vWLaufwerk & ":\" & neuername & extension) = True
DetailLog(">> Datei " & endgültigerDateiname & " ist vorhanden!")
DetailLog("Datei " & endgültigerDateiname & " ist vorhanden!")
neuername = Stammname & "~" & version
endgültigerDateiname = neuername & extension
version = version + 1
Loop
_Step = "3.1.2"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
oNewWMObject = _windream.oWMSession.GetNewWMObjectFS(WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject)
If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
@@ -1279,11 +1172,11 @@ Public Class frmDIHauptseite
End If
'MsgBox(Err.Description)
End If
DetailLog(">> WMObject zugewiesen")
DetailLog("WMObject zugewiesen")
End If
_Step = "3.2"
DetailLog(">> _Step: " & _Step)
DetailLog(">> ENDGÜLTIGER DATEINAME => " & endgültigerDateiname)
DetailLog("_Step: " & _Step)
DetailLog("ENDGÜLTIGER DATEINAME => " & endgültigerDateiname)
If oNewWMObject IsNot Nothing Then
' lock object for file system access (to change the file itself)
oNewWMObject.lock()
@@ -1303,7 +1196,7 @@ Public Class frmDIHauptseite
' MsgBox(Err.Description)
End If
_Step = "3.3"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
' open the windream object's file stream for writing
oWMStream = oNewWMObject.OpenStream(STREAM_BinaryObject, WMObjectStreamOpenModeReadWrite)
If Err.Number > 0 Then
@@ -1317,10 +1210,10 @@ Public Class frmDIHauptseite
Return -1
'MsgBox(Err.Description)
End If
DetailLog(">> oWMStream erzeugt")
DetailLog("oWMStream erzeugt")
' give fileIO helper object the windream stream
_Step = "3.4"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
oFileIO.aWMStream = oWMStream
If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER bei Zuweisen aWMStream zu aFileIO - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
@@ -1346,10 +1239,10 @@ Public Class frmDIHauptseite
Return -1
' MsgBox(Err.Description)
End If
DetailLog(">> Inhalt der Datei konnte übertragen werden")
DetailLog("Inhalt der Datei konnte übertragen werden")
' close the windream file stream
_Step = "3.5"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
oWMStream.Close()
If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER bei aWMStream.Close() - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
@@ -1371,10 +1264,10 @@ Public Class frmDIHauptseite
Return -1
'MsgBox(Err.Description)
End If
DetailLog(">> Datei konnte gespeichert werden")
DetailLog("Datei konnte gespeichert werden")
' unlock the windream object
_Step = "3.6"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
oNewWMObject.unlock()
If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER bei WMObject.unlock - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
@@ -1399,7 +1292,7 @@ Public Class frmDIHauptseite
'DATEI GRÖSSE ERMITTELN - MANCHMAL KOMMT ES VOR DAS DATEIGRÖße 0 ist
_Step = "3.7"
DetailLog(">> _Step: " & _Step)
DetailLog("_Step: " & _Step)
Dim oFILenth As FileInfo
Dim oIFLength As Long
If My.Settings.DIOpt_CheckLength = True Then
@@ -1420,7 +1313,8 @@ Public Class frmDIHauptseite
End Try
Try
ClassLoggerDI.Add("FEHLER bei Dateiindexieren - Datei [" & endgültigerDateiname & "] wird wieder gelöscht!")
ClassLoggerDI.Add("DateiIndexieren = False: FEHLER bei Dateiindexieren!!")
ClassLoggerDI.Add("Datei [" & endgültigerDateiname & "] wird wieder gelöscht!")
System.IO.File.Delete(My.Settings.vWLaufwerk & ":" & endgültigerDateiname)
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
@@ -1489,7 +1383,7 @@ Public Class frmDIHauptseite
Return -1
End If
Else
DetailLog(">> targetPath exisitiert NICHT")
DetailLog("targetPath exisitiert NICHT")
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
oStopWatchTimerC.Done()
@@ -1565,20 +1459,20 @@ Public Class frmDIHauptseite
''' <summary>
''' Übergibt einer in windream gespeicherten Datei Indexwerte
''' </summary>
''' <param name="filenameQuelle">Name der zu indexierenden Datei</param>
''' <param name="filenameZiel">neuer Name der zu indexierenden Datei</param>
''' <param name="pFilenameQuelle">Name der zu indexierenden Datei</param>
''' <param name="pFilenameZiel">neuer Name der zu indexierenden Datei</param>
''' <returns>Liefert True wenn das Indexieren erfolgreich war, sonst False</returns>
''' <remarks></remarks>
Private Function DateiIndexieren(ByVal filenameQuelle As String, ByVal filenameZiel As String)
Private Function DateiIndexieren(ByVal pFilenameQuelle As String, ByVal pFilenameZiel As String)
Try
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" >>> DateiIndexieren wurde aufgerufen", False)
DetailLog("DateiIndexieren wurde aufgerufen")
'Die Werte zusammenfügen
Dim oArrayList As ArrayList = Me.GetArrayZuDatei(filenameQuelle)
Dim oArrayList As ArrayList = Me.GetArrayZuDatei(pFilenameQuelle)
Dim WMObject As WINDREAMLib.WMObject '= CreateObject("WINDREAMLib.WMObject") 'New WINDREAMLib.WMObject
If oArrayList Is Nothing Then
ClassLoggerDI.Add($"Attention: oArrayList is nothing!!", False)
ClassLoggerDI.Add($"ERROR in DateiIndexieren in DateiIndexieren: oArrayList is nothing!!", False)
Return False
End If
@@ -1588,17 +1482,17 @@ Public Class frmDIHauptseite
Me.singleInfoNode = New ArrayList
' Hier die grundsätzlichen Informationen übergeben
Me.singleInfoNode.Add("Ziel: " & My.Settings.vWLaufwerk & ":" & filenameZiel) '_windream.GetWindreamDriveLetter & filenameZiel)
Me.singleInfoNode.Add("Ziel: " & My.Settings.vWLaufwerk & ":" & pFilenameZiel) '_windream.GetWindreamDriveLetter & filenameZiel)
' den Dokumenttyp schreiben
If INDEXIEREN_DURCHFÜHREN Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" ## Indexieren wird gestartet ##", False)
DetailLog("Indexieren wird gestartet ##")
Try
' ein windream-Objekt der Datei anlegen
WMObject = _windream.oWMSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, filenameZiel)
WMObject = _windream.oWMSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, pFilenameZiel)
Catch ex As Exception
ClassLoggerDI.Add("Could not create windreamobject for filestring: " & filenameZiel, True)
ClassLoggerDI.Add("Could not create windreamobject for filestring: " & pFilenameZiel, True)
ClassLoggerDI.Add("Error: " & ex.Message, False)
Return False
End Try
@@ -1618,12 +1512,12 @@ Public Class frmDIHauptseite
WMObject.aObjectType = _windream.oWMSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, Me.selectedProfile.DokumenttypString)
' WMObject.aObjectType = Me.selectedProfile.Dokumenttyp
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Objekttyp wird gesetzt", False)
DetailLog("Objekttyp wird gesetzt")
Else
If WMObject.aObjectType.aName <> "Standard" Then
ClassLoggerDI.Add(">> ACHTUNG: Ein Objekttyp war bereits gesetzt ==> " & WMObject.aObjectType.aName, False)
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" Objekttyp war bereits gesetzt", False)
DetailLog("Objekttyp war bereits gesetzt")
End If
Try
@@ -1640,13 +1534,13 @@ Public Class frmDIHauptseite
Catch ex As Exception
' wenn das entsperren nicht geklappt hat, dann war die Datei auch nicht gesperrt
End Try
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei wurde gespeichert / Unlock wurde durchgeführt", False)
DetailLog("Datei wurde gespeichert / Unlock wurde durchgeführt")
' wenn bis hierher alles geklappt hat wurde ein Dokumenttyp übergeben
' dies wird an das Array für den TreeView-Log übergeben
Me.singleInfoNode.Add("Objekttyp: " & Me.selectedProfile.DokumenttypString)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Objekttyp: " & Me.selectedProfile.DokumenttypString, False)
DetailLog("Objekttyp: " & Me.selectedProfile.DokumenttypString)
Else
ClassLoggerDI.Add($"INDEXIEREN_DURCHFÜHREN: {INDEXIEREN_DURCHFÜHREN}", False)
ClassLoggerDI.Add($"INDEXIEREN_DURCHFÜHREN: {INDEXIEREN_DURCHFÜHREN}")
End If
@@ -1673,46 +1567,45 @@ Public Class frmDIHauptseite
Dim indexname As String = oArrayList(i)(0)
Dim werte
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Indexname: '" & indexname & "'", False)
DetailLog("Indexname: '" & indexname & "'")
If (_windream.GetTypeOfIndexAsIntByName(indexname) = WMObjectVariableValueTypeVector) Or _windream.GetTypeOfIndexAsIntByName(indexname) = 4097 Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Es handelt sich um ein Vektor-Feld", False)
DetailLog("Es handelt sich um ein Vektor-Feld")
werte = New ArrayList
For Each wert As String In oArrayList(i)(1)
'Am 04.08.2014 aktualisiert: um zu verhindern das die vorangegangene Versionierung "Tilde-Werte" schreibt
Dim IndexValue = wert
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Wert vor Überprüfung: " & IndexValue, False)
DetailLog("Wert vor Überprüfung: " & IndexValue)
IndexValue = CheckIndexValue(IndexValue)
'Ausstieg da Fehler in der Überprüfung
If IndexValue Is Nothing Then
Return False
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Value für Indexierung: " & IndexValue, False)
DetailLog("Value für Indexierung: " & IndexValue)
werte.Add(IndexValue)
Next
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Werte zu Array hinzugefügt!", False)
DetailLog("Werte zu Array hinzugefügt!")
Else
'Am 04.08.2014 aktualisiert: um zu verhindern das die vorangegangene Versionierung "Tilde-Werte" schreibt
Dim IndexValue = oArrayList(i)(1)(0)
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Value vor Überprüfung: " & IndexValue, False)
DetailLog("Value vor Überprüfung: " & IndexValue)
IndexValue = CheckIndexValue(IndexValue)
'Ausstieg da Fehler in der Überprüfung
If IndexValue Is Nothing Then
Return False
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Value für Indexierung: " & IndexValue, False)
DetailLog("Value für Indexierung: " & IndexValue)
werte = IndexValue
End If
'indexe &= indexname & " = " & werte & vbNewLine
'Der Indexierungsvorgang
Dim indexErgebnis As ArrayList = Me.Indexiere(filenameZiel, indexname, werte)
Dim indexErgebnis As ArrayList = Me.Indexiere(pFilenameZiel, indexname, werte)
For Each indexInfo As String In indexErgebnis
Me.singleInfoNode.Add(indexInfo)
Next
'Me.singleInfoNode.Insert(0, Me.singleInfoNode(1))
'Me.singleInfoNode.Insert(0, Me.singleInfoNode(0))
Next
@@ -1720,12 +1613,9 @@ Public Class frmDIHauptseite
Return True
'MsgBox(arr(0) & vbNewLine & indexe)
Catch ex As Exception
ClassLoggerDI.Add("Hinweis: Die Datei " & filenameZiel & " konnte nicht indexiert werden.")
ClassLoggerDI.Add("Hinweis: Die Datei " & pFilenameZiel & " konnte nicht indexiert werden.")
ClassLoggerDI.Add("Fehler: " & ex.Message)
' Me.TreeNodeInfos.Add(temp)
Return False
End Try
End Function
@@ -1827,7 +1717,7 @@ Public Class frmDIHauptseite
Private Function Indexiere(ByVal filenameZiel As String, ByVal index As String, ByVal werte As Object) As ArrayList
Dim type = werte.GetType
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - In Indexierungsvorgang für: " & filenameZiel, False)
DetailLog("In Indexierungsvorgang für: " & filenameZiel)
Dim indexInfos = New ArrayList
Dim count_Values As Integer
If type.FullName = "System.String" Then
@@ -1856,30 +1746,30 @@ Public Class frmDIHauptseite
index = "" Or
Not _windream.ExistIndexInObjekttyp(Me.selectedProfile.DokumenttypString, index) Then
indexInfos.Add("Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.")
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("=> Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.", False)
DetailLog("Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.")
Return indexInfos
End If
Dim fileExists As Boolean
Dim ofileExists As Boolean
If INDEXIEREN_DURCHFÜHREN Then
' prüfen ob die zu indexierende Datei existiert
fileExists = My.Computer.FileSystem.FileExists(My.Settings.vWLaufwerk & ":" & filenameZiel) '_windream.GetWindreamDriveLetter
ofileExists = My.Computer.FileSystem.FileExists(My.Settings.vWLaufwerk & ":" & filenameZiel) '_windream.GetWindreamDriveLetter
Else
fileExists = True
ofileExists = True
End If
Dim an As Integer = 0
Do While My.Computer.FileSystem.FileExists(My.Settings.vWLaufwerk & ":" & filenameZiel) = False
If an > 500 Then
fileExists = False
ofileExists = False
Exit Do
Else
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" Achtung: Datei exisitiert noch nicht: " & My.Computer.Clock.LocalTime, True)
DetailLog("Achtung: Datei exisitiert noch nicht: " & My.Computer.Clock.LocalTime)
End If
an = an + 1
Loop
' wenn die Datei existiert
If fileExists Then
If ofileExists Then
If INDEXIEREN_DURCHFÜHREN Then WMObject = _windream.oWMSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, filenameZiel)
' eine Variable für den umgewandelten Indexwert anlegen (kein Typ, da noch unklar ist was reingeschrieben wird)
@@ -1897,13 +1787,10 @@ Public Class frmDIHauptseite
ClassLoggerDI.Add(" - Ziel: W:\" & filenameZiel, False)
End If
'Me.singleInfoNode.Add("Ziel: " & ClassDateiimportWindream.GetWindreamDriveLetter & filenameZiel)
Try
' die Datei sperren
WMObject.lock()
'WMObject.LockFor(WINDREAMLib.WMObjectEditMode.WMObjectEditModeObject)
Catch ex As Exception
End Try
@@ -1912,7 +1799,7 @@ Public Class frmDIHauptseite
If WMObject.aObjectType.aName = "Standard" Then
' ihr den entsprechenden Dokumenttyp zuweisen
WMObject.aObjectType = _windream.oWMSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, Me.selectedProfile.DokumenttypString)
' WMObject.aObjectType = Me.selectedProfile.Dokumenttyp
End If
End If
@@ -1935,7 +1822,7 @@ Public Class frmDIHauptseite
' wenn es sich bei dem Index NICHT um ein Vektorfeld handelt
If TypDesIndexes < WMObjectVariableValueTypeVector Then
indexInfos.Add("Bei dem Zielindex handelt es sich um einen Einzelindex.")
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Bei dem Zielindex handelt es sich um einen Einzelindex.", False)
DetailLog("Bei dem Zielindex handelt es sich um einen Einzelindex.")
' wenn es sich bei der Variablen mit den ausgelesenen Indexwerten um ein Array oder eine ArrayList handelt
If Me.IsArray(werte) Or Me.IsArrayList(werte) Then
' ein Backup der Indexwerte anlegen
@@ -1948,7 +1835,7 @@ Public Class frmDIHauptseite
End If
Else
indexInfos.Add("Bei dem Zielindex handelt es sich um ein Vektorfeld.")
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" Bei dem Zielindex handelt es sich um ein Vektorfeld.", False)
DetailLog("Bei dem Zielindex handelt es sich um ein Vektorfeld.")
' ein Backup der Indexwerte anlegen
Dim temp As Object = werte
' und die eigentliche Variable zurücksetzen
@@ -1956,7 +1843,7 @@ Public Class frmDIHauptseite
' dann soll nur der letzte Wert des Arrays übernommen werden, damit nicht versucht wird ein
' Array in einen Einzelindex zu speichern
werte = temp
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Array geleert und erneuert!", False)
DetailLog("Array geleert und erneuert!")
End If
indexBeschreibung = "Zielindex: " & index & " => "
@@ -1970,7 +1857,7 @@ Public Class frmDIHauptseite
Try
' den Typ des Zielindexes
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Typ des Indexes: " & TypDesIndexes.ToString, False)
DetailLog("Typ des Indexes: " & TypDesIndexes.ToString)
Select Case (TypDesIndexes)
Case WMObjectVariableValueTypeUndefined ' zu klären !!!!
convertValue = vbEmpty
@@ -2069,18 +1956,18 @@ Public Class frmDIHauptseite
Case Else
' wenn es sich um einen TypVektorIndex handelt
If TypDesIndexes >= 4096 And TypDesIndexes < 8192 Or TypDesIndexes = 36865 Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Es handelt sich um einen Vektorindex", False)
If TypDesIndexes >= 4096 And TypDesIndexes < 8192 Or TypDesIndexes = 36865 Or TypDesIndexes = 8 Then
DetailLog("Es handelt sich um einen Vektorindex")
Dim oTemp_arr As New ArrayList
Select Case TypDesIndexes
Case 4097
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4097", False)
DetailLog("VektorIndex vom Typ 4097")
For Each wert As Object In werte
oTemp_arr.Add(CStr(wert))
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Wert " & CStr(wert) & " konvertiert", False)
DetailLog("Wert " & CStr(wert) & " konvertiert")
Next
Case 4098
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4098 Integer", False)
DetailLog("VektorIndex vom Typ 4098 Integer")
If count_Values = 1 Then
oTemp_arr.Add(CInt(werte))
Else
@@ -2090,7 +1977,7 @@ Public Class frmDIHauptseite
End If
Case 4099
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4099 (Float)", False)
DetailLog("VektorIndex vom Typ 4099 (Float)")
If count_Values = 1 Then
werte = werte.ToString.Replace(".", ",")
oTemp_arr.Add(CDbl(werte))
@@ -2100,9 +1987,28 @@ Public Class frmDIHauptseite
oTemp_arr.Add(CDbl(wert))
Next
End If
Case 8
DetailLog("VektorIndex vom Typ 8 (Boolean)")
If count_Values = 1 Then
oTemp_arr.Add(CBool(werte))
Else
For Each wert As Object In werte
oTemp_arr.Add(CBool(wert))
Next
End If
Case 4100
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4100 (Boolean)", False)
DetailLog("VektorIndex vom Typ 4100 (Boolean)")
If count_Values = 1 Then
oTemp_arr.Add(CBool(werte))
Else
For Each wert As Object In werte
oTemp_arr.Add(CBool(wert))
Next
End If
Case 8204
DetailLog("VektorIndex vom Typ 8204 (Boolean)")
If count_Values = 1 Then
oTemp_arr.Add(CBool(werte))
Else
@@ -2112,7 +2018,7 @@ Public Class frmDIHauptseite
End If
Case 4101
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4101 Date", False)
DetailLog("VektorIndex vom Typ 4101 Date")
For Each wert As Object In werte
'wert =
oTemp_arr.Add(CDate(wert))
@@ -2121,18 +2027,18 @@ Public Class frmDIHauptseite
oTemp_arr.Add(Convert.ToInt64(werte))
'convertValue = Convert.ToInt64(werte)
Case WMObjectVariableValueTypeTimeStamp
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ DateTime " & WMObjectVariableValueTypeTimeStamp.ToString, False)
DetailLog("VektorIndex vom Typ DateTime " & WMObjectVariableValueTypeTimeStamp.ToString)
For Each wert As Object In werte
oTemp_arr.Add(CLng(wert))
Next
Case 4104
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ Currency", False)
DetailLog("VektorIndex vom Typ Currency")
For Each wert As Object In werte
Dim aValue As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(werte)
oTemp_arr.Add(aValue)
Next
Case 4107
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ Integer 64bit", False)
DetailLog("VektorIndex vom Typ Integer 64bit")
If count_Values = 1 Then
oTemp_arr.Add(Convert.ToInt64(werte))
@@ -2143,31 +2049,18 @@ Public Class frmDIHauptseite
End If
Case 36865
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 36865", False)
'For Each wert As Object In werte
' 'Führende Nullen Entfernen
' If werte.ToString.StartsWith("0") Then
' Dim werteString As String = CStr(CInt(wert.ToString))
' wert = werteString
' temp_arr.Add(CStr(wert))
' ClassLoggerDI.Add("- Führende Nullen wurden entfernt", False)
' Else
' temp_arr.Add(CStr(wert))
' End If
DetailLog("VektorIndex vom Typ 36865")
' If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Wert " & CStr(wert) & " konvertiert", False)
'Next
Try
oTemp_arr.Add(CStr(werte))
Catch ex As Exception
oTemp_arr.Add(werte)
End Try
Case WMObjectVariableValueTypeUndefined
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex Undefined", False)
DetailLog("VektorIndex Undefined")
convertValue = ""
Case WMObjectVariableValueTypeBoolean
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex Boolean", False)
DetailLog("VektorIndex Boolean")
For Each wert As Object In werte
Try
oTemp_arr.Add(CBool(wert))
@@ -2177,61 +2070,28 @@ Public Class frmDIHauptseite
End Try
Next
Case WMObjectVariableValueTypeFixedPoint
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeFixedPoint", False)
DetailLog("VektorIndex WMObjectVariableValueTypeFixedPoint")
For Each wert As Object In werte
oTemp_arr.Add(CDbl(wert))
Next
Case WMObjectVariableValueTypeTime
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeTime", False)
DetailLog("VektorIndex WMObjectVariableValueTypeTime")
For Each wert As Object In werte
oTemp_arr.Add(CDate(wert))
Next
Case WMObjectVariableValueTypeVariant
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeVariant", False)
DetailLog("VektorIndex WMObjectVariableValueTypeVariant")
' dann bleiben alle Werte wie sie sind
End Select
'Select Case (TypDesIndexes - WMObjectVariableValueTypeVector)
' 'VektorIndex vom Typ String 64'
' Case 1
' Case WMObjectVariableValueTypeUndefined
' Case WMObjectVariableValueTypeString
' Case WMObjectVariableValueTypeInteger
' Case WMObjectVariableValueTypeFloat
' Case WMObjectVariableValueTypeBoolean
' Case WMObjectVariableValueTypeDate
' Case WMObjectVariableValueTypeTimeStamp
' Case WMObjectVariableValueTypeCurrency
' Case WMObjectVariableValueTypeTime
' For Each wert As Object In werte
' temp_arr.Add(CDate(wert))
' Next
' Case WMObjectVariableValueTypeVariant
' ' dann bleiben alle Werte wie sie sind
'End Select
If oTemp_arr.Count > 0 Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Einträge in temp_arr also Speichern des Arrays in convertValue", False)
DetailLog("Einträge in temp_arr also Speichern des Arrays in convertValue")
convertValue = Nothing
convertValue = oTemp_arr.ToArray
Else
convertValue = vbEmpty
End If
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Werte erfolgreich konvertiert", False)
DetailLog("Werte erfolgreich konvertiert")
Else
convertValue = vbEmpty
End If
@@ -2272,20 +2132,19 @@ Public Class frmDIHauptseite
' die Indexinformationen des Dokuments speichern
WMObject.Save()
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - die Indexinformationen des Dokuments speichern", False)
DetailLog("die Indexinformationen des Dokuments speichern")
' Unlock in einem unbehandelten Try-Block um Fehler abzufangen,
' wenn eine Datei nicht gesperrt ist
Try
' die Sperrung des Dokuments aufheben
WMObject.unlock()
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - die Sperrung des Dokuments aufheben", False)
DetailLog("die Sperrung des Dokuments aufheben")
Catch ex As Exception
' nichts tun (Datei war nicht gesperrt)
End Try
End If
If convertValue IsNot Nothing Then
' sonst die Indexbeschreibung löschen, damit sie im TreeView-Log nicht auftaucht
indexBeschreibung &= convertValue.ToString
@@ -2293,8 +2152,6 @@ Public Class frmDIHauptseite
indexBeschreibung = Nothing
End If
Catch ex As Exception
If INDEXIEREN_DURCHFÜHREN Then

View File

@@ -268,7 +268,7 @@ Public Class frmDIProfilEigenschaften
Next
Catch ex As Exception
If My.Settings.licensekey <> "DD MaxLicense" Or My.Settings.licensekey.ToUpper <> "DDALLIN" Then
If My.Settings.licensekey <> "DD MaxLicense" Or My.Settings.licensekey.ToUpper <> "DDALLIN" Or My.Settings.licensekey.ToUpper <> "DD_ALL_IN" Then
MsgBox("Error Adding Profile due to license issue!", MsgBoxStyle.Critical)
End If
End Try

View File

@@ -172,7 +172,7 @@ Public Class frmNB_AD
Sub Load_Regeln()
Try
Dim DT As DataTable = _SQLLite.Return_Datatable("select GUID as ID,METHODE as Methode,Rechtename as Rechtename, " &
"CASE ACCESS_RIGHT WHEN 1 THEN 'READ' WHEN 2 THEN 'READ WRITE' ELSE 'ADMIN' END Recht, ErstelltWer as [Erstellt wer] from TBNI_NB_STEP_AD WHERE PROFIL_ID = " & _profilID, True)
"CASE ACCESS_RIGHT WHEN 1 THEN 'READ' WHEN 2 THEN 'READ WRITE' WHEN 9 THEN 'READ/INDEX CHANGE' ELSE 'ADMIN' END Recht, ErstelltWer as [Erstellt wer] from TBNI_NB_STEP_AD WHERE PROFIL_ID = " & _profilID, True)
If DT.Rows.Count > 0 Then
btndeleteRegel.Visible = True
DataGridView.Visible = True

View File

@@ -79,6 +79,10 @@ Partial Class frmNB_AD_add
Me.DSNachbearbeitung = New ToolCollection.DSNachbearbeitung()
Me.TBNI_NACHBEARBEITUNG_ADBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.rb3RechtSQL = New System.Windows.Forms.RadioButton()
Me.txt3SQL = New System.Windows.Forms.TextBox()
Me.rb4ReadIndex = New System.Windows.Forms.RadioButton()
Me.lbl3DokID = New System.Windows.Forms.Label()
Me.Panel1.SuspendLayout()
Me.pnl1.SuspendLayout()
Me.pnl2.SuspendLayout()
@@ -123,7 +127,7 @@ Partial Class frmNB_AD_add
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(369, 34)
Me.Label1.TabIndex = 5
Me.Label1.Text = "In diesem Regeleditor bestimmen Sie wie Active-Directory Rechte " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "nach erfolgreic" & _
Me.Label1.Text = "In diesem Regeleditor bestimmen Sie wie Active-Directory Rechte " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "nach erfolgreic" &
"her Indexierung gesetzt werden."
'
'Label2
@@ -146,7 +150,7 @@ Partial Class frmNB_AD_add
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(849, 73)
Me.Panel1.Size = New System.Drawing.Size(977, 73)
Me.Panel1.TabIndex = 1
'
'lblProfilname
@@ -305,7 +309,7 @@ Partial Class frmNB_AD_add
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsslblerror})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 514)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Size = New System.Drawing.Size(849, 22)
Me.StatusStrip1.Size = New System.Drawing.Size(977, 22)
Me.StatusStrip1.TabIndex = 5
Me.StatusStrip1.Text = "StatusStrip1"
'
@@ -315,12 +319,14 @@ Partial Class frmNB_AD_add
Me.tsslblerror.ForeColor = System.Drawing.Color.OrangeRed
Me.tsslblerror.Image = Global.ToolCollection.My.Resources.Resources.delete
Me.tsslblerror.Name = "tsslblerror"
Me.tsslblerror.Size = New System.Drawing.Size(137, 17)
Me.tsslblerror.Size = New System.Drawing.Size(135, 17)
Me.tsslblerror.Text = "ToolStripStatusLabel1"
Me.tsslblerror.Visible = False
'
'pnl3
'
Me.pnl3.Controls.Add(Me.lbl3DokID)
Me.pnl3.Controls.Add(Me.rb3RechtSQL)
Me.pnl3.Controls.Add(Me.lblonlyFolderrights)
Me.pnl3.Controls.Add(Me.btn3getRegeln)
Me.pnl3.Controls.Add(Me.txt3Testwert)
@@ -333,9 +339,10 @@ Partial Class frmNB_AD_add
Me.pnl3.Controls.Add(Me.rb3RechtIndex)
Me.pnl3.Controls.Add(Me.rb3dediziertesRecht)
Me.pnl3.Controls.Add(Me.Label6)
Me.pnl3.Location = New System.Drawing.Point(506, 102)
Me.pnl3.Controls.Add(Me.txt3SQL)
Me.pnl3.Location = New System.Drawing.Point(362, 102)
Me.pnl3.Name = "pnl3"
Me.pnl3.Size = New System.Drawing.Size(343, 217)
Me.pnl3.Size = New System.Drawing.Size(487, 439)
Me.pnl3.TabIndex = 11
Me.pnl3.Visible = False
'
@@ -365,7 +372,7 @@ Partial Class frmNB_AD_add
'
'txt3Testwert
'
Me.txt3Testwert.Location = New System.Drawing.Point(49, 248)
Me.txt3Testwert.Location = New System.Drawing.Point(46, 248)
Me.txt3Testwert.Name = "txt3Testwert"
Me.txt3Testwert.Size = New System.Drawing.Size(155, 25)
Me.txt3Testwert.TabIndex = 28
@@ -374,7 +381,7 @@ Partial Class frmNB_AD_add
'lbl3Test
'
Me.lbl3Test.AutoSize = True
Me.lbl3Test.Location = New System.Drawing.Point(46, 228)
Me.lbl3Test.Location = New System.Drawing.Point(43, 227)
Me.lbl3Test.Name = "lbl3Test"
Me.lbl3Test.Size = New System.Drawing.Size(158, 17)
Me.lbl3Test.TabIndex = 27
@@ -389,7 +396,7 @@ Partial Class frmNB_AD_add
Me.lbl3Hinweis.Name = "lbl3Hinweis"
Me.lbl3Hinweis.Size = New System.Drawing.Size(311, 26)
Me.lbl3Hinweis.TabIndex = 26
Me.lbl3Hinweis.Text = "Die Routine sucht anhand einer Maske das entsprechende " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "windream-Recht. (Als Wil" & _
Me.lbl3Hinweis.Text = "Die Routine sucht anhand einer Maske das entsprechende " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "windream-Recht. (Als Wil" &
"dcard '%' nutzen)"
Me.lbl3Hinweis.Visible = False
'
@@ -398,7 +405,7 @@ Partial Class frmNB_AD_add
Me.btnpnl31_zurück.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnpnl31_zurück.Image = Global.ToolCollection.My.Resources.Resources.arrow_left
Me.btnpnl31_zurück.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnpnl31_zurück.Location = New System.Drawing.Point(175, 174)
Me.btnpnl31_zurück.Location = New System.Drawing.Point(319, 396)
Me.btnpnl31_zurück.Name = "btnpnl31_zurück"
Me.btnpnl31_zurück.Size = New System.Drawing.Size(75, 32)
Me.btnpnl31_zurück.TabIndex = 25
@@ -411,7 +418,7 @@ Partial Class frmNB_AD_add
Me.btnpnl31_weiter.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnpnl31_weiter.Image = Global.ToolCollection.My.Resources.Resources.arrow_right
Me.btnpnl31_weiter.ImageAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnpnl31_weiter.Location = New System.Drawing.Point(256, 174)
Me.btnpnl31_weiter.Location = New System.Drawing.Point(400, 396)
Me.btnpnl31_weiter.Name = "btnpnl31_weiter"
Me.btnpnl31_weiter.Size = New System.Drawing.Size(75, 32)
Me.btnpnl31_weiter.TabIndex = 24
@@ -473,6 +480,7 @@ Partial Class frmNB_AD_add
'
'pnl4
'
Me.pnl4.Controls.Add(Me.rb4ReadIndex)
Me.pnl4.Controls.Add(Me.lbl4allFolderrights)
Me.pnl4.Controls.Add(Me.Label8)
Me.pnl4.Controls.Add(Me.btnpnl4_zurück)
@@ -506,7 +514,7 @@ Partial Class frmNB_AD_add
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(389, 34)
Me.Label8.TabIndex = 11
Me.Label8.Text = "Bitte beachten Sie, dass es mindestens einen Rechteträger für das" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Objekt (Ordner" & _
Me.Label8.Text = "Bitte beachten Sie, dass es mindestens einen Rechteträger für das" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Objekt (Ordner" &
" oder Datei) mit administrativen Rechten geben muss."
'
'btnpnl4_zurück
@@ -543,7 +551,6 @@ Partial Class frmNB_AD_add
Me.rb4AdminRights.Name = "rb4AdminRights"
Me.rb4AdminRights.Size = New System.Drawing.Size(234, 21)
Me.rb4AdminRights.TabIndex = 10
Me.rb4AdminRights.TabStop = True
Me.rb4AdminRights.Text = "Lesen, Schreiben und Admin-Rechte"
Me.rb4AdminRights.UseVisualStyleBackColor = True
'
@@ -702,16 +709,59 @@ Partial Class frmNB_AD_add
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
'
'rb3RechtSQL
'
Me.rb3RechtSQL.AutoSize = True
Me.rb3RechtSQL.Location = New System.Drawing.Point(319, 89)
Me.rb3RechtSQL.Name = "rb3RechtSQL"
Me.rb3RechtSQL.Size = New System.Drawing.Size(243, 21)
Me.rb3RechtSQL.TabIndex = 31
Me.rb3RechtSQL.TabStop = True
Me.rb3RechtSQL.Text = "ein Recht anhand eines SQL zuweisen"
Me.rb3RechtSQL.UseVisualStyleBackColor = True
'
'txt3SQL
'
Me.txt3SQL.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt3SQL.Location = New System.Drawing.Point(43, 147)
Me.txt3SQL.Multiline = True
Me.txt3SQL.Name = "txt3SQL"
Me.txt3SQL.Size = New System.Drawing.Size(429, 233)
Me.txt3SQL.TabIndex = 32
Me.txt3SQL.Visible = False
'
'rb4ReadIndex
'
Me.rb4ReadIndex.AutoSize = True
Me.rb4ReadIndex.Location = New System.Drawing.Point(23, 169)
Me.rb4ReadIndex.Name = "rb4ReadIndex"
Me.rb4ReadIndex.Size = New System.Drawing.Size(142, 21)
Me.rb4ReadIndex.TabIndex = 32
Me.rb4ReadIndex.Text = "Lesen, Index ändern"
Me.rb4ReadIndex.UseVisualStyleBackColor = True
'
'lbl3DokID
'
Me.lbl3DokID.AutoSize = True
Me.lbl3DokID.Location = New System.Drawing.Point(40, 396)
Me.lbl3DokID.Name = "lbl3DokID"
Me.lbl3DokID.Size = New System.Drawing.Size(233, 17)
Me.lbl3DokID.TabIndex = 33
Me.lbl3DokID.Text = "Platzhalter für DokID: [%Dokument-ID] "
Me.lbl3DokID.Visible = False
'
'frmNB_AD_add
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(849, 536)
Me.ClientSize = New System.Drawing.Size(977, 536)
Me.Controls.Add(Me.pnl4)
Me.Controls.Add(Me.pnl3)
Me.Controls.Add(Me.pnl2)
Me.Controls.Add(Me.pnl5)
Me.Controls.Add(Me.pnl3)
Me.Controls.Add(Me.pnl1)
Me.Controls.Add(Me.pnl4)
Me.Controls.Add(Me.StatusStrip1)
Me.Controls.Add(Me.Panel1)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
@@ -800,4 +850,8 @@ Partial Class frmNB_AD_add
Friend WithEvents rbAllFolderRights As System.Windows.Forms.RadioButton
Friend WithEvents lblonlyFolderrights As System.Windows.Forms.Label
Friend WithEvents lbl4allFolderrights As System.Windows.Forms.Label
Friend WithEvents rb3RechtSQL As RadioButton
Friend WithEvents txt3SQL As TextBox
Friend WithEvents rb4ReadIndex As RadioButton
Friend WithEvents lbl3DokID As Label
End Class

View File

@@ -95,7 +95,7 @@ Public Class frmNB_AD_add
Me.txt3Testwert.Visible = False
Me.cmb3IndexRecht.Visible = False
Me.btn3getRegeln.Visible = False
txt3SQL.Text = ""
Me.Refresh()
errorlbl(False, "")
Else
@@ -204,6 +204,15 @@ Public Class frmNB_AD_add
Me.pnl4.Visible = True
Me.pnl4.Dock = DockStyle.Fill
errorlbl(False, "")
ElseIf rb3RechtSQL.Checked Then
If txt3SQL.Text <> String.Empty Then
Rechtename = txt3SQL.Text
Me.pnl3.Visible = False
Me.pnl4.Visible = True
Me.pnl4.Dock = DockStyle.Fill
errorlbl(False, "")
End If
Else
errorlbl(True, "Bitte die Art der Indexierung wählen")
End If
@@ -233,7 +242,7 @@ Public Class frmNB_AD_add
End Sub
Private Sub btnpnl4_weiter_Click(sender As Object, e As EventArgs) Handles btnpnl4_weiter.Click
If rb4Lesen.Checked Or rb4LesenSchreiben.Checked Or rb4AdminRights.Checked Or userorGroup = "allfolderrights" Then
If rb4Lesen.Checked Or rb4LesenSchreiben.Checked Or rb4AdminRights.Checked Or userorGroup = "allfolderrights" Or rb4ReadIndex.Checked Then
If userorGroup <> "allfolderrights" Then
If rb4AdminRights.Checked = False And countRegel = 0 And _deleteRoles = True Then
@@ -253,6 +262,8 @@ Public Class frmNB_AD_add
AccessRight = 7
ElseIf userorGroup = "allfolderrights" Then
AccessRight = 7
ElseIf rb4ReadIndex.Checked Then
AccessRight = 9
End If
If Methode = "AddRightFolder" Or Methode = "AddRightCreatedFolder" Then
@@ -272,6 +283,8 @@ Public Class frmNB_AD_add
Me.lblRechtename.Text = str
ElseIf userorGroup = "allfolderrights" Then
Me.lblRechtename.Text = "Alle Rechte des übergeordneten Ordner werden übernommen!"
ElseIf Rechtename.ToLower.StartsWith("select") Or Rechtename.ToLower.StartsWith("exec") Then
Me.lblRechtename.Text = "Das Recht wird anhand eines SQL zugewiesen."
Else
Me.lblRechtename.Text = "Das Recht '" & Rechtename & "' wird pauschal/fest zugewiesen."
End If
@@ -281,6 +294,10 @@ Public Class frmNB_AD_add
If userorGroup = "allfolderrights" Then
pb5PictureBox.Visible = False
lbl5Recht.Visible = False
ElseIf AccessRight = 9 Then
lbl5Recht.Text = "Lesen und Index ändern"
pb5PictureBox.Visible = True
lbl5Recht.Visible = True
Else
lbl5Recht.Text = "Schreibender und Lesender Zugriff"
pb5PictureBox.Visible = True
@@ -307,6 +324,10 @@ Public Class frmNB_AD_add
End Sub
Private Sub btSave_Click(sender As Object, e As EventArgs) Handles btSave.Click
If Rechtename.ToLower.StartsWith("select") Or Rechtename.ToLower.StartsWith("exec") Then
Rechtename = Rechtename.Replace("'", "''")
End If
If _SQLLite.Execute_Command("INSERT INTO TBNI_NB_STEP_AD (PROFIL_ID,METHODE,RECHTENAME,GROUP_OR_USER,ACCESS_RIGHT,ERSTELLTWER) VALUES (" &
frmNB_AD._profilID & ",'" & Methode & "','" & Rechtename & "','" & userorGroup & "'," &
AccessRight & ",'" & Environment.UserName & "')", True) Then
@@ -366,4 +387,29 @@ Public Class frmNB_AD_add
End If
End If
End Sub
Private Sub rb3RechtSQL_CheckedChanged(sender As Object, e As EventArgs) Handles rb3RechtSQL.CheckedChanged
If rb3RechtSQL.Checked Then
lbl3Combobox.Visible = False
cmb3IndexRecht.Visible = False
lbl3Hinweis.Visible = False
lbl3Test.Visible = False
txt3Testwert.Visible = False
btn3getRegeln.Visible = False
lbl3DokID.Visible = True
txt3SQL.Text = ""
txt3SQL.Visible = True
txt3SQL.Select()
Else
txt3SQL.Visible = False
lbl3DokID.Visible = False
End If
End Sub
Private Sub lbl3DokID_Click(sender As Object, e As EventArgs) Handles lbl3DokID.Click
Dim altePosition As Integer = Me.txt3SQL.SelectionStart()
Me.txt3SQL.Text = Me.txt3SQL.Text.Insert(altePosition, "[%Dokument-ID] ")
Me.txt3SQL.SelectionStart = altePosition + Text.Length
End Sub
End Class

View File

@@ -34,6 +34,8 @@ Partial Class frmNIHauptseite
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
Me.ProgressBar2 = New System.Windows.Forms.ProgressBar()
Me.Label2 = New System.Windows.Forms.Label()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.btnStartStop = New System.Windows.Forms.Button()
Me.Label6 = New System.Windows.Forms.Label()
Me.pnlInfos = New System.Windows.Forms.Panel()
Me.Label8 = New System.Windows.Forms.Label()
@@ -52,6 +54,7 @@ Partial Class frmNIHauptseite
Me.Label17 = New System.Windows.Forms.Label()
Me.Label16 = New System.Windows.Forms.Label()
Me.txtBody = New System.Windows.Forms.TextBox()
Me.btntestmail = New System.Windows.Forms.Button()
Me.txtEmpfaenger = New System.Windows.Forms.TextBox()
Me.Label13 = New System.Windows.Forms.Label()
Me.txtBetreff = New System.Windows.Forms.TextBox()
@@ -76,15 +79,13 @@ Partial Class frmNIHauptseite
Me.TBMO_RE_HISTORYTableAdapter = New ToolCollection.DS_MoreTableAdapters.TBMO_RE_HISTORYTableAdapter()
Me.TimerRefresh = New System.Windows.Forms.Timer(Me.components)
Me.MyDataset = New ToolCollection.MyDataset()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.btnStartStop = New System.Windows.Forms.Button()
Me.btntestmail = New System.Windows.Forms.Button()
Me.TBTC_MOVE_RENAMEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBTC_MOVE_RENAMETableAdapter = New ToolCollection.MyDatasetTableAdapters.TBTC_MOVE_RENAMETableAdapter()
Me.TableAdapterManager1 = New ToolCollection.MyDatasetTableAdapters.TableAdapterManager()
Me.tcmain.SuspendLayout()
Me.tpMain.SuspendLayout()
Me.StatusStrip1.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlInfos.SuspendLayout()
CType(Me.numIntervall, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TabPage2.SuspendLayout()
@@ -94,7 +95,6 @@ Partial Class frmNIHauptseite
CType(Me.VWMO_RE_DOKUMENTARTZUORDNUNGBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBMO_RE_HISTORYBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBTC_MOVE_RENAMEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
@@ -207,6 +207,29 @@ Partial Class frmNIHauptseite
Me.Label2.TabIndex = 26
Me.Label2.Text = "Fortschritt des aktuellen Durchlaufs (Gesamt)"
'
'PictureBox1
'
Me.PictureBox1.Image = Global.ToolCollection.My.Resources.Resources.info_small
Me.PictureBox1.Location = New System.Drawing.Point(55, 91)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(48, 52)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox1.TabIndex = 42
Me.PictureBox1.TabStop = False
'
'btnStartStop
'
Me.btnStartStop.Font = New System.Drawing.Font("Calibri", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnStartStop.Image = Global.ToolCollection.My.Resources.Resources.clock_run
Me.btnStartStop.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnStartStop.Location = New System.Drawing.Point(211, 390)
Me.btnStartStop.Name = "btnStartStop"
Me.btnStartStop.Padding = New System.Windows.Forms.Padding(10, 0, 0, 0)
Me.btnStartStop.Size = New System.Drawing.Size(271, 40)
Me.btnStartStop.TabIndex = 27
Me.btnStartStop.Text = "Nachindexierung starten"
Me.btnStartStop.UseVisualStyleBackColor = True
'
'Label6
'
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
@@ -241,7 +264,7 @@ Partial Class frmNIHauptseite
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label8.Location = New System.Drawing.Point(14, 30)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(84, 13)
Me.Label8.Size = New System.Drawing.Size(83, 13)
Me.Label8.TabIndex = 30
Me.Label8.Text = "In Bearbeitung"
'
@@ -250,7 +273,7 @@ Partial Class frmNIHauptseite
Me.lblDatei.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblDatei.Location = New System.Drawing.Point(107, 71)
Me.lblDatei.Name = "lblDatei"
Me.lblDatei.Size = New System.Drawing.Size(283, 33)
Me.lblDatei.Size = New System.Drawing.Size(488, 33)
Me.lblDatei.TabIndex = 35
Me.lblDatei.Text = "lblDatei"
'
@@ -279,7 +302,7 @@ Partial Class frmNIHauptseite
Me.lblProfilname.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblProfilname.Location = New System.Drawing.Point(107, 54)
Me.lblProfilname.Name = "lblProfilname"
Me.lblProfilname.Size = New System.Drawing.Size(283, 13)
Me.lblProfilname.Size = New System.Drawing.Size(471, 13)
Me.lblProfilname.TabIndex = 32
Me.lblProfilname.Text = "lblProfilname"
'
@@ -315,7 +338,7 @@ Partial Class frmNIHauptseite
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(147, 64)
Me.Label4.Location = New System.Drawing.Point(163, 64)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(212, 13)
Me.Label4.TabIndex = 39
@@ -325,10 +348,10 @@ Partial Class frmNIHauptseite
'
Me.numIntervall.DataBindings.Add(New System.Windows.Forms.Binding("Value", Global.ToolCollection.My.MySettings.Default, "NI_Durchlauf_Intervall", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
Me.numIntervall.Location = New System.Drawing.Point(81, 61)
Me.numIntervall.Maximum = New Decimal(New Integer() {600, 0, 0, 0})
Me.numIntervall.Maximum = New Decimal(New Integer() {6000, 0, 0, 0})
Me.numIntervall.Minimum = New Decimal(New Integer() {1, 0, 0, 0})
Me.numIntervall.Name = "numIntervall"
Me.numIntervall.Size = New System.Drawing.Size(55, 22)
Me.numIntervall.Size = New System.Drawing.Size(76, 22)
Me.numIntervall.TabIndex = 38
Me.numIntervall.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.numIntervall.Value = Global.ToolCollection.My.MySettings.Default.NI_Durchlauf_Intervall
@@ -394,7 +417,7 @@ Partial Class frmNIHauptseite
Me.Label16.AutoSize = True
Me.Label16.Location = New System.Drawing.Point(6, 236)
Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(503, 13)
Me.Label16.Size = New System.Drawing.Size(504, 13)
Me.Label16.TabIndex = 14
Me.Label16.Text = "Standard Einleitungstext: (HTML fähig: <br> = Zeilenwechsel;<b>= Fett Formatiert;" &
"</b>= Ende)"
@@ -409,6 +432,18 @@ Partial Class frmNIHauptseite
Me.txtBody.TabIndex = 13
Me.txtBody.Text = Global.ToolCollection.My.MySettings.Default.vNIMailBody
'
'btntestmail
'
Me.btntestmail.Image = Global.ToolCollection.My.Resources.Resources.mail_write
Me.btntestmail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btntestmail.Location = New System.Drawing.Point(9, 322)
Me.btntestmail.Name = "btntestmail"
Me.btntestmail.Size = New System.Drawing.Size(99, 34)
Me.btntestmail.TabIndex = 12
Me.btntestmail.Text = "Test-Mail"
Me.btntestmail.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btntestmail.UseVisualStyleBackColor = True
'
'txtEmpfaenger
'
Me.txtEmpfaenger.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.ToolCollection.My.MySettings.Default, "vNIEmailEmpf", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
@@ -441,7 +476,7 @@ Partial Class frmNIHauptseite
Me.Label12.AutoSize = True
Me.Label12.Location = New System.Drawing.Point(6, 150)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(238, 13)
Me.Label12.Size = New System.Drawing.Size(237, 13)
Me.Label12.TabIndex = 8
Me.Label12.Text = "Betreff: (Text für den Betreff der Fehler-Email)"
'
@@ -496,7 +531,7 @@ Partial Class frmNIHauptseite
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(6, 62)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(138, 13)
Me.Label14.Size = New System.Drawing.Size(139, 13)
Me.Label14.TabIndex = 2
Me.Label14.Text = "SMTP-Server: (Mail-Server)"
'
@@ -597,41 +632,6 @@ Partial Class frmNIHauptseite
Me.MyDataset.DataSetName = "MyDataset"
Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'PictureBox1
'
Me.PictureBox1.Image = Global.ToolCollection.My.Resources.Resources.info_small
Me.PictureBox1.Location = New System.Drawing.Point(55, 91)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(48, 52)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox1.TabIndex = 42
Me.PictureBox1.TabStop = False
'
'btnStartStop
'
Me.btnStartStop.Font = New System.Drawing.Font("Calibri", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnStartStop.Image = Global.ToolCollection.My.Resources.Resources.clock_run
Me.btnStartStop.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnStartStop.Location = New System.Drawing.Point(211, 390)
Me.btnStartStop.Name = "btnStartStop"
Me.btnStartStop.Padding = New System.Windows.Forms.Padding(10, 0, 0, 0)
Me.btnStartStop.Size = New System.Drawing.Size(271, 40)
Me.btnStartStop.TabIndex = 27
Me.btnStartStop.Text = "Nachindexierung starten"
Me.btnStartStop.UseVisualStyleBackColor = True
'
'btntestmail
'
Me.btntestmail.Image = Global.ToolCollection.My.Resources.Resources.mail_write
Me.btntestmail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btntestmail.Location = New System.Drawing.Point(9, 322)
Me.btntestmail.Name = "btntestmail"
Me.btntestmail.Size = New System.Drawing.Size(99, 34)
Me.btntestmail.TabIndex = 12
Me.btntestmail.Text = "Test-Mail"
Me.btntestmail.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btntestmail.UseVisualStyleBackColor = True
'
'TBTC_MOVE_RENAMEBindingSource
'
Me.TBTC_MOVE_RENAMEBindingSource.DataMember = "TBTC_MOVE_RENAME"
@@ -644,6 +644,7 @@ Partial Class frmNIHauptseite
'TableAdapterManager1
'
Me.TableAdapterManager1.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager1.TBTC_DI_REGEX_MATCHTableAdapter = Nothing
Me.TableAdapterManager1.TBTC_MOVE_RENAMETableAdapter = Me.TBTC_MOVE_RENAMETableAdapter
Me.TableAdapterManager1.UpdateOrder = ToolCollection.MyDatasetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
@@ -665,6 +666,7 @@ Partial Class frmNIHauptseite
Me.tpMain.PerformLayout()
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnlInfos.ResumeLayout(False)
Me.pnlInfos.PerformLayout()
CType(Me.numIntervall, System.ComponentModel.ISupportInitialize).EndInit()
@@ -677,7 +679,6 @@ Partial Class frmNIHauptseite
CType(Me.VWMO_RE_DOKUMENTARTZUORDNUNGBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBMO_RE_HISTORYBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBTC_MOVE_RENAMEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

View File

@@ -742,6 +742,12 @@ Public Class frmNIHauptseite
'Liefert nur den PFad des aktiven Dokumens
Dim ordnerpfad As String = IO.Path.GetDirectoryName(My.Settings.vWLaufwerk & ":" & dokument.aPath)
_Logger.Debug("OrdnerPfad der Datei: " & ordnerpfad)
Try
CURRENT_DOCID = CInt(dokument.GetVariableValue("Dokument-ID"))
Catch ex As Exception
CURRENT_DOCID = 0
End Try
'Schalter um zu überprüfen ob es im Durchlauf ein SQL-Ergebnis gab
Dim _ergebnisSQL As Boolean = False
'Die Tabelle mit den select werten leeren
@@ -1643,41 +1649,18 @@ Public Class frmNIHauptseite
If LICENSE_MoveRename = True And Not oUnexpectedError And unvollstaendig = False Then
Dim swMoveandrename As New ClassStopwatch("MoveandRename")
oUnexpectedError = FNMoveRename(dokument)
'sd
'Dim sw1 As New ClassStopwatch("dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex)")
'Dim _MOREDA = dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex)
'Dim msg As String = sw1.Done
'If msg <> "" Then _Logger.Debug($"SWResult: {msg}")
'Dim _MOREKD
'If Me.aktivesProfil.MR_KDIndex <> "" Then
' _MOREKD = dokument.GetVariableValue(Me.aktivesProfil.MR_KDIndex)
'End If
'If _MOREDA Is Nothing = False Then
' If My.Settings.vLogErrorsonly = False Then _Logger.Info($"_MOREDA {_MOREDA} and _MOREKD {_MOREKD} ")
' Dim result_MORE = _clsMoRe.RUN_MO_RE(dokument, "\\windream\objects" & dokument.aPath, _MOREDA, _MOREKD)
' _Logger.Info(($"Result of Move and Rename: {result_MORE}"))
' If result_MORE <> "False" Then
' moved_Folder = CStr(result_MORE)
' End If
' 'If temp = False Then
' ' If My.Settings.vNIMailsenden = True Then
' ' email.Send_EMail("Fehler bei Move and Rename der Datei: " & dokument.aName.ToString & "<br> Fehler: Die Datei wurde indexiert aber nicht verschoben!")
' ' End If
' 'End If
'End If
Dim msg1 = swMoveandrename.Done
If msg1 <> "" Then
Stopwatch1 += vbNewLine & $"{msg1}"
End If
' MsgBox("Dokument wird in Ordnerbaum verschoben und umbenannt!" & vbNewLine & Me.aktivesProfil.MR_DAIndex & vbNewLine & Me.aktivesProfil.MR_KDIndex & vbNewLine & Me.aktivesProfil.Desk_windreamIndex, MsgBoxStyle.Information, dokument.aPath)
Else
If LICENSE_MoveRename = True And oUnexpectedError = True Or unvollstaendig = True Then
_Logger.Info("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True")
_Logger.Debug("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True")
End If
'Dim Err As Boolean = MRGetValuesFromFile(My.Settings.MRWD_Laufwerk & ":" & dokument.aPath, Me.aktivesProfil.MR_DAIndex, Me.aktivesProfil.MR_KDIndex, Me.aktivesProfil.Desk_windreamIndex)
End If
@@ -1743,6 +1726,10 @@ Public Class frmNIHauptseite
If msg <> "" Then
Stopwatch1 += vbNewLine & $"{msg}"
End If
Else
If aktivesProfil.NachbearbeitungAD = True Then
_Logger.Info($"Nachbearbeitung AD ist aktiviert aber Unexpected Error ist{oUnexpectedError.ToString}")
End If
End If
oUnexpectedError = False
Try
@@ -1789,7 +1776,7 @@ Public Class frmNIHauptseite
If IsDate(oWMIndexValue) Then
oWMIndexValue = CDate(oWMIndexValue).ToString("yyyyMMdd")
End If
oWMIndexValue = oWMIndexValue.Replace("\", "")
' oWMIndexValue = oWMIndexValue.Replace("\", "")
oDynamicFolder = oDynamicFolder.Replace(oMatchElement.ToString, oWMIndexValue)
_Logger.Debug(" FolderPattern: '" & oDynamicFolder & "'", False)
Else
@@ -2006,7 +1993,7 @@ Public Class frmNIHauptseite
oReturnString = oNamenkonvention
Else
If MyDataset.TBTC_MOVE_RENAME.Rows.Count = 0 Then
Return True
Return False
Else
oReturnString = oActWMPath
End If
@@ -2154,9 +2141,10 @@ Public Class frmNIHauptseite
Dim DT As DataTable = _sqlite.Return_Datatable("select * from TBNI_NACHBEARBEITUNG_AD WHERE AKTIV = 1 AND NI_PROFILNAME = '" & aktivesProfil.Profilname & "'", True)
If DT.Rows.Count = 1 Then
Dim profilID As Integer
For Each DTrow As DataRow In DT.Rows
profilID = DTrow.Item("GUID")
Next
profilID = DT.Rows(0).Item("GUID")
'For Each DTrow As DataRow In DT.Rows
' profilID = DTrow.Item("GUID")
'Next
Dim DTR As DataTable = _sqlite.Return_Datatable("select * from TBNI_NB_STEP_AD WHERE PROFIL_ID = " & profilID, False)
If DTR.Rows.Count > 0 Then
Dim i As Integer = 0
@@ -2616,6 +2604,20 @@ Public Class frmNIHauptseite
Me.Close()
Exit Sub
End If
Try
Dim directory As New IO.DirectoryInfo(_MyLogger.LogDirectory)
For Each file As IO.FileInfo In directory.GetFiles
If (Now - file.CreationTime).Days > 29 Then
file.Delete()
Else
Exit For
End If
Next
Catch ex As Exception
End Try
'Die NI wird ganz normal gestartet
Me.btnStartStop.Text = "Nachindexierung stoppen"
Me.numIntervall.Enabled = False

View File

@@ -130,7 +130,7 @@ Public Class frmStart
Me._validModules = Nothing
If Not My.Settings.licensekey = "" Then
If My.Settings.licensekey = "DD MaxLicense" Or My.Settings.licensekey.ToUpper = "DDALLIN" Then
If My.Settings.licensekey = "DD MaxLicense" Or My.Settings.licensekey.ToUpper = "DDALLIN" Or My.Settings.licensekey.ToUpper = "DD_ALL_IN" Or My.Settings.licensekey.ToUpper = "DD_ALLIN" Then
Me.grbDI.Visible = True
Me.GBNachindexierung.Visible = True
Me.GroupBoxIntegration.Visible = True

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net451" />
<package id="NLog" version="4.5.8" targetFramework="net451" />
<package id="NLog" version="4.7.11" targetFramework="net461" />
<package id="System.Data.SQLite" version="1.0.91.3" targetFramework="net451" />
</packages>