Compare commits

...

11 Commits

Author SHA1 Message Date
Developer01
edf172e034 Nochmal referencen 2025-08-25 12:04:47 +02:00
Developer01
4a2ea9e764 Referencen Config,DB und Log aktualisiert 2025-08-25 12:04:15 +02:00
Developer01
b141617ae6 MergeCommt 2025-08-25 12:00:09 +02:00
Developer01
6ddb48ec07 Merge Commit 2025-08-25 11:58:28 +02:00
Developer01
dd9998756f Documentlayout Unklar woher das kommt VS intern? 2025-08-25 11:57:30 +02:00
Developer01
bb8c85cf1e ContentIndex 2025-08-25 11:56:19 +02:00
OlgunR
7314576b41 FileContent Index 2025-08-25 11:53:32 +02:00
OlgunR
fdce249bd0 Merge 2025-08-25 11:52:29 +02:00
OlgunR
0f254e9880 Automatisches Löschen von Logdateien - frmGrundeinstellungen, frmStart 2025-08-22 14:28:22 +02:00
Developer01
c5e0a4df81 json 2025-06-18 09:36:38 +02:00
Developer01
4e40cec97e MS PersonifiedLogin 2025-06-06 13:25:50 +02:00
39 changed files with 860 additions and 785 deletions

6
.gitignore vendored
View File

@@ -158,3 +158,9 @@ $RECYCLE.BIN/
/ToolCollection/.vs/ToolCollection/v16/Server/sqlite3 /ToolCollection/.vs/ToolCollection/v16/Server/sqlite3
/.vs/ToolCollection/v16/Server/sqlite3 /.vs/ToolCollection/v16/Server/sqlite3
/ToolCollection/.vs/ToolCollection/v15/Server/sqlite3 /ToolCollection/.vs/ToolCollection/v15/Server/sqlite3
/.vs/ToolCollection/FileContentIndex/719c2c5a-903b-46fb-98ca-0e3edcec50ec.vsidx
/.vs/ToolCollection/FileContentIndex
/ToolCollection/.vs/ToolCollection.vbproj.dtbcache.json
/NIService/.vs/NIService.csproj.dtbcache.json
/.vs/ToolCollection/v17/DocumentLayout.json
/.vs/ToolCollection/v17/DocumentLayout.backup.json

View File

@@ -1,3 +0,0 @@
{
"CurrentProjectSetting": null
}

Binary file not shown.

View File

@@ -0,0 +1,14 @@
{
"ShowEmptyProjects": false,
"SelectedGroups": [],
"ExpandedProjects": [],
"EnableSpellChecker": true,
"ColumnOrder": [
"name",
"type"
],
"VisibleColumnKeys": [
"name",
"neutral-value"
]
}

View File

