MS PersonifiedLogin

This commit is contained in:
Developer01 2025-06-06 13:25:50 +02:00
parent 1e55845ff0
commit 4e40cec97e
29 changed files with 466 additions and 746 deletions

View File

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

View File

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

Binary file not shown.

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 ++++++++++++++++++++++++++++++++++++++++++++++
Sub New(LogConfig As LogConfig)
Try
' 3a. Windream instanziieren
Me._windream = New ClassWindream_allgemein(LogConfig)
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
Me._windream.Init()
Catch ex As Exception
MsgBox("Unbekannter Fehler im Konstuktor des Moduls 'XYZ'." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unbekannter Fehler")
End Try

View File

@ -29,156 +29,6 @@ Public Class ClassMO_REOld
Return False
End Try
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)
Try
_file = _file.Replace("W:", "\\windream\objects")

View File

@ -300,9 +300,7 @@ Public Class ClassNIDatenbankzugriff
Catch ex As Exception
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
_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()
Return 0
End Try
@ -540,7 +538,6 @@ Public Class ClassNIDatenbankzugriff
Catch ex As Exception
_Logger.Error(ex)
EMAIL_DD.Send_EMail("Profilname: " & Profilname & "<br>ClassNIDatenbankzugriff.GetValueFromMssqlDb - SQL-Abfrage definieren: " & ex.Message, "NIDB_GetValueFromMssqlDb")
' DB-Connection schliessen
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

@ -1,6 +1,9 @@
Imports WINDREAMLib
Imports WMOSRCHLib
Imports DigitalData.Modules.Logging
Imports System.Reflection
Imports System.Runtime
Public Class ClassNIWindream
Inherits ClassWindream_allgemein
Private Shared _Logger As DigitalData.Modules.Logging.Logger
@ -174,21 +177,28 @@ Public Class ClassNIWindream
_Logger.Debug("Typ des windream-Indexes: 8204 Integer")
Case 8
_Logger.Debug("Typ des windream-Indexes: 8 Vektor Boolean")
Case Else
_Logger.Info($"RunIndexing_Vektor - Invalid type: {vType}")
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
If Anzahl = 0 Then
If oAnzahl_Werte = 0 Or oIndex = 1 Then
_Logger.Debug("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0)
myArray(0) = Convert_IndexValue(vType, aValues(0))
_Logger.Debug("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString)
Else
_Logger.Debug($"RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten [{Anzahl}] gefüllt ")
_Logger.Debug($"RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten [{oAnzahl_Werte}] gefüllt ")
Dim _value As String
Try
'Die Größe des Arrays festlegen
ReDim myArray(Anzahl)
ReDim myArray(oAnzahl_Werte)
Dim i1 As Integer = 0
For Each aValue As String In aValues
_value = aValue
@ -444,7 +454,7 @@ Public Class ClassNIWindream
vektor = True
Case Else
_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")
convertValue = ""
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.")
oDocument.Save()
Else
_Logger.Warn("Unvorhergesehener Fehler bei NonVektor-SetVariableValue:")
_Logger.Warn($"Unvorhergesehener Fehler bei NonVektor-SetVariableValue - Indexname: {aName}")
_Logger.Warn("Fehlermeldung:" & ex.Message)
oDocument.Save()
oDocument.unlock()
@ -569,99 +579,138 @@ Public Class ClassNIWindream
End If
Else
_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
Else
_Logger.Debug($"Vektorfeld wird mit MEHREREN Werten [{oAnzahl}] gefüllt ")
' das ausgewählte Profil in _selectedProfile laden
_selectedProfil = ClassNIProfile.getProfilByName(Profil)
Next
If oAnzahlCheck = 1 Then
_Logger.Debug($"Vektorfeld wird tatsächlich nur mit einem Wert gefüllt!! ")
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
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
'Die Änderungen festsschreiben/speichern
oDocument.Save()
_Logger.Debug("Indexierung erfolgreich beendet (Save Anzahl 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
Else
_Logger.Debug($"Vektorfeld wird mit MEHREREN Werten [{oAnzahl}] gefüllt ")
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)
' das ausgewählte Profil in _selectedProfile laden
_selectedProfil = ClassNIProfile.getProfilByName(Profil)
z += 1
End If
'Die Größe des Arrays festlegen
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
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
'Das Array wieder anpassen
Try
ReDim myArray(VektorArray.Length - 1)
Catch ex As Exception
ReDim myArray(VektorArray.count - 1)
End Try
Dim oIndex As Integer = 0
For Each oStr In VektorArray
myArray(oIndex) = oStr
oIndex += 1
Next
If oIndex = 0 Then
_Logger.Debug("VektorArray.length = 0 ... Skipping Redim")
Else
_Logger.Debug("RunIndexing - Nun nochmal redimensionieren Array für windeam...")
'Das Array wieder anpassen
Try
ReDim myArray(VektorArray.Length - 1)
Catch ex As Exception
ReDim myArray(VektorArray.count - 1)
End Try
Dim oIndex1 As Integer = 0
For Each oStr In VektorArray
myArray(oIndex1) = oStr
_Logger.Debug("RunIndexing - Value {0} - [{1}]", oIndex1, oStr)
oIndex1 += 1
Next
End If
'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
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()
Return True
End If
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()
Return True
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
@ -689,9 +738,6 @@ Public Class ClassNIWindream
i1 += 1
Next
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.unlock()
Return True
@ -786,6 +832,7 @@ Public Class ClassNIWindream
End If
End If
Next
_Logger.Debug("Vektor-Array wurde erzeugt - Anzahl {0}", oValues.Count)
End If
Return oValues
@ -913,9 +960,6 @@ Public Class ClassNIWindream
Catch ex As Exception
_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.unlock()
End Try
@ -949,9 +993,6 @@ Public Class ClassNIWindream
'' Der öffentliche Member CheckSearchProfile für den Typ IWMQuickSearch7 wurde nicht gefunden. [Microsoft.VisualBasic] => GetSearchDocuments()
Select Case suchTyp.ToString.ToUpper
Case "WMOSRCH.WMQUICKSEARCH"
'srchQuick.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
'Me.oConnect.LoginSession(oWMSession) 'srchQuick.WMSession)
srchQuick.ClearSearch()
srchQuick.SearchProfilePath = ProfilePath
@ -960,8 +1001,7 @@ Public Class ClassNIWindream
oSearch = srchQuick.GetSearch()
Case "WMOSRCH.WMINDEXSEARCH"
srchIndex.WMSession = oWMSession 'CreateObject("Windream.WMSession", Me.GetCurrentServer)
srchIndex.WMSession = oWMSession
'Me.oConnect.LoginSession(srchIndex.WMSession)
srchIndex.ClearSearch()
@ -971,7 +1011,7 @@ Public Class ClassNIWindream
oSearch = srchIndex.GetSearch()
Case "WMOSRCH.WMOBJECTTYPESEARCH"
srchObjectType.WMSession = oWMSession 'CreateObject("Windream.WMSession", Me.GetCurrentServer)
srchObjectType.WMSession = oWMSession
'Me.oConnect.LoginSession(oWMSession) 'srchObjectType.WMSession)
@ -997,6 +1037,7 @@ Public Class ClassNIWindream
End Try
Else
If wdfLocation.ToUpper.Contains("SELECT") Or wdfLocation.ToUpper.Contains("EXEC") Then
_Logger.Info("WMSearch replaced with SQL Command ...:")
WMSearchIsSQL = True
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
Dim oWMFile As WINDREAMLib.WMObject
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($"sourcepath ({sourcepath})")
Dim sw As New ClassStopwatch("NEW_MOVE_FILE")
Dim oTargetpath = System.IO.Path.GetDirectoryName(targetpath)
oTargetpath = oTargetpath.Replace("\\windream\objects", "")
oTargetpath = oTargetpath.Replace("W:\", "\")
oTargetpath = oTargetpath.Replace("windream\objects", "")
oTargetpath = oTargetpath.Replace("w:\", "\")
targetpath = targetpath.Replace("\\windream\objects", "")
targetpath = targetpath.Replace("W:\", "\")
targetpath = targetpath.Replace("windream\objects", "")
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("\\", "\")
Const WMEntityDocument = 1
Dim IndexwertAusWindream As Object = Nothing
_Logger.Debug($"NEW_MOVE_FILE getting WMObject for: {sourcepath}")
_Logger.Debug($"getting WMObject for: {sourcepath}")
Try
oWMFile = oWMSession.GetWMObjectByPath(WMEntityDocument, sourcepath)
Catch ex As Exception

View File

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

View File

@ -49,7 +49,57 @@ Public Class ClassWindream_allgemein
' Process.GetCurrentProcess.Kill()
End If
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>
''' Initialisiert die statische Klasse (Login, Session starten, usw.)
@ -60,99 +110,12 @@ Public Class ClassWindream_allgemein
Dim oHourDifference As Integer
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
If IsNothing(CURRENToWMSession) Or oHourDifference >= 2 Then
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)
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
If WMLOGIN_DOMAIN <> String.Empty Then
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
Else
GetWMSession()
End If
Else
If My.Settings.vLogErrorsonly = False Then _Logger.Debug("WMSession already created!")
@ -162,6 +125,95 @@ Public Class ClassWindream_allgemein
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
#Region "+++++ Funktionen die für den Objekttyp relevate Informationen zurückliefern +++++"
@ -498,7 +550,6 @@ Public Class ClassWindream_allgemein
Return server 'ClassWindream.oBrowser.GetCurrentServer
Catch ex As Exception
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")
End Try

View File

@ -32,6 +32,9 @@ Module ModuleCURRENT
Public CURRENT_DOCID As Int64
Public WMSearchIsSQL As Boolean = False
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

View File

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

View File

@ -106,73 +106,6 @@ Namespace My
End Set
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.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("dd"), _
@ -186,32 +119,6 @@ Namespace My
End Set
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.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
@ -637,32 +544,6 @@ Namespace My
End Set
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.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("DigitalData\windream_CLIENT_WMCC_Neustart")> _
@ -796,6 +677,39 @@ Namespace My
Return CType(Me("DDECMConString"),String)
End Get
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
End Class
End Namespace

View File

@ -14,37 +14,9 @@
<Setting Name="vDIConfigDatei" Roaming="true" Type="System.String" Scope="User">
<Value Profile="(Default)">modDateiimportConfig.xml</Value>
</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">
<Value Profile="(Default)">dd</Value>
</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">
<Value Profile="(Default)">0, 0</Value>
</Setting>
@ -147,12 +119,6 @@
<Setting Name="errortext" Type="System.String" Scope="User">
<Value Profile="(Default)">Fehlermeldung</Value>
</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">
<Value Profile="(Default)">DigitalData\windream_CLIENT_WMCC_Neustart</Value>
</Setting>
@ -200,5 +166,14 @@
&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>
</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>
</Settings>
</SettingsFile>

View File

@ -83,71 +83,7 @@ Public Class TCService
ClassLoggerService.Add("###############################################################", False)
End Sub
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
Private Sub Profil_DurchlaufDI()
Try

View File

@ -86,21 +86,17 @@
<OutputPath>bin\x64\Release\</OutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Config, Version=1.1.4.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.2.7.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Filesystem, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
<Reference Include="DigitalData.Modules.Filesystem">
<HintPath>..\..\2_DLL Projekte\DDModules\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.5.4.2, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<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>
@ -201,7 +197,6 @@
<Compile Include="ClassMoveRenameLogger.vb" />
<Compile Include="ClassMO_RE.vb" />
<Compile Include="ClassNIDatenbankzugriff.vb" />
<Compile Include="ClassNIEmail.vb" />
<Compile Include="ClassNIProfil.vb" />
<Compile Include="ClassNIProfile.vb" />
<Compile Include="ClassNIVerknüpfung.vb" />

View File

@ -48,28 +48,9 @@
<setting name="vDIConfigDatei" serializeAs="String">
<value>modDateiimportConfig.xml</value>
</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">
<value>dd</value>
</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">
<value>0, 0</value>
</setting>
@ -160,31 +141,22 @@
<setting name="errortext" serializeAs="String">
<value>Fehlermeldung</value>
</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">
<value>DigitalData\windream_VFS_RESTART</value>
</setting>
<setting name="myDateiname" serializeAs="String">
<value>myInvalidDateiname.pdf</value>
</setting>
<setting name="NI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
<setting name="DI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
</ToolCollection.My.MySettings>
</userSettings>
<applicationSettings>
<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">
<value>W</value>
</setting>
@ -230,6 +202,9 @@
<setting name="REGEX_INVALID_PATH" serializeAs="String">
<value>[\\\/:\*\?""'&lt;&gt;|]</value>
</setting>
<setting name="WM_PERS_LOGIN" serializeAs="String">
<value>@Domain#@User#@PW</value>
</setting>
</ToolCollection.My.MySettings>
</applicationSettings>
<startup>

View File

@ -63,8 +63,6 @@ Public Class clsNI_WorkFile
'bei einem Fehler einen Eintrag in der Logdatei machen
_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
End Try
End Function

View File

@ -155,7 +155,7 @@ Public Class frmDIHauptseite
Me.tvLog.Visible = False
Me.timRun_Dateiimport.Stop()
Durchlauf = False
My.Settings.vDIDurchlaufRunning = False
My.Settings.DI_RUNNING = False
End If
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
Formloaded = True
Me.LoadProfilesInCombobox()
If My.Settings.vDIDurchlaufRunning = True Then
If My.Settings.DI_RUNNING = True Then
Me.rbAutomatisch.Checked = True
Automatischer_Durchlauf(False)
End If
@ -722,15 +722,10 @@ Public Class frmDIHauptseite
'DAS Windream-Laufwerk ist nicht verfügbar!
CriticalErrorInBackgroundWorker = True
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 &
"Der Importvorgang wurde abgebrochen!" & vbNewLine & "Fehlerbehebung: ==> Starten Sie windream und den den Dateiimporter neu!")
Exit Sub
Else
EMAIL_DD.Send_EMail("Fehler bei Datei: " & oFilenameQuelle & " <br\>ERROR: " & Err.Description, "DI_WMFILEACCESS")
End If
@ -1148,40 +1143,58 @@ Public Class frmDIHauptseite
_Step = "3.1.1"
DetailLog("_Step: " & _Step)
' 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()
'### 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 Stammname As String = zielpfad.Substring(2) & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
Dim neuername As String = zielpfad.Substring(2) & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
If zielpfad.StartsWith("\\Windream\Objects") Then
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
DetailLog("Datei " & endgültigerDateiname & " ist vorhanden!")
neuername = Stammname & "~" & version
Dim Stammname As String = zielpfad & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
Dim neuername As String = zielpfad & "\" & Quelldatei_Name.Substring(0, Quelldatei_Name.LastIndexOf("."))
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
version = version + 1
oMyVersion = oMyVersion + 1
Loop
DetailLog("Datei [" & endgültigerDateiname & "] wird benutzt um den Filestream nach WM zu erzeugen...")
_Step = "3.1.2"
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
ClassLoggerDI.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
oStopWatchTimerC.Done()
ClassLoggerDI.Add(" FEHLER: Neues WMObject (Kopie) konnte nicht erzeugt werden - Error: '" & Err.Description & "'")
If My.Settings.StopwatchTimerActive = True Then
oStopWatchTimer.Done()
oStopWatchTimerC.Done()
End If
'MsgBox(Err.Description)
End If
'MsgBox(Err.Description)
DetailLog("...WMObject-Filestream zugewiesen")
End If
DetailLog("WMObject zugewiesen")
End If
_Step = "3.2"
_Step = "3.2"
DetailLog("_Step: " & _Step)
DetailLog("ENDGÜLTIGER DATEINAME => " & endgültigerDateiname)
If oNewWMObject IsNot Nothing Then
' lock object for file system access (to change the file itself)
oNewWMObject.lock()
' set fileIO the local source file
DetailLog("Now Streaming from filenameQuelle...")
oFileIO.bstrOriginalFileName = filenameQuelle
If Err.Number > 0 Then
'MsgBox(Err.Number.ToString)
@ -1198,8 +1211,25 @@ Public Class frmDIHauptseite
End If
_Step = "3.3"
DetailLog("_Step: " & _Step)
' open the windream object's file stream for writing
oWMStream = oNewWMObject.OpenStream(STREAM_BinaryObject, WMObjectStreamOpenModeReadWrite)
Try
' 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
ClassLoggerDI.Add(" FEHLER bei OpenStream - Datei wird wieder gelöscht - Error: '" & Err.Description & "'")
oNewWMObject.Unlock()
@ -2267,7 +2297,7 @@ Public Class frmDIHauptseite
Me.timRun_Dateiimport.Interval = Me.numIntervallDurchlauf.Value * 60 * 1000
Me.timRun_Dateiimport.Start()
My.Settings.vDIDurchlaufRunning = True
My.Settings.DI_RUNNING = True
My.Settings.Save()
'Direkt einen Durchlauf starten
If runnow = True Then
@ -2286,7 +2316,7 @@ Public Class frmDIHauptseite
Me.tvLog.Visible = False
Me.timRun_Dateiimport.Stop()
Durchlauf = False
My.Settings.vDIDurchlaufRunning = False
My.Settings.DI_RUNNING = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei btnDurchlauf.Click:")

View File

@ -1,4 +1,5 @@
Imports System.ComponentModel
Imports System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder
Imports System.IO
Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Logging
@ -12,8 +13,7 @@ Public Class frmNIHauptseite
'####Variablen für Nachindexierung
Private _windreamNI As ClassNIWindream
Private _clsWorkfile As clsNI_WorkFile
'Private _clsMoRe As ClassMO_RE
'Private _windreamNI As ClassNIWindream = Me.ParentClass.Windream
Private bwProfil As New BackgroundWorker
Private bwDatei As New BackgroundWorker
Private bwsearch As New BackgroundWorker
@ -67,7 +67,9 @@ Public Class frmNIHauptseite
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
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
'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!")
' 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)
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)
_Logger.Debug($">> Working on [{oDTResults.Rows.Count}] documents via SQL...")
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
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
oFilenameWM = oFilenameWM.Replace("W:", "")
oFilenameWM = oFilenameWM.Replace("\\windream\objects", "")
@ -692,7 +691,6 @@ Public Class frmNIHauptseite
IsWorking_Hour = True
End If
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?")
Exit Sub
@ -797,8 +795,6 @@ Public Class frmNIHauptseite
Catch ex As Exception
errormsg = " FEHLER bei Check_Desk_Index (GetVariableValue für Index '" & aktivesProfil.Desk_windreamIndex & "'): " & ex.Message
_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
Return True
@ -1039,8 +1035,6 @@ Public Class frmNIHauptseite
result &= vbNewLine & " - Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "'"
oUnexpectedError = True
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
' 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!
Sqlcommand = Sqlcommand.Replace("vSpeicherort", "'" & My.Settings.vWLaufwerk & ":" & Me.aktivesDokument.aPath & "'")
_Logger.Debug("SQL-Command: " & Sqlcommand)
'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName)
Next
If Me.aktivesProfil.DbArt = "Oracle" 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
_Logger.Warn("Fehler bei IndexiereVerarbeiteDokument für die Datei: " & pMyWMDoc.aName.ToString)
_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
@ -1830,7 +1823,6 @@ Public Class frmNIHauptseite
Dim oMyDocumentName = pMyWMDoc.aName
Dim err As Boolean = CrFolderForIndex(docpath, oMyDocumentName)
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
Else
@ -1868,7 +1860,6 @@ Public Class frmNIHauptseite
Catch ex As Exception
_Logger.Error(ex)
_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 Sub
Private Function FolderForIndex(oDynamicFolder As String, myWMDocument As WMObject) As String
@ -2165,7 +2156,14 @@ Public Class frmNIHauptseite
oReturnString = oNewPathFilename
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
Else
Return True
@ -2549,8 +2547,6 @@ Public Class frmNIHauptseite
_Logger.Error(ex)
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 Sub
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.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.Location = Global.ToolCollection.My.MySettings.Default.frmNI_SQL_Loc
Me.Name = "frmNI_SQLTest"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Test-Ergebnis der Nachindexierungverknüpfung"

View File

@ -62,6 +62,25 @@ Public Class frmStart
' timUhrzeit.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
' Lizenz-Manager initialisieren
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
@ -69,7 +88,6 @@ Public Class frmStart
' alle vorhandenen Module laden
Me.LoadAllModules()
End If
EMAIL_DD = New ClassEmail(_MyLogger)
Catch ex As Exception
_Logger.Error(ex)
@ -257,10 +275,10 @@ Public Class frmStart
Private Sub FMStart_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
TimerNIRestart.Start()
If My.Settings.vDIDurchlaufRunning = True Then
If My.Settings.DI_RUNNING = True Then
Open_DI_Main()
End If
If My.Settings.NI_RUNNING = True Then
If NIDurchlaufRunning = True Then
Open_NI_Main()
End If
End Sub
@ -411,12 +429,6 @@ Public Class frmStart
End If
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
If CURRENT_APPLICATION_LOG <> String.Empty Then
Dim frm As New frmApplicationLog