@@ -1,7 +0,0 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\ToolCollection.sln",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 17
VisualStudioVersion = 16.0.31005.135 VisualStudioVersion = 17.14.36203.30 d17.14
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ToolCollection", "ToolCollection\ToolCollection.vbproj", "{AC6B3398-DE0E-4580-9422-6E4D97FA4494}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ToolCollection", "ToolCollection\ToolCollection.vbproj", "{AC6B3398-DE0E-4580-9422-6E4D97FA4494}"
EndProject EndProject
@@ -20,6 +20,7 @@ Global
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|Any CPU.ActiveCfg = Debug|x86 {AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|Any CPU.ActiveCfg = Debug|x86
{AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|Any CPU.Build.0 = Debug|x86
{AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x64.ActiveCfg = Debug|x64 {AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x64.ActiveCfg = Debug|x64
{AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x64.Build.0 = Debug|x64 {AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x64.Build.0 = Debug|x64
{AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x86.ActiveCfg = Debug|x86 {AC6B3398-DE0E-4580-9422-6E4D97FA4494}.Debug|x86.ActiveCfg = Debug|x86

View File

@@ -1,3 +0,0 @@
{
"CurrentProjectSetting": null
}

View File

@@ -1,6 +0,0 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}

Binary file not shown.

View File

@@ -7,16 +7,12 @@ Public Class ClassDI
' ++++++++++++++++++++++++++++++++++++++++++++++ Methoden ++++++++++++++++++++++++++++++++++++++++++++++ ' ++++++++++++++++++++++++++++++++++++++++++++++ Methoden ++++++++++++++++++++++++++++++++++++++++++++++
Sub New(LogConfig As LogConfig) Sub New(LogConfig As LogConfig)
Try Try
' 3a. Windream instanziieren ' 3a. Windream instanziieren
Me._windream = New ClassWindream_allgemein(LogConfig) Me._windream = New ClassWindream_allgemein(LogConfig)
' 3b. Windream initialisieren (Connection, Session, ... aufbauen) ' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
Me._windream.Init() Me._windream.Init()
Catch ex As Exception Catch ex As Exception
MsgBox("Unbekannter Fehler im Konstuktor des Moduls 'XYZ'." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unbekannter Fehler") MsgBox("Unbekannter Fehler im Konstuktor des Moduls 'XYZ'." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unbekannter Fehler")
End Try End Try

View File

@@ -85,6 +85,10 @@ Public Class ClassDIProfile
' gibt ein einzelnes Profil-Objekt zurück ' gibt ein einzelnes Profil-Objekt zurück
Public Shared Function getProfilByName(ByVal profilname As String) As ClassDIProfil Public Shared Function getProfilByName(ByVal profilname As String) As ClassDIProfil
If _profiles Is Nothing Then
Return Nothing
End If
' alle Profile durchlaufen ' alle Profile durchlaufen
For Each profil As ClassDIProfil In _profiles For Each profil As ClassDIProfil In _profiles

View File

@@ -29,156 +29,6 @@ Public Class ClassMO_REOld
Return False Return False
End Try End Try
End Function End Function
'Public Shared Function RUN_MO_RE(ByVal dokument As WMObject, ByVal vDatei As String, ByVal _MRDOKART As Object, ByVal _MRKUNDE As Object) As String
' Try
' Dim DT As New DataTable
' Dim _MRDeskrIndex
' Dim _path, _praefix, _kunde, _ziel As String
' _Logger.Debug(">> Ausgelesener Kundenidentifikator: " & _MRKUNDE)
' _Logger.Debug(">> Ausgelesene Dokumentart: " & _MRDOKART)
' Dim oSelect As String
' If _MRKUNDE Is Nothing Or _MRKUNDE = "" Then
' 'Auslesen der MORE-Konfiguration für Kunde und Standard
' oSelect = "SELECT * FROM VWMO_RE_DOKUMENTARTZUORDNUNG WHERE (DOKUMENTART = '" & _MRDOKART.ToString & "') AND (UPPER(KUNDEN_NAME) = 'STANDARD')"
' DT = Return_Datatable(oSelect)
' _Logger.Debug(oSelect)
' Else
' If _MRKUNDE = "Standard-VZ" Then _MRKUNDE = "Standard"
' oSelect = "SELECT * FROM VWMO_RE_DOKUMENTARTZUORDNUNG WHERE (DOKUMENTART = '" & _MRDOKART.ToString & "') AND (UPPER(KUNDEN_NAME) = UPPER('" & _MRKUNDE.ToString & "'))"
' 'Auslesen der MORE-Konfiguration für Kunde und Dokart
' DT = Return_Datatable(oSelect)
' _Logger.Debug("Select2: " & oSelect)
' End If
' If DT.Rows.Count = 0 Then
' _Logger.Debug("Für Kunden keine Daten - also Standard lesen")
' oSelect = "SELECT * FROM VWMO_RE_DOKUMENTARTZUORDNUNG WHERE (DOKUMENTART = '" & _MRDOKART.ToString & "') AND (UPPER(KUNDEN_NAME) = 'STANDARD')"
' 'Für diesen Kunden wurde keine Konfiguration gefunden also den Standard laden
' DT = Return_Datatable(oSelect)
' _Logger.Debug("Select3: " & oSelect)
' End If
' If DT.Rows.Count = 1 Then
' 'Es liegt sowohl Kunde als auch Dokumentart vor
' Try
' _Logger.Debug("Versuch für den Index " & DT.Rows(0).Item("INDEXNAME").ToString & " den Indexwert auszulesen")
' Dim sw As New ClassStopwatch($"GetVariableValue _MRDeskrIndex({DT.Rows(0).Item("INDEXNAME").ToString})")
' _MRDeskrIndex = dokument.GetVariableValue(DT.Rows(0).Item("INDEXNAME").ToString)
' Dim msg = sw.Done
' If msg <> String.Empty Then _Logger.Info(msg)
' Catch ex As Exception
' _Logger.Warn("Achtung: ein eindeutiger/deskriptiver Indexwert existiert noch nicht! Dokument kann nicht verschoben und umbenannt werden!")
' Return False
' End Try
' _Logger.Debug("Ausgelesener Deskriptiver Index: " & _MRDeskrIndex)
' 'Datei-Paramter auslesen
' Dim extension As String = Path.GetExtension(vDatei)
' Dim myFolderPath As String
' myFolderPath = Path.GetDirectoryName(vDatei)
' Dim _WDLaufwerk, _newfilename As String
' _WDLaufwerk = My.Settings.MRWD_Laufwerk
' _path = DT.Rows(0).Item("DOKUMENTARTORDNER")
' '####### _path anpassen evtl Unterordner
' 'Unterordner Index 1
' Dim _UOindex As String = DT.Rows(0).Item("UO_IDX1")
' Dim _UOindex_Value As String = ""
' If _UOindex <> "" Then
' Dim sw As New ClassStopwatch($"GetVariableValue _UOindex({_UOindex})")
' _UOindex_Value = dokument.GetVariableValue(_UOindex)
' Dim msg = sw.Done
' If msg <> String.Empty Then _Logger.Info(msg)
' If Not _UOindex_Value Is Nothing Then
' _path &= "\" & _UOindex_Value
' If _path.Contains(" 00:00:00") Then _path = _path.Replace(" 00:00:00", "")
' _Logger.Debug("Unterordner 1 soll erzeugt werden - Path '" & _path & "'")
' End If
' End If
' 'Unterordner Index 2
' _UOindex = DT.Rows(0).Item("UO_IDX2")
' If _UOindex <> "" Then
' Dim sw As New ClassStopwatch($"GetVariableValue _UOindex({_UOindex})")
' _UOindex_Value = dokument.GetVariableValue(_UOindex)
' Dim msg = sw.Done
' If msg <> String.Empty Then _Logger.Info(msg)
' If Not _UOindex_Value Is Nothing Then
' _path &= "\" & _UOindex_Value
' If _path.Contains(" 00:00:00") Then _path = _path.Replace(" 00:00:00", "")
' _Logger.Debug("Unterordner 2 soll erzeugt werden - Path '" & _path & "'")
' End If
' End If
' _UOindex = DT.Rows(0).Item("UO_IDX3")
' If _UOindex <> "" Then
' Dim sw As New ClassStopwatch($"GetVariableValue _UOindex({_UOindex})")
' _UOindex_Value = dokument.GetVariableValue(_UOindex)
' Dim msg = sw.Done
' If msg <> String.Empty Then _Logger.Info(msg)
' If Not _UOindex_Value Is Nothing Then
' _path &= "\" & _UOindex_Value
' If _path.Contains(" 00:00:00") Then _path = _path.Replace(" 00:00:00", "")
' _Logger.Debug("Unterordner 3 soll erzeugt werden - Path '" & _path & "'")
' End If
' End If
' '#####
' _kunde = DT.Rows(0).Item("KUNDEN_NAME")
' _praefix = DT.Rows(0).Item("PRAEFIX")
' 'Dem Neuen Dateinamen schon mal das Präfix mitgeben
' _newfilename = _praefix
' _newfilename = _newfilename & _MRDeskrIndex & extension
' _Logger.Debug("Ausgelesener Pfad: " & _path)
' _Logger.Debug("Neuer Dateiname: " & _newfilename)
' '### VERSIONIERUNG ###
' Dim version As Integer = 2
' Dim Stammname As String = _newfilename.Substring(0, _newfilename.LastIndexOf("."))
' Dim neuername As String = _newfilename.Substring(0, _newfilename.LastIndexOf("."))
' 'Überprüfen ob File existiert
' Do While file_exists(_path & "\" & neuername & extension, False) = True
' neuername = Stammname & "~" & version
' _newfilename = neuername & extension
' version = version + 1
' Loop
' _ziel = _path & "\" & _newfilename
' If My.Settings.vLogErrorsonly = False Then
' If neuername.Contains("~") Then _Logger.Info("Neuer Dateiname: " & _newfilename)
' _Logger.Debug("Neuer Dateiname: " & _newfilename)
' _Logger.Debug("Quelle: " & vDatei)
' _Logger.Debug("Ziel: " & _ziel)
' End If
' If myFolderPath <> _path Then
' _windreamNI.NEW_MOVE_FILE(_ziel, vDatei, "MO_RE")
' 'ClassLoggerNI.Add(" ######### Erfolgsmeldung - Datei wurde erfolgreich umbenannt und verschoben ###########")
' Else
' _Logger.Info("Verschieben nicht notwendig: Ordnerpfad identisch!")
' Dim sw As New ClassStopwatch("RenameFile")
' My.Computer.FileSystem.RenameFile(vDatei, _newfilename)
' _Logger.Debug("Erfolgsmeldung - Datei wurde erfolgreich umbenannt")
' Dim msg = sw.Done
' If msg <> "" Then _Logger.Debug($"SWResult: {msg}")
' End If
' Execute_Command("INSERT INTO TBMO_RE_HISTORY (FILE_ORIGINAL, FILE_NEW, KUNDE, INDEX1, INDEX2, ERSTELLTWER) VALUES " &
' "('" & vDatei & "','" & _ziel & "','" & _kunde & "','" & _MRDeskrIndex & "','" & _MRDOKART & "','ToolCollection MORE')")
' Return _ziel
' Else
' _Logger.Info("MO_RE Result was not 1 row: check select..." & oSelect)
' Return False
' End If
' Catch ex As Exception
' _Logger.Error(ex)
' MsgBox(ex.Message, MsgBoxStyle.Critical)
' Return False
' End Try
'End Function
Private Shared Function file_exists(ByVal _file As String, ByVal suche As Boolean) Private Shared Function file_exists(ByVal _file As String, ByVal suche As Boolean)
Try Try
_file = _file.Replace("W:", "\\windream\objects") _file = _file.Replace("W:", "\\windream\objects")

View File

@@ -300,9 +300,7 @@ Public Class ClassNIDatenbankzugriff
Catch ex As Exception Catch ex As Exception
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
_Logger.Error(ex) _Logger.Error(ex)
'If My.Settings.vMailsenden = True Then
' email.Send_EMail("Profilname: " & Profilname & "<br>ClassNIDatenbankzugriff.ExecuteonOracleDb - Ein unbekannter Fehler in ExecuteonOracleDb: " & ex.Message)
'End If
Timer_Stop() Timer_Stop()
Return 0 Return 0
End Try End Try
@@ -540,7 +538,6 @@ Public Class ClassNIDatenbankzugriff
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
EMAIL_DD.Send_EMail("Profilname: " & Profilname & "<br>ClassNIDatenbankzugriff.GetValueFromMssqlDb - SQL-Abfrage definieren: " & ex.Message, "NIDB_GetValueFromMssqlDb")
' DB-Connection schliessen ' DB-Connection schliessen
SQLconnect.Close() SQLconnect.Close()

View File

@@ -1,39 +0,0 @@
Imports System.Net.Mail
Imports System.IO
Imports DigitalData.Modules.Logging
Public Class ClassEmail
Private Shared _Logger As DigitalData.Modules.Logging.Logger
Public Shared err_message As String
Public Sub New(pLogConf As DigitalData.Modules.Logging.LogConfig)
_Logger = pLogConf.GetLogger()
End Sub
Public Sub Send_EMail(ByVal vBody As String, ByVal pRefString As String)
'#### E-MAIL NACHRICHT VERSENDEN
Try
If My.Settings.vMailRecipient <> "" And My.Settings.vMailsenden = True Then
If My.Settings.vMailRecipient.Contains(";") Then
Dim oPROC As String
Dim oBody As String = ""
If My.Settings.vMailBodyPraefix <> String.Empty Then
oBody = My.Settings.vMailBodyPraefix
End If
oBody += "<br>>> machinename: " & Environment.MachineName
oBody += "<br>>> Domain-Name: " & Environment.UserDomainName
oPROC = $"EXEC PREMAIL_NEW_EMAIL {My.Settings.vMailProfilID},'{My.Settings.vMailRecipient}','{My.Settings.vMailSubject}','{oBody}','{pRefString}',9999,8888,'ToolCollection'"
If Not IsNothing(DB_ECM) Then
If DB_ECM.DBInitialized Then
DB_ECM.ExecuteNonQuery(oPROC)
End If
End If
End If
End If
'########
Catch ex As Exception
_Logger.Warn(">> Achtung: Fehler in Mailversand: " & ex.Message)
End Try
End Sub
End Class

View File

@@ -349,6 +349,10 @@ Public Class ClassNIProfile
' gibt ein einzelnes Profil-Objekt zurück ' gibt ein einzelnes Profil-Objekt zurück
Public Shared Function getProfilByName(ByVal profilname As String) As ClassNIProfil Public Shared Function getProfilByName(ByVal profilname As String) As ClassNIProfil
If _profiles Is Nothing Then
Return Nothing
End If
' alle Profile durchlaufen ' alle Profile durchlaufen
For Each profil As ClassNIProfil In _profiles For Each profil As ClassNIProfil In _profiles

View File

@@ -1,6 +1,9 @@
Imports WINDREAMLib Imports WINDREAMLib
Imports WMOSRCHLib Imports WMOSRCHLib
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports System.Reflection
Imports System.Runtime
Public Class ClassNIWindream Public Class ClassNIWindream
Inherits ClassWindream_allgemein Inherits ClassWindream_allgemein
Private Shared _Logger As DigitalData.Modules.Logging.Logger Private Shared _Logger As DigitalData.Modules.Logging.Logger
@@ -174,21 +177,28 @@ Public Class ClassNIWindream
_Logger.Debug("Typ des windream-Indexes: 8204 Integer") _Logger.Debug("Typ des windream-Indexes: 8204 Integer")
Case 8 Case 8
_Logger.Debug("Typ des windream-Indexes: 8 Vektor Boolean") _Logger.Debug("Typ des windream-Indexes: 8 Vektor Boolean")
Case Else
_Logger.Info($"RunIndexing_Vektor - Invalid type: {vType}")
End Select End Select
Dim Anzahl As Integer = aValues.Length - 1 Dim oAnzahl_Werte As Integer = aValues.Length - 1
Dim oIndex = 0
For Each aValue As String In aValues
oIndex += 1
Next
_Logger.Debug("RunIndexing_Vektor - oIndex = {0}", oIndex)
'Vektorfeld wird mit EINEM Wert gefüllt 'Vektorfeld wird mit EINEM Wert gefüllt
If Anzahl = 0 Then If oAnzahl_Werte = 0 Or oIndex = 1 Then
_Logger.Debug("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ") _Logger.Debug("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0) ReDim myArray(0)
myArray(0) = Convert_IndexValue(vType, aValues(0)) myArray(0) = Convert_IndexValue(vType, aValues(0))
_Logger.Debug("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString) _Logger.Debug("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString)
Else Else
_Logger.Debug($"RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten [{Anzahl}] gefüllt ") _Logger.Debug($"RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten [{oAnzahl_Werte}] gefüllt ")
Dim _value As String Dim _value As String
Try Try
'Die Größe des Arrays festlegen 'Die Größe des Arrays festlegen
ReDim myArray(Anzahl) ReDim myArray(oAnzahl_Werte)
Dim i1 As Integer = 0 Dim i1 As Integer = 0
For Each aValue As String In aValues For Each aValue As String In aValues
_value = aValue _value = aValue
@@ -444,7 +454,7 @@ Public Class ClassNIWindream
vektor = True vektor = True
Case Else Case Else
_Logger.Warn("Typ des windream-Indexes konnte nicht bestimmt werden!") _Logger.Warn("Typ des windream-Indexes konnte nicht bestimmt werden!")
_Logger.Debug("Versuch des Auslesens (vType): " & vType) _Logger.Info($"RunIndexing - Invalid IndexType: {vType}")
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else") 'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
convertValue = "" convertValue = ""
End Select End Select
@@ -469,7 +479,7 @@ Public Class ClassNIWindream
_Logger.Info("Achtung das Ändern des Indexes: '" & aName & "' ist nicht mehr erlaubt! Bitte überprüfen Sie Ihre Nachindexierungslogik und den Objekttyp.") _Logger.Info("Achtung das Ändern des Indexes: '" & aName & "' ist nicht mehr erlaubt! Bitte überprüfen Sie Ihre Nachindexierungslogik und den Objekttyp.")
oDocument.Save() oDocument.Save()
Else Else
_Logger.Warn("Unvorhergesehener Fehler bei NonVektor-SetVariableValue:") _Logger.Warn($"Unvorhergesehener Fehler bei NonVektor-SetVariableValue - Indexname: {aName}")
_Logger.Warn("Fehlermeldung:" & ex.Message) _Logger.Warn("Fehlermeldung:" & ex.Message)
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
@@ -569,99 +579,138 @@ Public Class ClassNIWindream
End If End If
Else Else
_Logger.Warn(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING") _Logger.Warn(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING")
End If
Else
If oAnzahl = 0 Then
_Logger.Debug($"Vektorfeld wird mit MEHREREN Werten [{oAnzahl}] gefüllt oAnzahl ist aber 0! ")
Dim oAnzahlCheck As Integer = 0
For Each DR In DT_VEKTOR.Rows
If DR.Item("IndexName") = aName.ToString Then
value = DR.Item("Value")
oAnzahlCheck += 1
_Logger.Debug($"Prüfung ob Value kommt: [{value}] ")
End If End If
Else Next
_Logger.Debug($"Vektorfeld wird mit MEHREREN Werten [{oAnzahl}] gefüllt ") If oAnzahlCheck = 1 Then
' das ausgewählte Profil in _selectedProfile laden _Logger.Debug($"Vektorfeld wird tatsächlich nur mit einem Wert gefüllt!! ")
_selectedProfil = ClassNIProfile.getProfilByName(Profil) myArray(0) = Convert_IndexValue(vType, value)
ReDim myArray(0)
oDocument.SetVariableValue(aName, myArray)
_Logger.Debug("'SetVariableValue' für VEKTOR nach Anzahl 1 erfolgreich")
'Die Größe des Arrays festlegen 'Die Änderungen festsschreiben/speichern
ReDim myArray(oAnzahl - 1) oDocument.Save()
Dim i1 As Integer = 0 _Logger.Debug("Indexierung erfolgreich beendet (Save Anzahl 1 ...")
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
For Each DR In DT_VEKTOR.Rows
If DR.Item("IndexName") = aName.ToString Then
myArray(i1) = Convert_IndexValue(vType, DR.Item("Value"))
_Logger.Debug("Value (" & i1 & "): '" & DR.Item("Value").ToString & "'")
i1 = i1 + 1
End If End If
Next Else
_Logger.Debug("Array wurde erfolgreich erzeugt") _Logger.Debug($"Vektorfeld wird mit MEHREREN Werten [{oAnzahl}] gefüllt ")
If _selectedProfil Is Nothing = False Then
Me._selectedProfil._links.selectedLink = Me._selectedProfil._links.getLinkByIndex(aName)
If Me._selectedProfil._links.selectedLink IsNot Nothing Then
Dim VektorArray
Select Case Me._selectedProfil._links.selectedLink.vktins_state
Case 1
_Logger.Debug("vektInsState = '1' - Vektovalues will be replaced")
Dim z As Integer = 0
Try
ReDim VektorArray(myArray.Length)
Catch ex As Exception
ReDim VektorArray(myArray.Count)
End Try
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 ' das ausgewählte Profil in _selectedProfile laden
VektorArray(z) = Convert_IndexValue(vType, oVectValue) _selectedProfil = ClassNIProfile.getProfilByName(Profil)
z += 1 'Die Größe des Arrays festlegen
End If ReDim myArray(oAnzahl - 1)
Dim i1 As Integer = 0
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
For Each DR In DT_VEKTOR.Rows
If DR.Item("IndexName") = aName.ToString Then
myArray(i1) = Convert_IndexValue(vType, DR.Item("Value"))
_Logger.Debug("Value (" & i1 & "): '" & DR.Item("Value").ToString & "'")
i1 = i1 + 1
End If
Next
_Logger.Debug("Array wurde erfolgreich erzeugt")
If _selectedProfil Is Nothing = False Then
Me._selectedProfil._links.selectedLink = Me._selectedProfil._links.getLinkByIndex(aName)
If Me._selectedProfil._links.selectedLink IsNot Nothing Then
Dim VektorArray
Select Case Me._selectedProfil._links.selectedLink.vktins_state
Case 1
_Logger.Debug("vektInsState = '1' - Vektovalues will be replaced")
Dim z As Integer = 0
Try
ReDim VektorArray(myArray.Length)
Catch ex As Exception
ReDim VektorArray(myArray.Count)
End Try
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
VektorArray(z) = Convert_IndexValue(vType, oVectValue)
z += 1
End If
Next
Case 2 'Anfügen
_Logger.Debug("vektInsState = '2'-638")
VektorArray = Return_VektorArray(oDocument, aName, myArray, False, vType)
Case 3 'Anfügen mit DuplikatCheck
_Logger.Debug("vektInsState = '3'")
VektorArray = Return_VektorArray(oDocument, aName, myArray, True, vType)
End Select
If VektorArray Is Nothing = False Then
Dim oIndex As Integer = 0
For Each oStr In VektorArray
_Logger.Debug("For Each oStr In VektorArray - Value [{0}]", oStr)
oIndex += 1
Next Next
Case 2 'Anfügen If oIndex = 0 Then
_Logger.Debug("vektInsState = '2'-638") _Logger.Debug("VektorArray.length = 0 ... Skipping Redim")
VektorArray = Return_VektorArray(oDocument, aName, myArray, False, vType) Else
Case 3 'Anfügen mit DuplikatCheck _Logger.Debug("RunIndexing - Nun nochmal redimensionieren Array für windeam...")
_Logger.Debug("vektInsState = '3'") 'Das Array wieder anpassen
VektorArray = Return_VektorArray(oDocument, aName, myArray, True, vType) Try
End Select ReDim myArray(VektorArray.Length - 1)
If VektorArray Is Nothing = False Then Catch ex As Exception
'Das Array wieder anpassen ReDim myArray(VektorArray.count - 1)
Try End Try
ReDim myArray(VektorArray.Length - 1) Dim oIndex1 As Integer = 0
Catch ex As Exception For Each oStr In VektorArray
ReDim myArray(VektorArray.count - 1) myArray(oIndex1) = oStr
End Try _Logger.Debug("RunIndexing - Value {0} - [{1}]", oIndex1, oStr)
Dim oIndex As Integer = 0 oIndex1 += 1
For Each oStr In VektorArray Next
myArray(oIndex) = oStr End If
oIndex += 1
Next
'Jetzt die Nachindexierung für Vektor-Felder
oDocument.SetVariableValue(aName, myArray)
_Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich")
' oDocument.LockRights() 'Jetzt die Nachindexierung für Vektor-Felder
oDocument.SetVariableValue(aName, myArray)
_Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich")
' oDocument.LockRights()
'Die Änderungen festsschreiben/speichern
oDocument.Save()
_Logger.Debug("Indexierung erfolgreich beendet (Save ...")
Else
If My.Settings.vLogErrorsonly = False Then _Logger.Info("Achtung: VektorArray Is NOTHING")
oDocument.Save()
Return True
End If
'Die Änderungen festsschreiben/speichern
oDocument.Save()
_Logger.Debug("Indexierung erfolgreich beendet (Save ...")
Else Else
If My.Settings.vLogErrorsonly = False Then _Logger.Info("Achtung: VektorArray Is NOTHING") _Logger.Warn(">> Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING")
oDocument.Save() oDocument.Save()
Return True Return True
End If End If
Else Else
_Logger.Warn(">> Achtung: Der Link konnte nicht geladen werden - _selectedProfil._links.selectedLink is NOTHING") _Logger.Warn(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING")
oDocument.Save() oDocument.Save()
Return True Return True
End If End If
Else
_Logger.Warn(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING")
oDocument.Save()
Return True
End If End If
End If End If
End If End If
@@ -689,9 +738,6 @@ Public Class ClassNIWindream
i1 += 1 i1 += 1
Next Next
End If End If
If My.Settings.vMailsenden = True Then
'email.Send_EMail("Fehler bei RunIndexing - Datei: " & oDocument.aName.ToString & "<br>Profilname: " & Profil & "<br>Fehler: " & ex.Message)
End If
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
Return True Return True
@@ -786,6 +832,7 @@ Public Class ClassNIWindream
End If End If
End If End If
Next Next
_Logger.Debug("Vektor-Array wurde erzeugt - Anzahl {0}", oValues.Count)
End If End If
Return oValues Return oValues
@@ -913,9 +960,6 @@ Public Class ClassNIWindream
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
If My.Settings.vMailsenden = True Then
'email.Send_EMail("Fehler bei SetfinalIndex - Datei: " & oDocument.aName.ToString & " - Fehler: " & ex.Message)
End If
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
End Try End Try
@@ -949,9 +993,6 @@ Public Class ClassNIWindream
'' Der öffentliche Member CheckSearchProfile für den Typ IWMQuickSearch7 wurde nicht gefunden. [Microsoft.VisualBasic] => GetSearchDocuments() '' Der öffentliche Member CheckSearchProfile für den Typ IWMQuickSearch7 wurde nicht gefunden. [Microsoft.VisualBasic] => GetSearchDocuments()
Select Case suchTyp.ToString.ToUpper Select Case suchTyp.ToString.ToUpper
Case "WMOSRCH.WMQUICKSEARCH" Case "WMOSRCH.WMQUICKSEARCH"
'srchQuick.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
'Me.oConnect.LoginSession(oWMSession) 'srchQuick.WMSession)
srchQuick.ClearSearch() srchQuick.ClearSearch()
srchQuick.SearchProfilePath = ProfilePath srchQuick.SearchProfilePath = ProfilePath
@@ -960,8 +1001,7 @@ Public Class ClassNIWindream
oSearch = srchQuick.GetSearch() oSearch = srchQuick.GetSearch()
Case "WMOSRCH.WMINDEXSEARCH" Case "WMOSRCH.WMINDEXSEARCH"
srchIndex.WMSession = oWMSession 'CreateObject("Windream.WMSession", Me.GetCurrentServer) srchIndex.WMSession = oWMSession
'Me.oConnect.LoginSession(srchIndex.WMSession) 'Me.oConnect.LoginSession(srchIndex.WMSession)
srchIndex.ClearSearch() srchIndex.ClearSearch()
@@ -971,7 +1011,7 @@ Public Class ClassNIWindream
oSearch = srchIndex.GetSearch() oSearch = srchIndex.GetSearch()
Case "WMOSRCH.WMOBJECTTYPESEARCH" Case "WMOSRCH.WMOBJECTTYPESEARCH"
srchObjectType.WMSession = oWMSession 'CreateObject("Windream.WMSession", Me.GetCurrentServer) srchObjectType.WMSession = oWMSession
'Me.oConnect.LoginSession(oWMSession) 'srchObjectType.WMSession) 'Me.oConnect.LoginSession(oWMSession) 'srchObjectType.WMSession)
@@ -997,6 +1037,7 @@ Public Class ClassNIWindream
End Try End Try
Else Else
If wdfLocation.ToUpper.Contains("SELECT") Or wdfLocation.ToUpper.Contains("EXEC") Then If wdfLocation.ToUpper.Contains("SELECT") Or wdfLocation.ToUpper.Contains("EXEC") Then
_Logger.Info("WMSearch replaced with SQL Command ...:")
WMSearchIsSQL = True WMSearchIsSQL = True
End If End If
End If End If
@@ -1023,26 +1064,33 @@ Public Class ClassNIWindream
Public Function NEW_MOVE_FILE(targetpath As String, sourcepath As String, oMethod As String, pFileName As String) As Boolean Public Function NEW_MOVE_FILE(targetpath As String, sourcepath As String, oMethod As String, pFileName As String) As Boolean
Dim oWMFile As WINDREAMLib.WMObject Dim oWMFile As WINDREAMLib.WMObject
Try Try
sourcepath = sourcepath.ToLower
targetpath = targetpath.ToLower
If IsNothing(oWMSession) Then
_Logger.Warn($"Error in NEW_MOVE_FILE - oWMSession is nothing")
Return False
End If
_Logger.Debug($"targetpath ({targetpath})") _Logger.Debug($"targetpath ({targetpath})")
_Logger.Debug($"sourcepath ({sourcepath})") _Logger.Debug($"sourcepath ({sourcepath})")
Dim sw As New ClassStopwatch("NEW_MOVE_FILE") Dim sw As New ClassStopwatch("NEW_MOVE_FILE")
Dim oTargetpath = System.IO.Path.GetDirectoryName(targetpath) Dim oTargetpath = System.IO.Path.GetDirectoryName(targetpath)
oTargetpath = oTargetpath.Replace("\\windream\objects", "") oTargetpath = oTargetpath.Replace("windream\objects", "")
oTargetpath = oTargetpath.Replace("W:\", "\") oTargetpath = oTargetpath.Replace("w:\", "\")
targetpath = targetpath.Replace("\\windream\objects", "") targetpath = targetpath.Replace("windream\objects", "")
targetpath = targetpath.Replace("W:\", "\") targetpath = targetpath.Replace("w:\", "\")
sourcepath = sourcepath.Replace("w:\", "\")
sourcepath = sourcepath.Replace("windream\objects", "")
sourcepath = sourcepath.Replace("\\", "\")
sourcepath = sourcepath.Replace("\\windream\objects", "")
sourcepath = sourcepath.Replace("W:\", "\")
targetpath = targetpath.Replace("\\", "\") targetpath = targetpath.Replace("\\", "\")
Const WMEntityDocument = 1 Const WMEntityDocument = 1
Dim IndexwertAusWindream As Object = Nothing
_Logger.Debug($"NEW_MOVE_FILE getting WMObject for: {sourcepath}") _Logger.Debug($"getting WMObject for: {sourcepath}")
Try Try
oWMFile = oWMSession.GetWMObjectByPath(WMEntityDocument, sourcepath) oWMFile = oWMSession.GetWMObjectByPath(WMEntityDocument, sourcepath)
Catch ex As Exception Catch ex As Exception

View File

@@ -63,6 +63,8 @@ Public Class ClassWD_Rechte
oServername = Me.GetCurrentServer() oServername = Me.GetCurrentServer()
' Connection-Objekt instanziieren ' Connection-Objekt instanziieren
Me.oConnect = CreateObject("Windream.WMConnect") Me.oConnect = CreateObject("Windream.WMConnect")
'MsgBox("windrem init 'ed") 'MsgBox("windrem init 'ed")
Catch ex As Exception Catch ex As Exception

View File

@@ -49,7 +49,57 @@ Public Class ClassWindream_allgemein
' Process.GetCurrentProcess.Kill() ' Process.GetCurrentProcess.Kill()
End If End If
End Sub End Sub
Public Function GetWMSessionAsUser(Domain, ServerName, UserName, Password)
Dim SessionAsUser
Dim aConnect, aUserId, aSession
On Error Resume Next
' Hilfsobjekte erschaffen, um eine Verbindung zum windream Server herzustellen
' mit der gewünschten Benutzer-Identität
aConnect = CreateObject("Windream.WMConnect")
'Bei einer impersonifizierten Session ist zu beachten, dass die ModuleID 9 zu nutzen ist.
'Wird keine Session-ID angegeben, hat die Session die ID 0 (Default).
aConnect.ModuleId = 9
If Err.Number <> 0 Then
Dim msg = "Fehler bei CreateObject (aConnect) - Err.Number: " & Err.Number & vbNewLine & Err.Description
_Logger.Warn(msg)
SessionAsUser = Nothing
Return SessionAsUser
End If
aUserId = CreateObject("WMOTool.WMUserIdentity")
If Err.Number <> 0 Then
Dim msg = "Fehler bei CreateObject('WMOTool.WMUserIdentity') - Err.Number: " & Err.Number & vbNewLine & Err.Description
_Logger.Warn(msg)
SessionAsUser = Nothing
Return SessionAsUser
End If
aUserId.aDomain = Domain
aUserId.aServerName = ServerName
aUserId.aUserName = UserName
aUserId.aPassword = Password
aSession = aConnect.Login(aUserId)
If Err.Number <> 0 Then
Dim msg = "Fehler bei aConnect.Login(aUserId) - Err.Number: " & Err.Number & vbNewLine & Err.Description
_Logger.Warn(msg)
SessionAsUser = Nothing
Return SessionAsUser
Else
SessionAsUser = aSession
If aSession.aLoggedin = True Then
_Logger.Debug($"#Impersonate login [{UserName}] successfull!")
Return SessionAsUser
End If
End If
End Function
''' <summary> ''' <summary>
''' Initialisiert die statische Klasse (Login, Session starten, usw.) ''' Initialisiert die statische Klasse (Login, Session starten, usw.)
@@ -60,99 +110,12 @@ Public Class ClassWindream_allgemein
Dim oHourDifference As Integer Dim oHourDifference As Integer
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now)) oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
If IsNothing(CURRENToWMSession) Or oHourDifference >= 2 Then If IsNothing(CURRENToWMSession) Or oHourDifference >= 2 Then
Try If WMLOGIN_DOMAIN <> String.Empty Then
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
Try Else
' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen GetWMSession()
Me.oWMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer) End If
' Connection-Objekt instanziieren
Me.oConnect = CreateObject("Windream.WMConnect")
CURRENToWMConnect = oConnect
'MsgBox("windrem init 'ed")
Catch ex As Exception
clsHelper.Add_Application_log("Unexpected error in Windream.Init(CreateObjects): " & ex.Message)
EMAIL_DD.Send_EMail("Unexpected error in Windream.Init(CreateObjects): " & ex.Message, "WMInit77")
Return False
End Try
' wenn windream nicht angemeldet ist
If Not Me.IsLoggedIn Then
' Art der Anmeldung an windream festlegen
' 0x0L (also 0) = Standard windream Benutzer
' WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.)
' WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen
Me.oConnect.ModuleID = 0
' setzt die minimal erwartete windream-Version
Me.oConnect.MinReqVersion = "3"
' -- Impersonifizierung nur möglich mit registry-eintrag --
'oConnect.UserName = "\digitaldata\schreiberm"
'oConnect.Password = "schreiber"
' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen
Me.oConnect.LoginSession(Me.oWMSession)
If Me.oWMSession.aLoggedin = False Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(oSession.aloggedIn): Could not check session-state")
EMAIL_DD.Send_EMail("Unexpected error in Windream.Init(oSession.aloggedIn): Could not check session-state", "clswmallgInit")
Return False
End If
' AUSGABE VON SYSTEMINFORMATIONEN
' Gibt die Versionsart (Lizenztyp) also Small-Business-Edition (SBE), Small-Business-Extension (SBX)
' oder Business-Edition (BE) aus
'MsgBox("WindreamVersion: " & oSession.GetSystemInfo("WindreamVersion") & vbNewLine & "LicenceKey: " & oSession.GetSystemInfo("LicenceKey") & vbNewLine & _
' vbNewLine & "LicenceName: " & oSession.GetSystemInfo("LicenceName"))
'Dim WMCtrl As AISCONTROLDATACOMLib.AISControlData
'WMCtrl = New AISCONTROLDATACOMLib.AISControlData
'' liefert die Versionsnummer des Clients
'MsgBox(WMCtrl.WMWorkstationBuildNo)
'MsgBox(WMCtrl.W
'' liefert den Servernamen des angemeldeten windreams
'MsgBox(WMCtrl.WMServerName)
Try
Me.oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False)
' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine
' Ordnertypen ausgelesen werden
Me.oObjekttypen = Me.oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
' Ordnertypen auslesen
Me.oOrdnerTypen = Me.oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityFolder)
' den Objekttyp laden
' Me.oSystemIndizes = Me.oSession.GetWMObjectByName(WMObjectRelationTypeObjectByName)
Catch ex As Exception
Return False
End Try
End If
_Logger.Info("WMSession has been created! (clsWindreamAllgemein)")
CURRENToWMSession = oWMSession
CURRENToWMSession_Created = Now
Return True
Catch ex As Exception
If Err.Number = -2147220985 Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(2147220985): " & ex.Message)
Else
If Not ex.Message.Contains("Already logged in") Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(Already logged in): " & ex.Message)
EMAIL_DD.Send_EMail("Unexpected error in Windream.Init(Already logged in): " & ex.Message, "clswmallgInit2")
Else
Return True
End If
End If
Return False
End Try
Else Else
If My.Settings.vLogErrorsonly = False Then _Logger.Debug("WMSession already created!") If My.Settings.vLogErrorsonly = False Then _Logger.Debug("WMSession already created!")
@@ -162,6 +125,95 @@ Public Class ClassWindream_allgemein
End Function End Function
Private Function GetWMSession()
Try
Try
' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
Me.oWMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
' Connection-Objekt instanziieren
Me.oConnect = CreateObject("Windream.WMConnect")
CURRENToWMConnect = oConnect
'MsgBox("windrem init 'ed")
Catch ex As Exception
clsHelper.Add_Application_log("Unexpected error in Windream.Init(CreateObjects): " & ex.Message)
Return False
End Try
' wenn windream nicht angemeldet ist
If Not Me.IsLoggedIn Then
' Art der Anmeldung an windream festlegen
' 0x0L (also 0) = Standard windream Benutzer
' WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.)
' WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen
Me.oConnect.ModuleID = 0
' setzt die minimal erwartete windream-Version
Me.oConnect.MinReqVersion = "3"
' -- Impersonifizierung nur möglich mit registry-eintrag --
'oConnect.UserName = "\digitaldata\schreiberm"
'oConnect.Password = "schreiber"
' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen
Me.oConnect.LoginSession(Me.oWMSession)
If Me.oWMSession.aLoggedin = False Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(oSession.aloggedIn): Could not check session-state")
Return False
End If
' AUSGABE VON SYSTEMINFORMATIONEN
' Gibt die Versionsart (Lizenztyp) also Small-Business-Edition (SBE), Small-Business-Extension (SBX)
' oder Business-Edition (BE) aus
'MsgBox("WindreamVersion: " & oSession.GetSystemInfo("WindreamVersion") & vbNewLine & "LicenceKey: " & oSession.GetSystemInfo("LicenceKey") & vbNewLine & _
' vbNewLine & "LicenceName: " & oSession.GetSystemInfo("LicenceName"))
'Dim WMCtrl As AISCONTROLDATACOMLib.AISControlData
'WMCtrl = New AISCONTROLDATACOMLib.AISControlData
'' liefert die Versionsnummer des Clients
'MsgBox(WMCtrl.WMWorkstationBuildNo)
'MsgBox(WMCtrl.W
'' liefert den Servernamen des angemeldeten windreams
'MsgBox(WMCtrl.WMServerName)
Try
Me.oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False)
' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine
' Ordnertypen ausgelesen werden
Me.oObjekttypen = Me.oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
' Ordnertypen auslesen
Me.oOrdnerTypen = Me.oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityFolder)
' den Objekttyp laden
' Me.oSystemIndizes = Me.oSession.GetWMObjectByName(WMObjectRelationTypeObjectByName)
Catch ex As Exception
Return False
End Try
End If
_Logger.Info("WMSession has been created! (clsWindreamAllgemein)")
CURRENToWMSession = oWMSession
CURRENToWMSession_Created = Now
Return True
Catch ex As Exception
If Err.Number = -2147220985 Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(2147220985): " & ex.Message)
Else
If Not ex.Message.Contains("Already logged in") Then
clsHelper.Add_Application_log("Unexpected error in Windream.Init(Already logged in): " & ex.Message)
Else
Return True
End If
End If
Return False
End Try
End Function
#End Region #End Region
#Region "+++++ Funktionen die für den Objekttyp relevate Informationen zurückliefern +++++" #Region "+++++ Funktionen die für den Objekttyp relevate Informationen zurückliefern +++++"
@@ -498,7 +550,6 @@ Public Class ClassWindream_allgemein
Return server 'ClassWindream.oBrowser.GetCurrentServer Return server 'ClassWindream.oBrowser.GetCurrentServer
Catch ex As Exception Catch ex As Exception
clsHelper.Add_Application_log("Unexpected error in Windream.GetCurrentServer: " & ex.Message) clsHelper.Add_Application_log("Unexpected error in Windream.GetCurrentServer: " & ex.Message)
EMAIL_DD.Send_EMail("Unexpected error in Windream.GetCurrentServer: " & ex.Message, "GetCurrentServer")
'MsgBox("Der aktuell gewählte windream-Server konnte nicht ausgelesen werden." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Auslesen des windream-Servers") 'MsgBox("Der aktuell gewählte windream-Server konnte nicht ausgelesen werden." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Auslesen des windream-Servers")
End Try End Try

View File

@@ -32,6 +32,9 @@ Module ModuleCURRENT
Public CURRENT_DOCID As Int64 Public CURRENT_DOCID As Int64
Public WMSearchIsSQL As Boolean = False Public WMSearchIsSQL As Boolean = False
Public DB_ECM As MSSQLServer Public DB_ECM As MSSQLServer
Public EMAIL_DD As ClassEmail Public DIDurchlaufRunning As Boolean = False
Public NIDurchlaufRunning As Boolean = False
Public WMLOGIN_USER As String = ""
Public WMLOGIN_PW As String = ""
Public WMLOGIN_DOMAIN As String = ""
End Module End Module

View File

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

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
' <auto-generated> ' <auto-generated>
' Dieser Code wurde von einem Tool generiert. ' This code was generated by a tool.
' Laufzeitversion:4.0.30319.42000 ' Runtime Version:4.0.30319.42000
' '
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' Changes to this file may cause incorrect behavior and will be lost if
' der Code erneut generiert wird. ' the code is regenerated.
' </auto-generated> ' </auto-generated>
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
@@ -15,14 +15,14 @@ Option Explicit On
Namespace My Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Automatische My.Settings-Speicherfunktion" #Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then #If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean Private Shared addedHandler As Boolean
@@ -106,73 +106,6 @@ Namespace My
End Set End Set
End Property End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("1")> _
Public ReadOnly Property vMailProfilID() As Integer
Get
Return CType(Me("vMailProfilID"),Integer)
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("support-flow@digitaldata.works")> _
Public ReadOnly Property vMailRecipient() As String
Get
Return CType(Me("vMailRecipient"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Fehler in Modul ToolCollection"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property vMailSubject() As String
Get
Return CType(Me("vMailSubject"),String)
End Get
Set
Me("vMailSubject") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("<p>__________________<br>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" <b><font face=""Arial"">Achtung Fehler:</font></b><fon"& _
"t face=""Arial""><br>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" <br>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" Folgender Fehler wurde festgestellt:</font> </p>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property vMailBodyPraefix() As String
Get
Return CType(Me("vMailBodyPraefix"),String)
End Get
Set
Me("vMailBodyPraefix") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public ReadOnly Property vMailsenden() As Boolean
Get
Return CType(Me("vMailsenden"),Boolean)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmNI_SQL_Loc() As Global.System.Drawing.Point
Get
Return CType(Me("frmNI_SQL_Loc"),Global.System.Drawing.Point)
End Get
Set
Me("frmNI_SQL_Loc") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _ <Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("dd"), _ Global.System.Configuration.DefaultSettingValueAttribute("dd"), _
@@ -186,32 +119,6 @@ Namespace My
End Set End Set
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property NIDurchlauf_Intervall() As Integer
Get
Return CType(Me("NIDurchlauf_Intervall"),Integer)
End Get
Set
Me("NIDurchlauf_Intervall") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property vDIDurchlaufRunning() As Boolean
Get
Return CType(Me("vDIDurchlaufRunning"),Boolean)
End Get
Set
Me("vDIDurchlaufRunning") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _ <Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _ Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
@@ -637,32 +544,6 @@ Namespace My
End Set End Set
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("25"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property vemailPort() As Integer
Get
Return CType(Me("vemailPort"),Integer)
End Get
Set
Me("vemailPort") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property NI_RUNNING() As Boolean
Get
Return CType(Me("NI_RUNNING"),Boolean)
End Get
Set
Me("NI_RUNNING") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _ <Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("DigitalData\windream_CLIENT_WMCC_Neustart")> _ Global.System.Configuration.DefaultSettingValueAttribute("DigitalData\windream_CLIENT_WMCC_Neustart")> _
@@ -796,6 +677,86 @@ Namespace My
Return CType(Me("DDECMConString"),String) Return CType(Me("DDECMConString"),String)
End Get End Get
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property NI_RUNNING() As Boolean
Get
Return CType(Me("NI_RUNNING"),Boolean)
End Get
Set
Me("NI_RUNNING") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property DI_RUNNING() As Boolean
Get
Return CType(Me("DI_RUNNING"),Boolean)
End Get
Set
Me("DI_RUNNING") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("@Domain#@User#@PW")> _
Public ReadOnly Property WM_PERS_LOGIN() As String
Get
Return CType(Me("WM_PERS_LOGIN"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property vDeleteLogsTime() As Date
Get
Return CType(Me("vDeleteLogsTime"),Date)
End Get
Set
Me("vDeleteLogsTime") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property vAutoDeleteLogs() As Boolean
Get
Return CType(Me("vAutoDeleteLogs"),Boolean)
End Get
Set
Me("vAutoDeleteLogs") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property Setting() As String
Get
Return CType(Me("Setting"),String)
End Get
Set
Me("Setting") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("01/01/0001 03:00:00")> _
Public Property vDefaultDeleteLogsTime() As Date
Get
Return CType(Me("vDefaultDeleteLogsTime"),Date)
End Get
Set
Me("vDefaultDeleteLogsTime") = value
End Set
End Property
End Class End Class
End Namespace End Namespace

View File

@@ -14,37 +14,9 @@
<Setting Name="vDIConfigDatei" Roaming="true" Type="System.String" Scope="User"> <Setting Name="vDIConfigDatei" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">modDateiimportConfig.xml</Value> <Value Profile="(Default)">modDateiimportConfig.xml</Value>
</Setting> </Setting>
<Setting Name="vMailProfilID" Roaming="true" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="vMailRecipient" Roaming="true" Type="System.String" Scope="Application">
<Value Profile="(Default)">support-flow@digitaldata.works</Value>
</Setting>
<Setting Name="vMailSubject" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">Fehler in Modul ToolCollection</Value>
</Setting>
<Setting Name="vMailBodyPraefix" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">&lt;p&gt;__________________&lt;br&gt;
&lt;b&gt;&lt;font face="Arial"&gt;Achtung Fehler:&lt;/font&gt;&lt;/b&gt;&lt;font face="Arial"&gt;&lt;br&gt;
&lt;br&gt;
Folgender Fehler wurde festgestellt:&lt;/font&gt; &lt;/p&gt;
</Value>
</Setting>
<Setting Name="vMailsenden" Roaming="true" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="frmNI_SQL_Loc" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="vPW_Admin" Roaming="true" Type="System.String" Scope="User"> <Setting Name="vPW_Admin" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">dd</Value> <Value Profile="(Default)">dd</Value>
</Setting> </Setting>
<Setting Name="NIDurchlauf_Intervall" Roaming="true" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="vDIDurchlaufRunning" Roaming="true" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="frmNIHauptseite_Loc" Roaming="true" Type="System.Drawing.Point" Scope="User"> <Setting Name="frmNIHauptseite_Loc" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value> <Value Profile="(Default)">0, 0</Value>
</Setting> </Setting>
@@ -147,12 +119,6 @@
<Setting Name="errortext" Type="System.String" Scope="User"> <Setting Name="errortext" Type="System.String" Scope="User">
<Value Profile="(Default)">Fehlermeldung</Value> <Value Profile="(Default)">Fehlermeldung</Value>
</Setting> </Setting>
<Setting Name="vemailPort" Roaming="true" Type="System.Int32" Scope="User">
<Value Profile="(Default)">25</Value>
</Setting>
<Setting Name="NI_RUNNING" Roaming="true" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="WMCC_RESTART" Type="System.String" Scope="Application"> <Setting Name="WMCC_RESTART" Type="System.String" Scope="Application">
<Value Profile="(Default)">DigitalData\windream_CLIENT_WMCC_Neustart</Value> <Value Profile="(Default)">DigitalData\windream_CLIENT_WMCC_Neustart</Value>
</Setting> </Setting>
@@ -200,5 +166,26 @@
&lt;/SerializableConnectionString&gt;</DesignTimeValue> &lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</Value> <Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</Value>
</Setting> </Setting>
<Setting Name="NI_RUNNING" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="DI_RUNNING" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="WM_PERS_LOGIN" Type="System.String" Scope="Application">
<Value Profile="(Default)">@Domain#@User#@PW</Value>
</Setting>
<Setting Name="vDeleteLogsTime" Type="System.DateTime" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="vAutoDeleteLogs" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="Setting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="vDefaultDeleteLogsTime" Type="System.DateTime" Scope="User">
<Value Profile="(Default)">01/01/0001 03:00:00</Value>
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View File

@@ -83,71 +83,7 @@ Public Class TCService
ClassLoggerService.Add("###############################################################", False) ClassLoggerService.Add("###############################################################", False)
End Sub End Sub
Private Sub Profil_DurchlaufNI() Private Sub Profil_DurchlaufNI()
'Try
' For Each profil As ClassNIProfilS In ClassNIProfileS.Profile
' ' aktuelles Profil der Klasse mitteilen
' Me.aktivesProfil = profil
' ' Ausgabe an Logdatei über nächstes Profil
' _Logger.Info("", False)
' _Logger.Info(">> Starte Durchlauf für Profil: " & profil.Profilname, False)
' ' Überprüfen ob Profil aktiv oder inaktiv
' If CBool(Me.aktivesProfil.Aktiv) = False Then
' _Logger.Info(">> Profil: " & profil.Profilname & " ist inaktiv geschaltet", False)
' _Logger.Info("", False)
' Else
' ' den Durchlaufszeitpunkt speichern
' aktivesProfil.LastRun = Now
' aktivesProfil.Save(False)
' If file_exists(Me.aktivesProfil.WindreamSuche, True) = False Then
' _Logger.Info(">> Windream Suche für Profil: " & profil.Profilname & " konnte nicht ausgeführt werden! Datei " & Me.aktivesProfil.WindreamSuche & " existiert nicht!", False)
' Else
' ' windream-Suche für Profil starten
' Dim windreamSucheErgebnisse As WMObjects = Me._windreamNI.GetSearchDocuments(Me.aktivesProfil.WindreamSuche)
' If windreamSucheErgebnisse.Count > 0 Then
' ' neue Anzahl von Dateien an ProgressBar2
' For Each dok As WMObject In windreamSucheErgebnisse
' ' aktuelles Dokument der Klasse mitteilen
' Me.aktivesDokument = dok
' '####### Go für das Dokument ##########
' ' Thread für diese Datei starten
' Me.startDateiDurchlauf()
' '######################################
' ' solange der Datei-Thread noch nicht abgeschlossen wurde
' While Me.bwDatei.IsBusy
' ' warten
' End While
' ' nächste Datei an ProgressBar2
' bwProfil.ReportProgress(-1)
' ' Vorgang abbrechen
' If bwProfil.CancellationPending Then Exit Sub
' Next
' Else
' _Logger.Info("Keine windream-Dokumente für Profil: " & profil.Profilname & " gefunden!", False)
' _Logger.Info("", False)
' ' keine Dateien zum Importieren
' End If
' End If
' End If
' ' nächstes Profil an ProgressBar1
' Next
' ' Do Stuff Here...
' EventLog1.WriteEntry("Durchlauf der Profile erfolgreich.")
'Catch ex As System.Exception
' EventLog1.WriteEntry("TCService stellte einen Fehler fest '" & _
' ex.Message & "'", EventLogEntryType.Error)
' EventLog1.WriteEntry("TCService Stack Trace: " & _
' ex.StackTrace, EventLogEntryType.Error)
' ClassLoggerService.Add("Fehler in Profil_Durchlauf", ex.Message)
'End Try
End Sub End Sub
Private Sub Profil_DurchlaufDI() Private Sub Profil_DurchlaufDI()
Try Try

View File

@@ -86,21 +86,23 @@
<OutputPath>bin\x64\Release\</OutputPath> <OutputPath>bin\x64\Release\</OutputPath>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DigitalData.Modules.Config, Version=1.1.4.1, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DevExpress.Data.Desktop.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<SpecificVersion>False</SpecificVersion> <Reference Include="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath> <Reference Include="DevExpress.Printing.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Sparkline.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.2.7.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Database">
<SpecificVersion>False</SpecificVersion> <HintPath>..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Filesystem, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Filesystem">
<SpecificVersion>False</SpecificVersion> <HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Filesystem.dll</HintPath>
<HintPath>..\..\DDModules\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.5.4.2, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Logging">
<SpecificVersion>False</SpecificVersion> <HintPath>..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>packages\EntityFramework.6.0.2\lib\net45\EntityFramework.dll</HintPath> <HintPath>packages\EntityFramework.6.0.2\lib\net45\EntityFramework.dll</HintPath>
@@ -141,6 +143,7 @@
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" /> <Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Data.OracleClient" /> <Reference Include="System.Data.OracleClient" />
<Reference Include="System.Data.SQLite"> <Reference Include="System.Data.SQLite">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\System.Data.SQLite.dll</HintPath> <HintPath>P:\Visual Studio Projekte\Bibliotheken\System.Data.SQLite.dll</HintPath>
@@ -201,7 +204,6 @@
<Compile Include="ClassMoveRenameLogger.vb" /> <Compile Include="ClassMoveRenameLogger.vb" />
<Compile Include="ClassMO_RE.vb" /> <Compile Include="ClassMO_RE.vb" />
<Compile Include="ClassNIDatenbankzugriff.vb" /> <Compile Include="ClassNIDatenbankzugriff.vb" />
<Compile Include="ClassNIEmail.vb" />
<Compile Include="ClassNIProfil.vb" /> <Compile Include="ClassNIProfil.vb" />
<Compile Include="ClassNIProfile.vb" /> <Compile Include="ClassNIProfile.vb" />
<Compile Include="ClassNIVerknüpfung.vb" /> <Compile Include="ClassNIVerknüpfung.vb" />

View File

@@ -48,28 +48,9 @@
<setting name="vDIConfigDatei" serializeAs="String"> <setting name="vDIConfigDatei" serializeAs="String">
<value>modDateiimportConfig.xml</value> <value>modDateiimportConfig.xml</value>
</setting> </setting>
<setting name="vMailSubject" serializeAs="String">
<value>Fehler in Modul ToolCollection</value>
</setting>
<setting name="vMailBodyPraefix" serializeAs="String">
<value>&lt;p&gt;__________________&lt;br&gt;
&lt;b&gt;&lt;font face="Arial"&gt;Achtung Fehler:&lt;/font&gt;&lt;/b&gt;&lt;font face="Arial"&gt;&lt;br&gt;
&lt;br&gt;
Folgender Fehler wurde festgestellt:&lt;/font&gt; &lt;/p&gt;
</value>
</setting>
<setting name="frmNI_SQL_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="vPW_Admin" serializeAs="String"> <setting name="vPW_Admin" serializeAs="String">
<value>dd</value> <value>dd</value>
</setting> </setting>
<setting name="NIDurchlauf_Intervall" serializeAs="String">
<value>0</value>
</setting>
<setting name="vDIDurchlaufRunning" serializeAs="String">
<value>False</value>
</setting>
<setting name="frmNIHauptseite_Loc" serializeAs="String"> <setting name="frmNIHauptseite_Loc" serializeAs="String">
<value>0, 0</value> <value>0, 0</value>
</setting> </setting>
@@ -160,31 +141,34 @@
<setting name="errortext" serializeAs="String"> <setting name="errortext" serializeAs="String">
<value>Fehlermeldung</value> <value>Fehlermeldung</value>
</setting> </setting>
<setting name="vemailPort" serializeAs="String">
<value>25</value>
</setting>
<setting name="NI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
<setting name="VFS_RESTART" serializeAs="String"> <setting name="VFS_RESTART" serializeAs="String">
<value>DigitalData\windream_VFS_RESTART</value> <value>DigitalData\windream_VFS_RESTART</value>
</setting> </setting>
<setting name="myDateiname" serializeAs="String"> <setting name="myDateiname" serializeAs="String">
<value>myInvalidDateiname.pdf</value> <value>myInvalidDateiname.pdf</value>
</setting> </setting>
<setting name="NI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
<setting name="DI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
<setting name="vDeleteLogsTime" serializeAs="String">
<value />
</setting>
<setting name="vAutoDeleteLogs" serializeAs="String">
<value>False</value>
</setting>
<setting name="Setting" serializeAs="String">
<value />
</setting>
<setting name="vDefaultDeleteLogsTime" serializeAs="String">
<value>01/01/0001 03:00:00</value>
</setting>
</ToolCollection.My.MySettings> </ToolCollection.My.MySettings>
</userSettings> </userSettings>
<applicationSettings> <applicationSettings>
<ToolCollection.My.MySettings> <ToolCollection.My.MySettings>
<setting name="vMailProfilID" serializeAs="String">
<value>1</value>
</setting>
<setting name="vMailRecipient" serializeAs="String">
<value>support-flow@digitaldata.works</value>
</setting>
<setting name="vMailsenden" serializeAs="String">
<value>False</value>
</setting>
<setting name="MRWD_Laufwerk" serializeAs="String"> <setting name="MRWD_Laufwerk" serializeAs="String">
<value>W</value> <value>W</value>
</setting> </setting>
@@ -230,6 +214,9 @@
<setting name="REGEX_INVALID_PATH" serializeAs="String"> <setting name="REGEX_INVALID_PATH" serializeAs="String">
<value>[\\\/:\*\?""'&lt;&gt;|]</value> <value>[\\\/:\*\?""'&lt;&gt;|]</value>
</setting> </setting>
<setting name="WM_PERS_LOGIN" serializeAs="String">
<value>@Domain#@User#@PW</value>
</setting>
</ToolCollection.My.MySettings> </ToolCollection.My.MySettings>
</applicationSettings> </applicationSettings>
<startup> <startup>

View File

@@ -63,8 +63,6 @@ Public Class clsNI_WorkFile
'bei einem Fehler einen Eintrag in der Logdatei machen 'bei einem Fehler einen Eintrag in der Logdatei machen
_Logger.Warn("ACHTUNG Schwerwiegender Fehler in Work_File: " & ex.Message) _Logger.Warn("ACHTUNG Schwerwiegender Fehler in Work_File: " & ex.Message)
EMAIL_DD.Send_EMail("Schwerwiegender Fehler bei Work_File - <br> Profil: " & aktivesProfil.Profilname & "<br> Datei: " & dokument.aName.ToString & "<br> Fehler: " & ex.Message, "clsNIWorkFileWorkFile")
Return False Return False
End Try End Try
End Function End Function

View File

@@ -155,7 +155,7 @@ Public Class frmDIHauptseite
Me.tvLog.Visible = False Me.tvLog.Visible = False
Me.timRun_Dateiimport.Stop() Me.timRun_Dateiimport.Stop()
Durchlauf = False Durchlauf = False
My.Settings.vDIDurchlaufRunning = False My.Settings.DI_RUNNING = False
End If End If
Me.progressImport.Enabled = False Me.progressImport.Enabled = False
@@ -239,7 +239,7 @@ Public Class frmDIHauptseite
Private Sub frmDIHauptseite_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown Private Sub frmDIHauptseite_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Formloaded = True Formloaded = True
Me.LoadProfilesInCombobox() Me.LoadProfilesInCombobox()
If My.Settings.vDIDurchlaufRunning = True Then If My.Settings.DI_RUNNING = True Then
Me.rbAutomatisch.Checked = True Me.rbAutomatisch.Checked = True
Automatischer_Durchlauf(False) Automatischer_Durchlauf(False)
End If End If
@@ -722,15 +722,10 @@ Public Class frmDIHauptseite
'DAS Windream-Laufwerk ist nicht verfügbar! 'DAS Windream-Laufwerk ist nicht verfügbar!
CriticalErrorInBackgroundWorker = True CriticalErrorInBackgroundWorker = True
Import_Abbrechen() Import_Abbrechen()
EMAIL_DD.Send_EMail("ESKALATIONSTUFE 1: Schwerwiegender Fehler in Dateiimporter windream <br>ERROR: " & Err.Description & "<br> DAS WINDREAM-LAUFWERK oder der Netzwerkname IST NICHT VERFÜGBAR!<br>" &
"Der Importvorgang wurde abgebrochen!<br>Fehlerbehebung: ==> Starten Sie windream und den den Dateiimporter neu!", "DI_WMNOTACCESSIBLE")
MsgBox("Schwerwiegender Fehler in Dateiimporter windream!" & vbNewLine & "ERROR: " & Err.Description & vbNewLine & "DAS WINDREAM-LAUFWERK IST NICHT VERFÜGBAR!" & vbNewLine & MsgBox("Schwerwiegender Fehler in Dateiimporter windream!" & vbNewLine & "ERROR: " & Err.Description & vbNewLine & "DAS WINDREAM-LAUFWERK IST NICHT VERFÜGBAR!" & vbNewLine &
"Der Importvorgang wurde abgebrochen!" & vbNewLine & "Fehlerbehebung: ==> Starten Sie windream und den den Dateiimporter neu!") "Der Importvorgang wurde abgebrochen!" & vbNewLine & "Fehlerbehebung: ==> Starten Sie windream und den den Dateiimporter neu!")
Exit Sub Exit Sub
Else
EMAIL_DD.Send_EMail("Fehler bei Datei: " & oFilenameQuelle & " <br\>ERROR: " & Err.Description, "DI_WMFILEACCESS")
End If End If
@@ -1148,40 +1143,58 @@ Public Class frmDIHauptseite
_Step = "3.1.1" _Step = "3.1.1"
DetailLog("_Step: " & _Step) DetailLog("_Step: " & _Step)
' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen ' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen
DetailLog("-> DATEI IST BEREITS VORHANDEN") DetailLog("DATEI IST BEREITS VORHANDEN - MUSS VERSIONIERT WERDEN!")
Err.Clear() Err.Clear()
'### Automatische Versionierung mit ~ (Tilde) ### '### Automatische Versionierung mit ~ (Tilde) ###
Dim version As Integer = 2 Dim oMyVersion As Integer = 2
Dim extension As String = Quelldatei_Name.Substring(Quelldatei_Name.LastIndexOf(".")) Dim extension As String = Quelldatei_Name.Substring(Quelldatei_Name.LastIndexOf("."))
Dim Stammname As String = zielpfad.Substring(2) & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf(".")) If zielpfad.StartsWith("\\Windream\Objects") Then
Dim neuername As String = zielpfad.Substring(2) & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf(".")) DetailLog("Replacing windream\objects...")
zielpfad = zielpfad.Replace("\\Windream\Objects", "")
Else
zielpfad = zielpfad.Substring(2)
End If
Do While file_exists(My.Settings.vWLaufwerk & ":\" & neuername & extension) = True Dim Stammname As String = zielpfad & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
DetailLog("Datei " & endgültigerDateiname & " ist vorhanden!") Dim neuername As String = zielpfad & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
neuername = Stammname & "~" & version DetailLog("Stammname [" & Stammname & "]")
DetailLog("neuername [" & neuername & "]")
Do While file_exists("\\WINDREAM\OBJECTS\" & neuername & extension) = True
DetailLog("Versionierung - Datei [" & neuername & extension & "] ist vorhanden!")
neuername = Stammname & "~" & oMyVersion
DetailLog("Versionierung - neuername [" & neuername & "]")
endgültigerDateiname = neuername & extension endgültigerDateiname = neuername & extension
version = version + 1 oMyVersion = oMyVersion + 1
Loop Loop
DetailLog("Datei [" & endgültigerDateiname & "] wird benutzt um den Filestream nach WM zu erzeugen...")
_Step = "3.1.2" _Step = "3.1.2"
DetailLog("_Step: " & _Step) DetailLog("_Step: " & _Step)
oNewWMObject = _windream.oWMSession.GetNewWMObjectFS(WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject) Try
oNewWMObject = _windream.oWMSession.GetNewWMObjectFS(WMEntityDocument, endgültigerDateiname, WMObjectEditModeObject)
Catch ex As Exception
ClassLoggerDI.Add(" FEHLER DATEI_VORHANDEN GetNewWMObjectFS...")
ClassLoggerDI.Add(" FEHLER bei _windream.oWMSession.GetNewWMObjectFS: '" & ex.Message)
Return -1
End Try
If Err.Number > 0 Then If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'") ClassLoggerDI.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
If My.Settings.StopwatchTimerActive = True Then If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done() oStopWatchTimer.Done()
oStopWatchTimerC.Done() oStopWatchTimerC.Done()
End If
'MsgBox(Err.Description)
End If End If
'MsgBox(Err.Description) DetailLog("...WMObject-Filestream zugewiesen")
End If End If
DetailLog("WMObject zugewiesen") _Step = "3.2"
End If
_Step = "3.2"
DetailLog("_Step: " & _Step) DetailLog("_Step: " & _Step)
DetailLog("ENDGÜLTIGER DATEINAME => " & endgültigerDateiname) DetailLog("ENDGÜLTIGER DATEINAME => " & endgültigerDateiname)
If oNewWMObject IsNot Nothing Then If oNewWMObject IsNot Nothing Then
' lock object for file system access (to change the file itself) ' lock object for file system access (to change the file itself)
oNewWMObject.lock() oNewWMObject.lock()
' set fileIO the local source file ' set fileIO the local source file
DetailLog("Now Streaming from filenameQuelle...")
oFileIO.bstrOriginalFileName = filenameQuelle oFileIO.bstrOriginalFileName = filenameQuelle
If Err.Number > 0 Then If Err.Number > 0 Then
'MsgBox(Err.Number.ToString) 'MsgBox(Err.Number.ToString)
@@ -1198,8 +1211,25 @@ Public Class frmDIHauptseite
End If End If
_Step = "3.3" _Step = "3.3"
DetailLog("_Step: " & _Step) DetailLog("_Step: " & _Step)
' open the windream object's file stream for writing Try
oWMStream = oNewWMObject.OpenStream(STREAM_BinaryObject, WMObjectStreamOpenModeReadWrite) ' open the windream object's file stream for writing
oWMStream = oNewWMObject.OpenStream(STREAM_BinaryObject, WMObjectStreamOpenModeReadWrite)
Catch ex As Exception
ClassLoggerDI.Add(" FEHLER bei OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
oNewWMObject.Unlock()
Try
System.IO.File.Delete(My.Settings.vWLaufwerk & ":" & endgültigerDateiname)
Catch ex1 As Exception
End Try
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
oStopWatchTimerC.Done()
End If
Return -1
End Try
If Err.Number > 0 Then If Err.Number > 0 Then
ClassLoggerDI.Add(" FEHLER bei OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'") ClassLoggerDI.Add(" FEHLER bei OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
oNewWMObject.Unlock() oNewWMObject.Unlock()
@@ -2267,7 +2297,7 @@ Public Class frmDIHauptseite
Me.timRun_Dateiimport.Interval = Me.numIntervallDurchlauf.Value * 60 * 1000 Me.timRun_Dateiimport.Interval = Me.numIntervallDurchlauf.Value * 60 * 1000
Me.timRun_Dateiimport.Start() Me.timRun_Dateiimport.Start()
My.Settings.vDIDurchlaufRunning = True My.Settings.DI_RUNNING = True
My.Settings.Save() My.Settings.Save()
'Direkt einen Durchlauf starten 'Direkt einen Durchlauf starten
If runnow = True Then If runnow = True Then
@@ -2286,7 +2316,7 @@ Public Class frmDIHauptseite
Me.tvLog.Visible = False Me.tvLog.Visible = False
Me.timRun_Dateiimport.Stop() Me.timRun_Dateiimport.Stop()
Durchlauf = False Durchlauf = False
My.Settings.vDIDurchlaufRunning = False My.Settings.DI_RUNNING = False
End If End If
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei btnDurchlauf.Click:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei btnDurchlauf.Click:")

View File

@@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmGrundeinstellungen Partial Class frmGrundeinstellungen
Inherits System.Windows.Forms.Form Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _ <System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean) Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try Try
If disposing AndAlso components IsNot Nothing Then If disposing AndAlso components IsNot Nothing Then
@@ -20,7 +20,7 @@ Partial Class frmGrundeinstellungen
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent() Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmGrundeinstellungen)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmGrundeinstellungen))
Me.Label1 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label()
@@ -28,6 +28,10 @@ Partial Class frmGrundeinstellungen
Me.cmlLogart = New System.Windows.Forms.ComboBox() Me.cmlLogart = New System.Windows.Forms.ComboBox()
Me.Label3 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label()
Me.GroupBox1 = New System.Windows.Forms.GroupBox() Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.lblLogDeleteTime = New System.Windows.Forms.Label()
Me.lblTimeDeleteLogs = New System.Windows.Forms.Label()
Me.txtTimeDeleteLogs = New System.Windows.Forms.TextBox()
Me.chkAutoDeleteLogs = New System.Windows.Forms.CheckBox()
Me.TextBox4 = New System.Windows.Forms.TextBox() Me.TextBox4 = New System.Windows.Forms.TextBox()
Me.Label6 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label()
Me.TextBox1 = New System.Windows.Forms.TextBox() Me.TextBox1 = New System.Windows.Forms.TextBox()
@@ -91,6 +95,10 @@ Partial Class frmGrundeinstellungen
' '
'GroupBox1 'GroupBox1
' '
Me.GroupBox1.Controls.Add(Me.lblLogDeleteTime)
Me.GroupBox1.Controls.Add(Me.lblTimeDeleteLogs)
Me.GroupBox1.Controls.Add(Me.txtTimeDeleteLogs)
Me.GroupBox1.Controls.Add(Me.chkAutoDeleteLogs)
Me.GroupBox1.Controls.Add(Me.TextBox4) Me.GroupBox1.Controls.Add(Me.TextBox4)
Me.GroupBox1.Controls.Add(Me.Label6) Me.GroupBox1.Controls.Add(Me.Label6)
Me.GroupBox1.Controls.Add(Me.Label1) Me.GroupBox1.Controls.Add(Me.Label1)
@@ -102,11 +110,46 @@ Partial Class frmGrundeinstellungen
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Top Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox1.Location = New System.Drawing.Point(0, 0) Me.GroupBox1.Location = New System.Drawing.Point(0, 0)
Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(470, 114) Me.GroupBox1.Size = New System.Drawing.Size(470, 209)
Me.GroupBox1.TabIndex = 6 Me.GroupBox1.TabIndex = 6
Me.GroupBox1.TabStop = False Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Log-Einstellungen:" Me.GroupBox1.Text = "Log-Einstellungen:"
' '
'lblLogDeleteTime
'
Me.lblLogDeleteTime.AutoSize = True
Me.lblLogDeleteTime.Location = New System.Drawing.Point(6, 169)
Me.lblLogDeleteTime.Name = "lblLogDeleteTime"
Me.lblLogDeleteTime.Size = New System.Drawing.Size(211, 13)
Me.lblLogDeleteTime.TabIndex = 11
Me.lblLogDeleteTime.Text = "Logs werden automatisch gelöscht um: "
'
'lblTimeDeleteLogs
'
Me.lblTimeDeleteLogs.AutoSize = True
Me.lblTimeDeleteLogs.Location = New System.Drawing.Point(229, 112)
Me.lblTimeDeleteLogs.Name = "lblTimeDeleteLogs"
Me.lblTimeDeleteLogs.Size = New System.Drawing.Size(209, 13)
Me.lblTimeDeleteLogs.TabIndex = 10
Me.lblTimeDeleteLogs.Text = "Zeitpunkt der automatischen Löschung"
'
'txtTimeDeleteLogs
'
Me.txtTimeDeleteLogs.Location = New System.Drawing.Point(232, 128)
Me.txtTimeDeleteLogs.Name = "txtTimeDeleteLogs"
Me.txtTimeDeleteLogs.Size = New System.Drawing.Size(84, 22)
Me.txtTimeDeleteLogs.TabIndex = 9
'
'chkAutoDeleteLogs
'
Me.chkAutoDeleteLogs.AutoSize = True
Me.chkAutoDeleteLogs.Location = New System.Drawing.Point(9, 130)
Me.chkAutoDeleteLogs.Name = "chkAutoDeleteLogs"
Me.chkAutoDeleteLogs.Size = New System.Drawing.Size(146, 17)
Me.chkAutoDeleteLogs.TabIndex = 8
Me.chkAutoDeleteLogs.Text = "Automatisches Löschen"
Me.chkAutoDeleteLogs.UseVisualStyleBackColor = True
'
'TextBox4 'TextBox4
' '
Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.ToolCollection.My.MySettings.Default, "logolder_then", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.ToolCollection.My.MySettings.Default, "logolder_then", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
@@ -121,7 +164,7 @@ Partial Class frmGrundeinstellungen
Me.Label6.AutoSize = True Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(229, 63) Me.Label6.Location = New System.Drawing.Point(229, 63)
Me.Label6.Name = "Label6" Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(198, 13) Me.Label6.Size = New System.Drawing.Size(199, 13)
Me.Label6.TabIndex = 6 Me.Label6.TabIndex = 6
Me.Label6.Text = "LogDateien löschen - ""Älter als""-Tage:" Me.Label6.Text = "LogDateien löschen - ""Älter als""-Tage:"
' '
@@ -148,7 +191,7 @@ Partial Class frmGrundeinstellungen
Me.GroupBox2.Controls.Add(Me.Label4) Me.GroupBox2.Controls.Add(Me.Label4)
Me.GroupBox2.Controls.Add(Me.cmbCores) Me.GroupBox2.Controls.Add(Me.cmbCores)
Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Top Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox2.Location = New System.Drawing.Point(0, 114) Me.GroupBox2.Location = New System.Drawing.Point(0, 209)
Me.GroupBox2.Name = "GroupBox2" Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(470, 68) Me.GroupBox2.Size = New System.Drawing.Size(470, 68)
Me.GroupBox2.TabIndex = 7 Me.GroupBox2.TabIndex = 7
@@ -178,7 +221,7 @@ Partial Class frmGrundeinstellungen
Me.GroupBox3.Controls.Add(Me.txterrorIndex) Me.GroupBox3.Controls.Add(Me.txterrorIndex)
Me.GroupBox3.Controls.Add(Me.Label5) Me.GroupBox3.Controls.Add(Me.Label5)
Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Top Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox3.Location = New System.Drawing.Point(0, 182) Me.GroupBox3.Location = New System.Drawing.Point(0, 277)
Me.GroupBox3.Name = "GroupBox3" Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New System.Drawing.Size(470, 67) Me.GroupBox3.Size = New System.Drawing.Size(470, 67)
Me.GroupBox3.TabIndex = 8 Me.GroupBox3.TabIndex = 8
@@ -207,7 +250,7 @@ Partial Class frmGrundeinstellungen
' '
Me.GroupBox4.Controls.Add(Me.TextBox3) Me.GroupBox4.Controls.Add(Me.TextBox3)
Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Top Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox4.Location = New System.Drawing.Point(0, 249) Me.GroupBox4.Location = New System.Drawing.Point(0, 344)
Me.GroupBox4.Name = "GroupBox4" Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(470, 50) Me.GroupBox4.Size = New System.Drawing.Size(470, 50)
Me.GroupBox4.TabIndex = 9 Me.GroupBox4.TabIndex = 9
@@ -230,7 +273,7 @@ Partial Class frmGrundeinstellungen
Me.GroupBox5.Controls.Add(Me.Label8) Me.GroupBox5.Controls.Add(Me.Label8)
Me.GroupBox5.Controls.Add(Me.Label7) Me.GroupBox5.Controls.Add(Me.Label7)
Me.GroupBox5.Dock = System.Windows.Forms.DockStyle.Top Me.GroupBox5.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox5.Location = New System.Drawing.Point(0, 299) Me.GroupBox5.Location = New System.Drawing.Point(0, 394)
Me.GroupBox5.Name = "GroupBox5" Me.GroupBox5.Name = "GroupBox5"
Me.GroupBox5.Size = New System.Drawing.Size(470, 100) Me.GroupBox5.Size = New System.Drawing.Size(470, 100)
Me.GroupBox5.TabIndex = 10 Me.GroupBox5.TabIndex = 10
@@ -290,7 +333,7 @@ Partial Class frmGrundeinstellungen
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(470, 407) Me.ClientSize = New System.Drawing.Size(470, 590)
Me.Controls.Add(Me.GroupBox5) Me.Controls.Add(Me.GroupBox5)
Me.Controls.Add(Me.GroupBox4) Me.Controls.Add(Me.GroupBox4)
Me.Controls.Add(Me.GroupBox3) Me.Controls.Add(Me.GroupBox3)
@@ -336,4 +379,8 @@ Partial Class frmGrundeinstellungen
Friend WithEvents cmbSleeptill As System.Windows.Forms.ComboBox Friend WithEvents cmbSleeptill As System.Windows.Forms.ComboBox
Friend WithEvents Label9 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents cmbSleepFrom As System.Windows.Forms.ComboBox Friend WithEvents cmbSleepFrom As System.Windows.Forms.ComboBox
Friend WithEvents chkAutoDeleteLogs As CheckBox
Friend WithEvents lblTimeDeleteLogs As Label
Friend WithEvents txtTimeDeleteLogs As TextBox
Friend WithEvents lblLogDeleteTime As Label
End Class End Class

View File

@@ -1,5 +1,8 @@
Public Class frmGrundeinstellungen Public Class frmGrundeinstellungen
Private Shared _Instance As frmGrundeinstellungen = Nothing Private Shared _Instance As frmGrundeinstellungen = Nothing
Private _isLoading As Boolean = False
Public Shared Function Instance() As frmGrundeinstellungen Public Shared Function Instance() As frmGrundeinstellungen
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
_Instance = New frmGrundeinstellungen _Instance = New frmGrundeinstellungen
@@ -20,7 +23,8 @@
End If End If
End Sub End Sub
Private Sub frmGrundeinstellungen_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Private Sub frmGrundeinstellungen_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
txtTimeDeleteLogs.Text = My.Settings.vDeleteLogsTime
My.Settings.Save() My.Settings.Save()
End Sub End Sub
@@ -56,4 +60,82 @@
Private Sub txterrorIndex_TextChanged(sender As Object, e As EventArgs) Handles txterrorIndex.TextChanged Private Sub txterrorIndex_TextChanged(sender As Object, e As EventArgs) Handles txterrorIndex.TextChanged
End Sub End Sub
Private Sub chkAutoDeleteLogs_CheckedChanged(sender As Object, e As EventArgs) Handles chkAutoDeleteLogs.CheckedChanged
If _isLoading Then Exit Sub
If chkAutoDeleteLogs.Checked Then
Dim dt As DateTime
If Not DateTime.TryParse(txtTimeDeleteLogs.Text, dt) Then
MsgBox("Ungültige Eingabe! Der Zeitpunkt für die Löschung wurde auf 03:00 Uhr gesetzt. Bitte geben Sie die Uhrzeit in folgendem Format ein: HH:mm.", MsgBoxStyle.Information)
'chkAutoDeleteLogs.Checked = False
'txtTimeDeleteLogs.Text = ""
My.Settings.vAutoDeleteLogs = chkAutoDeleteLogs.Checked
txtTimeDeleteLogs.Text = My.Settings.vDefaultDeleteLogsTime.ToShortTimeString
My.Settings.Save()
Else
My.Settings.vDeleteLogsTime = txtTimeDeleteLogs.Text
My.Settings.vAutoDeleteLogs = chkAutoDeleteLogs.Checked
My.Settings.Save()
lblLogDeleteTime.Text = "Logs werden automatisch gelöscht um: " & My.Settings.vDeleteLogsTime.ToShortTimeString & " Uhr."
frmStart.Instance().ToolStripStatusLabel_LogDeleteTime.Text = "Logs werden automatisch gelöscht um: " & My.Settings.vDeleteLogsTime.ToShortTimeString & " Uhr."
frmStart.Instance().SetupTimerDeleteLogfiles()
End If
Else
txtTimeDeleteLogs.Text = ""
My.Settings.vAutoDeleteLogs = chkAutoDeleteLogs.Checked
My.Settings.Save()
lblLogDeleteTime.Text = "Automatisches Löschen von Logs ist inaktiv."
frmStart.Instance().ToolStripStatusLabel_LogDeleteTime.Text = "Automatisches Löschen von Logs ist inaktiv."
frmStart.Instance().TimerDeleteLogfiles.Stop()
End If
End Sub
Private Sub FrmGrundeinstellungen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_isLoading = True
Try
If My.Settings.vAutoDeleteLogs Then
chkAutoDeleteLogs.Checked = My.Settings.vAutoDeleteLogs
If String.IsNullOrWhiteSpace(My.Settings.vDeleteLogsTime.ToString) Then
txtTimeDeleteLogs.Text = My.Settings.vDefaultDeleteLogsTime.ToShortTimeString
lblLogDeleteTime.Text = "Logs werden automatisch gelöscht um: " & My.Settings.vDefaultDeleteLogsTime.ToShortTimeString & " Uhr."
Else
txtTimeDeleteLogs.Text = My.Settings.vDeleteLogsTime.ToShortTimeString
lblLogDeleteTime.Text = "Logs werden automatisch gelöscht um: " & My.Settings.vDeleteLogsTime.ToShortTimeString & " Uhr."
End If
Else
txtTimeDeleteLogs.Text = ""
lblLogDeleteTime.Text = "Automatisches Löschen von Logs ist inaktiv."
End If
Catch ex As Exception
End Try
_isLoading = False
End Sub
Private Sub txtTimeDeleteLogs_TextChanged(sender As Object, e As EventArgs) Handles txtTimeDeleteLogs.TextChanged
' Falls gerade geladen wird oder Checkbox nicht aktiv ist → nichts machen
If _isLoading OrElse Not chkAutoDeleteLogs.Checked Then Exit Sub
Dim dt As DateTime
' Prüfen, ob Eingabe im Format HH:mm gültig ist
If DateTime.TryParseExact(txtTimeDeleteLogs.Text, "HH:mm", Nothing, Globalization.DateTimeStyles.None, dt) Then
' Neuen Wert in Settings speichern
My.Settings.vDeleteLogsTime = dt
My.Settings.Save()
' Labels aktualisieren
lblLogDeleteTime.Text = $"Logs werden automatisch gelöscht um: {dt:HH:mm} Uhr."
frmStart.Instance().ToolStripStatusLabel_LogDeleteTime.Text = lblLogDeleteTime.Text
' Timer neu setzen
frmStart.Instance().SetupTimerDeleteLogfiles()
End If
End Sub
End Class End Class

View File

@@ -1,4 +1,5 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder
Imports System.IO Imports System.IO
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
@@ -12,8 +13,7 @@ Public Class frmNIHauptseite
'####Variablen für Nachindexierung '####Variablen für Nachindexierung
Private _windreamNI As ClassNIWindream Private _windreamNI As ClassNIWindream
Private _clsWorkfile As clsNI_WorkFile Private _clsWorkfile As clsNI_WorkFile
'Private _clsMoRe As ClassMO_RE
'Private _windreamNI As ClassNIWindream = Me.ParentClass.Windream
Private bwProfil As New BackgroundWorker Private bwProfil As New BackgroundWorker
Private bwDatei As New BackgroundWorker Private bwDatei As New BackgroundWorker
Private bwsearch As New BackgroundWorker Private bwsearch As New BackgroundWorker
@@ -67,7 +67,9 @@ Public Class frmNIHauptseite
' 3b. Windream initialisieren (Connection, Session, ... aufbauen) ' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
If _windreamNI.Init() = False Then If _windreamNI.Init() = False Then
EMAIL_DD.Send_EMail("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert.", "windreamNI.Init()") _Logger.Warn("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert.")
Exit Sub
End If End If
'ClassMoveRenameLogger.Init("", "MoveRename_", True) 'ClassMoveRenameLogger.Init("", "MoveRename_", True)
@@ -340,8 +342,6 @@ Public Class frmNIHauptseite
_Logger.Warn("Windream Suche für Profil: " & profil.Profilname & " konnte nicht ausgeführt werden! Die Datei " & Me.aktivesProfil.WindreamSuche & " existiert nicht!") _Logger.Warn("Windream Suche für Profil: " & profil.Profilname & " konnte nicht ausgeführt werden! Die Datei " & Me.aktivesProfil.WindreamSuche & " existiert nicht!")
' wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen ' wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen
EMAIL_DD.Send_EMail("Fehler bei Nachindexierung: <br> >> Profil: " & Me.aktivesProfil.Profilname & "<br> >> Die windream-Suche : " & Me.aktivesProfil.WindreamSuche & " konnte nicht gefunden werden!" &
"<br> >> Mögliche Fehlerursache: Das W-Laufwerk ist nicht verfügbar!", "WMissing")
Abbruch_NI("Windream-Suche konnte nicht gefunden werden!", True, False) Abbruch_NI("Windream-Suche konnte nicht gefunden werden!", True, False)
clsHelper.Add_Application_log("Nachindexierung wurde abgebrochen, da eine Windream-Suche (" & Me.aktivesProfil.WindreamSuche & ") nicht gefunden werden konnte") clsHelper.Add_Application_log("Nachindexierung wurde abgebrochen, da eine Windream-Suche (" & Me.aktivesProfil.WindreamSuche & ") nicht gefunden werden konnte")
@@ -479,23 +479,22 @@ Public Class frmNIHauptseite
bwProfil.ReportProgress(oDTResults.Rows.Count) bwProfil.ReportProgress(oDTResults.Rows.Count)
_Logger.Debug($">> Working on [{oDTResults.Rows.Count}] documents via SQL...") _Logger.Debug($">> Working on [{oDTResults.Rows.Count}] documents via SQL...")
If Not IsNothing(_windreamNI) Then If Not IsNothing(_windreamNI) Then
Dim oColumnIndex As Integer
Try
Dim oCheckInt As Integer
Dim oCheckStr As String
If Integer.TryParse(oDTResults.Rows(0).Item(1).ToString, oCheckInt) Then
oColumnIndex = 0
Else
oColumnIndex = 1
End If
_Logger.Debug($">> WM fullFilePath is obviously located in ColumnIndex: {oColumnIndex}")
Catch ex As Exception
End Try
Dim i As Integer = 0 Dim i As Integer = 0
For Each oROW As DataRow In oDTResults.Rows For Each oROW As DataRow In oDTResults.Rows
Dim oColumnIndex As Integer
Try
Dim oCheckInt As Integer
Dim oCheckStr As String
If Integer.TryParse(oROW.Item(1), oCheckInt) Then
' childAge successfully parsed as Integer
oColumnIndex = 0
Else
oColumnIndex = 1
End If
Catch ex As Exception
End Try
Dim oFilenameWM = oROW.Item(oColumnIndex).ToString Dim oFilenameWM = oROW.Item(oColumnIndex).ToString
oFilenameWM = oFilenameWM.Replace("W:", "") oFilenameWM = oFilenameWM.Replace("W:", "")
oFilenameWM = oFilenameWM.Replace("\\windream\objects", "") oFilenameWM = oFilenameWM.Replace("\\windream\objects", "")
@@ -692,7 +691,6 @@ Public Class frmNIHauptseite
IsWorking_Hour = True IsWorking_Hour = True
End If End If
If _windreamNI.Init() = False Then If _windreamNI.Init() = False Then
EMAIL_DD.Send_EMail("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert.", "_windreamNI.Init(693)")
clsHelper.Add_Application_log("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert?") clsHelper.Add_Application_log("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert?")
Exit Sub Exit Sub
@@ -797,8 +795,6 @@ Public Class frmNIHauptseite
Catch ex As Exception Catch ex As Exception
errormsg = " FEHLER bei Check_Desk_Index (GetVariableValue für Index '" & aktivesProfil.Desk_windreamIndex & "'): " & ex.Message errormsg = " FEHLER bei Check_Desk_Index (GetVariableValue für Index '" & aktivesProfil.Desk_windreamIndex & "'): " & ex.Message
_Logger.Warn(errormsg) _Logger.Warn(errormsg)
EMAIL_DD.Send_EMail("Beim Indexieren der Datei " & dokument.aName.ToString & " ist ein Fehler aufgetreten Check_Desk_Index (GetVariableValue): " & ex.Message, "Check_Desk_Index")
' wenn ein Fehler aufgetreten ist, muss das Flag gesetzt werden ' wenn ein Fehler aufgetreten ist, muss das Flag gesetzt werden
Return True Return True
@@ -1039,8 +1035,6 @@ Public Class frmNIHauptseite
result &= vbNewLine & " - Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "'" result &= vbNewLine & " - Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "'"
oUnexpectedError = True oUnexpectedError = True
fehlermsg &= vbNewLine & "Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "' - Fehler: " & ex.Message fehlermsg &= vbNewLine & "Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "' - Fehler: " & ex.Message
EMAIL_DD.Send_EMail(fehlermsg, "GettingWMIndexInfo")
End Try End Try
' wenn beim Auslesen des Wertes für den aktuellen windream-Index kein Fehler auftrat ' wenn beim Auslesen des Wertes für den aktuellen windream-Index kein Fehler auftrat
@@ -1637,7 +1631,7 @@ Public Class frmNIHauptseite
'Wenn Speicherort gespeichert werden soll wird Platzhalter ersetzt! 'Wenn Speicherort gespeichert werden soll wird Platzhalter ersetzt!
Sqlcommand = Sqlcommand.Replace("vSpeicherort", "'" & My.Settings.vWLaufwerk & ":" & Me.aktivesDokument.aPath & "'") Sqlcommand = Sqlcommand.Replace("vSpeicherort", "'" & My.Settings.vWLaufwerk & ":" & Me.aktivesDokument.aPath & "'")
_Logger.Debug("SQL-Command: " & Sqlcommand) _Logger.Debug("SQL-Command: " & Sqlcommand)
'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName)
Next Next
If Me.aktivesProfil.DbArt = "Oracle" Then If Me.aktivesProfil.DbArt = "Oracle" Then
If database.ExecuteonOracleDb(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then If database.ExecuteonOracleDb(aktivesProfil.Profilname, Sqlcommand, aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password) = 1 Then
@@ -1752,7 +1746,6 @@ Public Class frmNIHauptseite
If unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then If unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then
_Logger.Warn("Fehler bei IndexiereVerarbeiteDokument für die Datei: " & pMyWMDoc.aName.ToString) _Logger.Warn("Fehler bei IndexiereVerarbeiteDokument für die Datei: " & pMyWMDoc.aName.ToString)
_Logger.Warn("Fehlermeldung: " & fehlermsg) _Logger.Warn("Fehlermeldung: " & fehlermsg)
EMAIL_DD.Send_EMail("Fehler in IndexiereVerarbeiteDokument für die Datei: " & pMyWMDoc.aName.ToString & "<br> Profilname: " & aktivesProfil.Profilname & " <br> Fehlermeldung: " & fehlermsg, "IndexiereVerarbeiteDokument1760")
End If End If
End If End If
@@ -1830,7 +1823,6 @@ Public Class frmNIHauptseite
Dim oMyDocumentName = pMyWMDoc.aName Dim oMyDocumentName = pMyWMDoc.aName
Dim err As Boolean = CrFolderForIndex(docpath, oMyDocumentName) Dim err As Boolean = CrFolderForIndex(docpath, oMyDocumentName)
If err = True Then If err = True Then
EMAIL_DD.Send_EMail("Fehler bei Create Folder for Index bei der Datei: '" & pMyWMDoc.aName.ToString & "'<br> Fehler: Die Datei wurde indexiert aber der Ordner konnte nicht erstellt werden!", "CrFolderForIndex")
End If End If
Else Else
@@ -1868,7 +1860,6 @@ Public Class frmNIHauptseite
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
_Logger.Warn($"oResultNachindexierung so far: {oResultNachindexierung.ToString}") _Logger.Warn($"oResultNachindexierung so far: {oResultNachindexierung.ToString}")
EMAIL_DD.Send_EMail("Schwerwiegender Fehler bei IndexiereVerarbeiteDokument - <br> Profil: " & aktivesProfil.Profilname & "<br> Datei: " & pMyWMDoc.aName.ToString & "<br> Fehler: " & ex.Message, "IndexiereVerarbeiteDokument1874")
End Try End Try
End Sub End Sub
Private Function FolderForIndex(oDynamicFolder As String, myWMDocument As WMObject) As String Private Function FolderForIndex(oDynamicFolder As String, myWMDocument As WMObject) As String
@@ -2165,7 +2156,14 @@ Public Class frmNIHauptseite
oReturnString = oNewPathFilename oReturnString = oNewPathFilename
End If End If
End If End If
If _windreamNI.NEW_MOVE_FILE(oReturnString, oActWMPath, "MO_RE", myWMDocument.aName) = True Then Dim oFilename = myWMDocument.aName
If myWMDocument.aLocked Then
_Logger.Debug("Document still is locked...now unlocking...")
myWMDocument.unlock()
End If
myWMDocument = Nothing
If _windreamNI.NEW_MOVE_FILE(oReturnString, oActWMPath, "MO_RE", oFilename) = True Then
Return False Return False
Else Else
Return True Return True
@@ -2549,8 +2547,6 @@ Public Class frmNIHauptseite
_Logger.Error(ex) _Logger.Error(ex)
End If End If
EMAIL_DD.Send_EMail("Schwerwiegender Fehler bei SetErrorMeldung - <br> Profil: " & aktivesProfil.Profilname & "<br> Datei: " & dokument.aName.ToString & "<br> Fehler: " & ex.Message, "SetErrorMeldung")
End Try End Try
End Sub End Sub
Private Function IsNotEmpty(ByVal aValue As Object) Private Function IsNotEmpty(ByVal aValue As Object)

View File

@@ -186,7 +186,7 @@ Partial Class frmNI_SQLTest
Me.DataBindings.Add(New System.Windows.Forms.Binding("Location", Global.ToolCollection.My.MySettings.Default, "frmNI_SQL_Loc", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) Me.DataBindings.Add(New System.Windows.Forms.Binding("Location", Global.ToolCollection.My.MySettings.Default, "frmNI_SQL_Loc", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Location = Global.ToolCollection.My.MySettings.Default.frmNI_SQL_Loc
Me.Name = "frmNI_SQLTest" Me.Name = "frmNI_SQLTest"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Test-Ergebnis der Nachindexierungverknüpfung" Me.Text = "Test-Ergebnis der Nachindexierungverknüpfung"

View File

@@ -28,6 +28,7 @@ Partial Class frmStart
Me.Status_Machine = New System.Windows.Forms.ToolStripStatusLabel() Me.Status_Machine = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusLabel2 = New System.Windows.Forms.ToolStripStatusLabel() Me.ToolStripStatusLabel2 = New System.Windows.Forms.ToolStripStatusLabel()
Me.tslblVersion = New System.Windows.Forms.ToolStripStatusLabel() Me.tslblVersion = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusLabel_LogDeleteTime = New System.Windows.Forms.ToolStripStatusLabel()
Me.menHauptmenü = New System.Windows.Forms.MenuStrip() Me.menHauptmenü = New System.Windows.Forms.MenuStrip()
Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ÜbersichtToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ÜbersichtToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -61,6 +62,7 @@ Partial Class frmStart
Me.EinblendenAusblendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.EinblendenAusblendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TimerNIRestart = New System.Windows.Forms.Timer(Me.components) Me.TimerNIRestart = New System.Windows.Forms.Timer(Me.components)
Me.TimerErrorLog = New System.Windows.Forms.Timer(Me.components) Me.TimerErrorLog = New System.Windows.Forms.Timer(Me.components)
Me.TimerDeleteLogfiles = New System.Windows.Forms.Timer(Me.components)
Me.StatusStrip1.SuspendLayout() Me.StatusStrip1.SuspendLayout()
Me.menHauptmenü.SuspendLayout() Me.menHauptmenü.SuspendLayout()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
@@ -73,8 +75,8 @@ Partial Class frmStart
' '
'StatusStrip1 'StatusStrip1
' '
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.Status_Machine, Me.ToolStripStatusLabel2, Me.tslblVersion}) Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.Status_Machine, Me.ToolStripStatusLabel2, Me.tslblVersion, Me.ToolStripStatusLabel_LogDeleteTime})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 708) Me.StatusStrip1.Location = New System.Drawing.Point(0, 613)
Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode Me.StatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode
Me.StatusStrip1.ShowItemToolTips = True Me.StatusStrip1.ShowItemToolTips = True
@@ -91,7 +93,7 @@ Partial Class frmStart
Me.Status_Machine.Image = CType(resources.GetObject("Status_Machine.Image"), System.Drawing.Image) Me.Status_Machine.Image = CType(resources.GetObject("Status_Machine.Image"), System.Drawing.Image)
Me.Status_Machine.Margin = New System.Windows.Forms.Padding(10, 3, 0, 2) Me.Status_Machine.Margin = New System.Windows.Forms.Padding(10, 3, 0, 2)
Me.Status_Machine.Name = "Status_Machine" Me.Status_Machine.Name = "Status_Machine"
Me.Status_Machine.Size = New System.Drawing.Size(140, 20) Me.Status_Machine.Size = New System.Drawing.Size(139, 20)
Me.Status_Machine.Text = "ToolStripStatusLabel1" Me.Status_Machine.Text = "ToolStripStatusLabel1"
Me.Status_Machine.ToolTipText = "Client-Name" Me.Status_Machine.ToolTipText = "Client-Name"
' '
@@ -102,7 +104,7 @@ Partial Class frmStart
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides)
Me.ToolStripStatusLabel2.Image = CType(resources.GetObject("ToolStripStatusLabel2.Image"), System.Drawing.Image) Me.ToolStripStatusLabel2.Image = CType(resources.GetObject("ToolStripStatusLabel2.Image"), System.Drawing.Image)
Me.ToolStripStatusLabel2.Name = "ToolStripStatusLabel2" Me.ToolStripStatusLabel2.Name = "ToolStripStatusLabel2"
Me.ToolStripStatusLabel2.Size = New System.Drawing.Size(140, 20) Me.ToolStripStatusLabel2.Size = New System.Drawing.Size(139, 20)
Me.ToolStripStatusLabel2.Text = "ToolStripStatusLabel1" Me.ToolStripStatusLabel2.Text = "ToolStripStatusLabel1"
Me.ToolStripStatusLabel2.ToolTipText = "Aktueller Benutzer" Me.ToolStripStatusLabel2.ToolTipText = "Aktueller Benutzer"
' '
@@ -112,10 +114,19 @@ Partial Class frmStart
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides)
Me.tslblVersion.Name = "tslblVersion" Me.tslblVersion.Name = "tslblVersion"
Me.tslblVersion.Size = New System.Drawing.Size(124, 20) Me.tslblVersion.Size = New System.Drawing.Size(123, 20)
Me.tslblVersion.Text = "ToolStripStatusLabel1" Me.tslblVersion.Text = "ToolStripStatusLabel1"
Me.tslblVersion.ToolTipText = "Aktueller Benutzer" Me.tslblVersion.ToolTipText = "Aktueller Benutzer"
' '
'ToolStripStatusLabel_LogDeleteTime
'
Me.ToolStripStatusLabel_LogDeleteTime.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides)
Me.ToolStripStatusLabel_LogDeleteTime.Name = "ToolStripStatusLabel_LogDeleteTime"
Me.ToolStripStatusLabel_LogDeleteTime.Size = New System.Drawing.Size(270, 20)
Me.ToolStripStatusLabel_LogDeleteTime.Text = "Zeitpunkt der automatischen Löschung von Logs"
'
'menHauptmenü 'menHauptmenü
' '
Me.menHauptmenü.BackColor = System.Drawing.SystemColors.Control Me.menHauptmenü.BackColor = System.Drawing.SystemColors.Control
@@ -232,7 +243,7 @@ Partial Class frmStart
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Left Me.Panel1.Dock = System.Windows.Forms.DockStyle.Left
Me.Panel1.Location = New System.Drawing.Point(0, 24) Me.Panel1.Location = New System.Drawing.Point(0, 24)
Me.Panel1.Name = "Panel1" Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(163, 684) Me.Panel1.Size = New System.Drawing.Size(163, 589)
Me.Panel1.TabIndex = 10 Me.Panel1.TabIndex = 10
' '
'btnNachbearbeitungAD 'btnNachbearbeitungAD
@@ -436,11 +447,15 @@ Partial Class frmStart
' '
Me.TimerErrorLog.Interval = 60000 Me.TimerErrorLog.Interval = 60000
' '
'TimerDeleteLogfiles
'
Me.TimerDeleteLogfiles.Interval = 1000
'
'frmStart 'frmStart
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1237, 733) Me.ClientSize = New System.Drawing.Size(1237, 638)
Me.ContextMenuStrip = Me.ContextMenuStrip1 Me.ContextMenuStrip = Me.ContextMenuStrip1
Me.Controls.Add(Me.Panel1) Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.menHauptmenü) Me.Controls.Add(Me.menHauptmenü)
@@ -501,4 +516,6 @@ Partial Class frmStart
Friend WithEvents CriticalEmailTestToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents CriticalEmailTestToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripStatusLabel2 As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents ToolStripStatusLabel2 As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents TimerErrorLog As Timer Friend WithEvents TimerErrorLog As Timer
Friend WithEvents TimerDeleteLogfiles As Timer
Friend WithEvents ToolStripStatusLabel_LogDeleteTime As ToolStripStatusLabel
End Class End Class

View File

@@ -159,7 +159,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAO ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAO
FAAAAk1TRnQBSQFMAgEBCQEAATABAwEwAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo FAAAAk1TRnQBSQFMAgEBCQEAAVgBAwFYAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -643,6 +643,9 @@
<metadata name="TimerErrorLog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TimerErrorLog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>920, 17</value> <value>920, 17</value>
</metadata> </metadata>
<metadata name="TimerDeleteLogfiles.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1049, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>102</value> <value>102</value>
</metadata> </metadata>

View File

@@ -21,47 +21,165 @@ Public Class frmStart
' Delete_LogFiles() ' Delete_LogFiles()
' End If ' End If
'End Sub 'End Sub
' CREATE INSTANCE
Private Shared _Instance As frmStart = Nothing
Public Shared Function Instance() As frmStart
If _Instance Is Nothing OrElse _Instance.IsDisposed Then
_Instance = New frmStart()
End If
Return _Instance
End Function
' DELETE LOGS
Private Sub Delete_LogFiles() Private Sub Delete_LogFiles()
Try Try
' Dim vDate = DateAdd("d", -CInt(My.Settings.logolder_then), Now) Dim directory As New DirectoryInfo(My.Application.Info.DirectoryPath & "\Log")
_Logger.Debug($"Dateipfad geholt: {directory}")
Dim oIntervall As Integer = 30
Integer.TryParse(frmGrundeinstellungen.TextBox4.Text, oIntervall)
_Logger.Debug($"Löschalter aus der Config geholt: {oIntervall}")
Try For Each file As FileInfo In directory.GetFiles
Dim directory As New IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\Log") _Logger.Debug($"Durchlaufe alle Dateien: {file.FullName}")
Try
Dim oAgeOfFile As Integer = (Now - file.CreationTime).Days
_Logger.Debug($"Alter der aktuellen Datei: {oAgeOfFile}")
If oAgeOfFile >= oIntervall Then
file.Delete()
_Logger.Debug($"Lösche Datei, die älter ist als Löschalter: {file.FullName}")
End If
Catch ex As Exception
_Logger.Warn($"Could not delete file {file.Name}: {ex.Message}")
End Try
Next
For Each file As IO.FileInfo In directory.GetFiles
If (Now - file.CreationTime).Days > 29 Then file.Delete()
Next
Catch ex As Exception
End Try
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex.Message) _Logger.Error(ex.Message)
End Try End Try
End Sub End Sub
Public Sub SetupTimerDeleteLogfiles()
Try
Dim now As DateTime = DateTime.Now
Dim startTime As DateTime
' Zeit aus den gespeicherten Settings lesen
Dim timeString As String = My.Settings.vDeleteLogsTime
If String.IsNullOrWhiteSpace(timeString) Then
timeString = "02:00"
End If
Dim dt As DateTime
If DateTime.TryParse(timeString, dt) Then
'If timeString Then
My.Settings.vDeleteLogsTime = timeString
My.Settings.Save()
startTime = New DateTime(now.Year, now.Month, now.Day, dt.Hour, dt.Minute, 0)
If now > startTime Then startTime = startTime.AddDays(1)
Else
_Logger.Warn($"Ungültiges Zeitformat '{timeString}', Standard 02:00 wird verwendet.")
startTime = New DateTime(now.Year, now.Month, now.Day, 2, 0, 0)
If now > startTime Then startTime = startTime.AddDays(1)
End If
Dim interval As TimeSpan = startTime - now
Dim intervalMs As Double = interval.TotalMilliseconds
' Sicherheitscheck
If intervalMs < 1000 Then
intervalMs = 1000
End If
If intervalMs > Integer.MaxValue Then
intervalMs = Integer.MaxValue
End If
TimerDeleteLogfiles.Interval = CInt(intervalMs)
If My.Settings.vAutoDeleteLogs Then
TimerDeleteLogfiles.Start()
_Logger.Info($"TimerDeleteLogfiles startet in {interval.TotalMinutes:F1} Minuten (Zielzeit: {startTime:HH:mm}).")
Else
TimerDeleteLogfiles.Stop()
_Logger.Info("Automatische Log-Löschung deaktiviert, Timer gestoppt.")
End If
Catch ex As Exception
_Logger.Error("Fehler in SetupTimerDeleteLogfiles: " & ex.Message)
End Try
End Sub
Private Sub TimerDeleteLogfiles_Tick(sender As Object, e As EventArgs) Handles TimerDeleteLogfiles.Tick
Try
Delete_Logfiles()
' Nächstes Intervall wieder 24h
TimerDeleteLogfiles.Interval = 24 * 60 * 60 * 1000
Catch ex As Exception
_Logger.Error("Fehler beim automatischen Löschen: " & ex.Message)
End Try
End Sub
Private Sub FMStart_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Private Sub FMStart_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass sie " & Application.ProductName & " wirklich schließen wollen?" & vbNewLine & "Alle Vorgänge/Module werden gestoppt und nicht mehr ausgeführt!", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass sie " & Application.ProductName & " wirklich schließen wollen?" & vbNewLine & "Alle Vorgänge/Module werden gestoppt und nicht mehr ausgeführt!", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
If result = MsgBoxResult.No Then If result = MsgBoxResult.No Then
e.Cancel = True e.Cancel = True
End If End If
End Sub End Sub
Private Sub FMStart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Private Sub FMStart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_Instance = Me
Try Try
'Delete_LogFiles()
_MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName, _MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName,
My.Application.Info.ProductName) My.Application.Info.ProductName)
_Logger = _MyLogger.GetLogger() _Logger = _MyLogger.GetLogger()
_MyLogger.Debug = Not My.Settings.vLogErrorsonly
CURR_Logger = _Logger CURR_Logger = _Logger
CURR_LogConfig = _MyLogger CURR_LogConfig = _MyLogger
Delete_LogFiles()
SetupTimerDeleteLogfiles()
'Aktueller Benutzer 'Aktueller Benutzer
Me.tslblVersion.Text = Environment.UserName.ToString Me.tslblVersion.Text = Environment.UserName.ToString
Me.Text = Application.CompanyName & "-" & Application.ProductName Me.Text = Application.CompanyName & "-" & Application.ProductName
Me.tslblVersion.Text = "Version: " & My.Application.Info.Version.ToString Me.tslblVersion.Text = "Version: " & My.Application.Info.Version.ToString
'Aktuelle Machine 'Aktuelle Machine
Me.Status_Machine.Text = My.Computer.Name Me.Status_Machine.Text = My.Computer.Name
'Zeitpunkt der automatischen Löschung von Logs
If My.Settings.vAutoDeleteLogs Then
Me.ToolStripStatusLabel_LogDeleteTime.Text = "Logs werden automatisch gelöscht um: " & My.Settings.vDeleteLogsTime.ToShortTimeString & " Uhr."
Else
Me.ToolStripStatusLabel_LogDeleteTime.Text = "Automatisches Löschen von Logs ist inaktiv."
End If
' timUhrzeit.Start() ' timUhrzeit.Start()
TimerErrorLog.Start() TimerErrorLog.Start()
If My.Settings.WM_PERS_LOGIN <> String.Empty Then
Dim oSPLIT As String()
oSPLIT = My.Settings.WM_PERS_LOGIN.Split("#")
If oSPLIT.Length > 0 Then
If oSPLIT(0) <> "@Domain" Then
WMLOGIN_DOMAIN = oSPLIT(0)
_Logger.Info($"WMLOGIN_DOMAIN: {WMLOGIN_DOMAIN}")
WMLOGIN_USER = oSPLIT(1)
_Logger.Info($"WMLOGIN_USER: {WMLOGIN_USER}")
WMLOGIN_PW = oSPLIT(2)
Else
_Logger.Info($"No dedicated WMUser(1)")
End If
End If
End If
If Not My.Settings.licensekey = "" Then If Not My.Settings.licensekey = "" Then
' Lizenz-Manager initialisieren ' Lizenz-Manager initialisieren
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey) Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
@@ -69,7 +187,6 @@ Public Class frmStart
' alle vorhandenen Module laden ' alle vorhandenen Module laden
Me.LoadAllModules() Me.LoadAllModules()
End If End If
EMAIL_DD = New ClassEmail(_MyLogger)
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
@@ -188,7 +305,7 @@ Public Class frmStart
If Me.licenseManager.Licenses.machine.ToLower <> "all" Then If Me.licenseManager.Licenses.machine.ToLower <> "all" Then
If Me.licenseManager.Licenses.machine.ToLower <> My.Computer.Name.ToLower Then If Me.licenseManager.Licenses.machine.ToLower <> My.Computer.Name.ToLower Then
MsgBox("Ihre Lizenz gilt nicht für diese Maschine. " & vbNewLine & "Gelesener Computer Name: '" & My.Computer.Name & "'" & vbNewLine & "License Computer Name: '" & Me.licenseManager.Licenses.machine & "'" & vbNewLine & MsgBox("Ihre Lizenz gilt nicht für diese Maschine. " & vbNewLine & "Gelesener Computer Name: '" & My.Computer.Name & "'" & vbNewLine & "License Computer Name: '" & Me.licenseManager.Licenses.machine & "'" & vbNewLine &
"Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:") "Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:")
Me.grbDI.Visible = False Me.grbDI.Visible = False
Me.GBNachindexierung.Visible = False Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False Me.GroupBoxIntegration.Visible = False
@@ -257,10 +374,10 @@ Public Class frmStart
Private Sub FMStart_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown Private Sub FMStart_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
TimerNIRestart.Start() TimerNIRestart.Start()
If My.Settings.vDIDurchlaufRunning = True Then If My.Settings.DI_RUNNING = True Then
Open_DI_Main() Open_DI_Main()
End If End If
If My.Settings.NI_RUNNING = True Then If NIDurchlaufRunning = True Then
Open_NI_Main() Open_NI_Main()
End If End If
End Sub End Sub
@@ -411,12 +528,6 @@ Public Class frmStart
End If End If
End Sub End Sub
Private Sub CriticalEmailTestToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CriticalEmailTestToolStripMenuItem.Click
Cursor = Cursors.WaitCursor
EMAIL_DD.Send_EMail("Dies ist eine Test-Email!", "888888888")
Cursor = Cursors.Default
End Sub
Private Sub TimerErrorLog_Tick(sender As Object, e As EventArgs) Handles TimerErrorLog.Tick Private Sub TimerErrorLog_Tick(sender As Object, e As EventArgs) Handles TimerErrorLog.Tick
If CURRENT_APPLICATION_LOG <> String.Empty Then If CURRENT_APPLICATION_LOG <> String.Empty Then
Dim frm As New frmApplicationLog Dim frm As New frmApplicationLog