diff --git a/app/DD_PM_WINDREAM/ClassIDBData.vb b/app/DD_PM_WINDREAM/ClassIDBData.vb
index 6e4da27..486002d 100644
--- a/app/DD_PM_WINDREAM/ClassIDBData.vb
+++ b/app/DD_PM_WINDREAM/ClassIDBData.vb
@@ -190,13 +190,15 @@
Next
End If
Else
+ '### Old Value is a single value ###
If oDTMyNewValues.Rows.Count > 1 Then
- Dim oExists As Boolean = False
+ '### there is more than one new value ###
+ Dim oExists As Boolean
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
+ oExists = False
Dim oInfo1 = $"Checking oldValue[{oOldAttributeResult}] vs NewValue [{oNewValueRow.Item(1)}]"
If oNewValueRow.Item(1).ToString.ToUpper = oOldAttributeResult.ToString.ToUpper Then
oExists = True
- Exit For
End If
Next
If oExists = False Then
@@ -206,10 +208,16 @@
Delete_Term_Object_From_Metadata(oAttributeName, oOldAttributeResult)
End If
Else
- Dim oInfo = $"Value [{oOldAttributeResult}] of Attribute [{oAttributeName}] obviously was updated during runtime - will be deleted!"
- LOGGER.Info(oInfo)
- SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo)
- Delete_Term_Object_From_Metadata(oAttributeName, oOldAttributeResult)
+ '### there is only ONE new value ###
+ If oDTMyNewValues.Rows(0).Item(1) <> oOldAttributeResult Then
+ Dim oInfo = $"Value [{oOldAttributeResult}] of Attribute [{oAttributeName}] obviously was updated during runtime - will be deleted!"
+ LOGGER.Info(oInfo)
+ SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo)
+ Delete_Term_Object_From_Metadata(oAttributeName, oOldAttributeResult)
+ Else
+ LOGGER.Debug($"Attributvalue of [{oAttributeName}] did not change!")
+ End If
+
End If
End If
diff --git a/app/DD_PM_WINDREAM/ClassPMWindream.vb b/app/DD_PM_WINDREAM/ClassPMWindream.vb
deleted file mode 100644
index 26ebceb..0000000
--- a/app/DD_PM_WINDREAM/ClassPMWindream.vb
+++ /dev/null
@@ -1,628 +0,0 @@
-Imports WINDREAMLib
-Imports WMOSRCHLib
-
-Public Class ClassPMWindream
-
- Inherits ClassWindream_allgemein
- Dim clsWM As ClassWindream_allgemein
- 'Private email As New ClassNIEmail
- Private allgFunk As New ClassAllgemeineFunktionen
-#Region "+++++ Konstanten +++++"
- Protected Const WMObjectEditModeObject = &H1F
- Protected Const WMObjectStreamOpenModeReadWrite = 2
- Protected Const WMEntityObjectType = 10
- Protected Const WMEntityDocument = 1
-
- Const WMObjectVariableValueTypeUndefined = 0
- Const WMObjectVariableValueTypeString = 1
- Const WMObjectVariableValueTypeInteger = 2
- Const WMObjectVariableValueTypeFloat = 3
- Const WMObjectVariableValueTypeBoolean = 4
- Const WMObjectVariableValueTypeDate = 5
- Const WMObjectVariableValueTypeFixedPoint = 6
- Const WMObjectVariableValueTypeTimeStamp = 7
- Const WMObjectVariableValueTypeCurrency = 8
- Const WMObjectVariableValueTypeTime = 9
- Const WMObjectVariableValueTypeVariant = 10
- Const WMObjectVariableValueTypeMask = &HFFF
- Const WMObjectVariableValueFlagMask = &HFFFFF000
- Const WMObjectVariableValueTypeVector = &H1000
- Const WMObjectVariableValueTypeFulltext = &H2000
- Const WMObjectVariableValueTypeDefaultValue = &H4000
-
- Const WMObjectEditModeIndexEdit = &H3DA
-#End Region
-
-#Region "+++++ Variablen +++++"
- Private oController As New WMOSearchController
-#End Region
-
-#Region "+++++ Allgemeine Methoden und Funktionen +++++"
- Sub New()
- MyBase.New()
- End Sub
- Private Function IsNotEmpty(ByVal aValue As Object)
- If aValue IsNot Nothing Then
- Return True
-
- 'If TypeOf aValue Is String Then
- ' ' Änderung 28.08.2018: Auch ein leerer String gilt als Wert, damit indexfelder auch geleert werden können
- ' 'If Not aValue = "" Then
- ' ' Return True
- ' 'End If
-
- ' Return False
- 'Else
- ' Return True
- 'End If
- Else
- Return False
- End If
- End Function
- Private Function return_type(ByVal _wert As Object)
- Return _wert.GetType
- End Function
- Public Function GetValuesfromAuswahlliste(ByVal listname As String)
- Try
- 'Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, listname)
- 'Dim vType = oAttribute.getVariableValue("vItems")
- 'Return vType
- Dim oChoiceList = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityChoiceList, listname)
- If Err.Number = 0 And TypeName(oChoiceList) <> "Nothing" Then
- Dim Values = oChoiceList
- Values = oChoiceList.GetVariableValue("vItems")
- Dim anz As Integer = 0
-
- For Each CLItem In Values
- If oChoiceList.aName IsNot Nothing Then
- anz += 1
- End If
- Next
- Dim strListe(anz - 1)
- Dim zahl As Integer = 0
- For Each CLItem In Values
- If oChoiceList.aName IsNot Nothing Then
- strListe(zahl) = CLItem
- zahl += 1
- End If
- Next
- Return strListe
- Else
- MsgBox("Auswahlliste: " & listname & " nicht gefunden!", MsgBoxStyle.Critical, "Fehler:")
- Return Nothing
- End If
-
- Catch ex As Exception
- LOGGER.Error(ex)
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in GetValuesfromAuswahlliste:")
- Return Nothing
- End Try
- End Function
- Public Function Return_Type(Indexname As String)
- Try
- ' das entsprechende Attribut aus windream auslesen
- Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indexname)
- ' den Variablentyp (String, Integer, ...) auslesen
- Dim vType = oAttribute.getVariableValue("dwAttrType")
- Return vType.ToString
- Catch ex As Exception
- LOGGER.Error(ex)
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Return_Type:")
- Return ""
- End Try
- End Function
-
- Public Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object)
- Dim vType
- Try
- If Indizes IsNot Nothing And aValues IsNot Nothing Then
- If Not oDocument.aLocked Then
-
- ' 02.07. Änderung der Lock Methode, um eine Validierung auch zuzulassen, wenn das Recht "Datei ändern"
- ' nicht gesetzt ist
- 'oDocument.lock()
-
- Try
- oDocument.LockFor(WMObjectEditModeIndexEdit)
- Catch ex As Exception
- LOGGER.Error(ex)
- frmValidator.idxerr_message = "Could not lock WMFile - Check Your rights and inform the admin!"
- Return False
- End Try
-
- Dim i As Integer = 0
- Dim indexname As String
- If aValues.Length = 1 And aValues(0) = "" Then
- LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung")
- End If
- 'Jetzt jeden Indexwert durchlaufen
- For Each aName As String In Indizes
- indexname = aName
- ' das entsprechende Attribut aus windream auslesen
- Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
- ' den Variablentyp (String, Integer, ...) auslesen
- vType = oAttribute.getVariableValue("dwAttrType")
- ' wenn in aValues an Position i ein Wert steht
-
- If IsNotEmpty(aValues(i)) Then
- Dim _int As Boolean = False
- Dim _date As Boolean = False
- Dim _dbl As Boolean = False
- Dim _bool As Boolean = False
- 'If indexname = "Tournr" Then
- ' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
- 'End If
- LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
- 'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
- Dim value = aValues(i)
- Dim convertValue
- Dim vektor As Boolean = False
- 'Den Typ des Index-Feldes auslesen
- 'MsgBox(value.GetType.ToString)
- Select Case vType
- 'Case WMObjectVariableValueTypeUndefined
- Case WMObjectVariableValueTypeString
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
- convertValue = CStr(value)
- Case WMObjectVariableValueTypeInteger
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
- If IsNumeric(value) = False Then
- frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
- LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
- oDocument.Save()
- oDocument.unlock()
- Return False
- End If
- convertValue = CInt(value)
- _int = True
- Case WMObjectVariableValueTypeFloat
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
- Try
- convertValue = CDbl(value)
- Catch ex As Exception
- LOGGER.Error(ex)
- frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
- oDocument.Save()
- oDocument.unlock()
- Return False
- End Try
-
- Case WMObjectVariableValueTypeFixedPoint
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
- Try
- convertValue = CDbl(value)
- Catch ex As Exception
- LOGGER.Error(ex)
- frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
- oDocument.Save()
- oDocument.unlock()
- Return False
- End Try
-
- _dbl = True
- Case WMObjectVariableValueTypeBoolean
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
- convertValue = CBool(value)
- _bool = True
- Case WMObjectVariableValueTypeDate
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
- _date = True
- 'Dim _date As Date = value
- convertValue = value
- Case WMObjectVariableValueTypeTimeStamp
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
- convertValue = CInt(value)
- Case WMObjectVariableValueTypeCurrency
- LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
- 'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
- Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
- convertValue = aValueWrapper
- Case WMObjectVariableValueTypeTime
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
- 'If ((value)) Then
- ' convertValue = CDate(value)
- 'Else
- ' convertValue = ""
- 'End If
- 'Dim _date As Date = value
- convertValue = convertValue '*_date.ToShortTimeString
- Case WMObjectVariableValueTypeFloat
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
- convertValue = CStr(value)
- Case WMObjectVariableValueTypeVariant
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
- convertValue = CStr(value)
- Case WMObjectVariableValueTypeFulltext
- LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
- convertValue = CStr(value)
- Case 4100
- LOGGER.Debug("Typ des windream-Indexes: 4100 Vektor Boolean", False)
- vektor = True
- Case 4101
- LOGGER.Debug("Typ des windream-Indexes: 4101 Vektor Date", False)
- vektor = True
- Case 4104
- LOGGER.Debug("Typ des windream-Indexes: 4104 Vektor Currency", False)
- vektor = True
- Case 4097
- LOGGER.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
- vektor = True
- Case 4098
- LOGGER.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch", False)
- vektor = True
- Case 4099
- LOGGER.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
- vektor = True
- Case 36865
- LOGGER.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
- vektor = True
- Case Else
- LOGGER.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!", False)
- LOGGER.Debug("Versuch des Auslesens (vType): " & vType)
- 'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
- convertValue = ""
- End Select
- If vektor = False Then
- If convertValue.ToString Is Nothing = False Then
- LOGGER.Debug("Konvertierter Wert: '" & convertValue.ToString & "'", False)
- End If
- End If
- '############################################################################################
- '####################### Der eigentliche Indexierungsvorgang ################################
- '############################################################################################
- If vektor = False Then
- If convertValue.ToString Is Nothing = False Then
- Try
- LOGGER.Debug("Jetzt indexieren: oDocument.SetVariableValue(" & aName & ", " & convertValue.ToString & ")", False)
- Catch ex As Exception
- LOGGER.Error(ex)
- LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
- End Try
-
- 'Dim ArrValues()
- 'ReDim ArrValues(0)
- 'ArrValues(0) = convertValue
- 'Dim ArrName()
- 'ReDim ArrName(0)
- 'ArrName(0) = "Tournr"
- 'oDocument.SetValues(ArrName, ArrValues)
- If _int = True Then
- oDocument.SetVariableValue(aName, CInt(convertValue))
- ElseIf _date = True Then
- oDocument.SetVariableValue(aName, CDate(convertValue))
- ElseIf _bool Then
- oDocument.SetVariableValue(aName, CBool(convertValue))
- ElseIf _dbl Then
- oDocument.SetVariableValue(aName, CDbl(convertValue))
- Else
- oDocument.SetVariableValue(aName, convertValue)
- End If
- LOGGER.Debug("Index '" & aName & "' wurde geschrieben", False)
- Else
- LOGGER.Info(" >> Kein Indexwert vorhanden", False)
- End If
- Else
- 'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
- LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
- Dim myArray()
- 'Dim anz As Integer = 0
- 'For Each obj In aValues
- 'ReDim Preserve myArray(anz)
- Select Case vType
- Case 4100
- 'Vektortyp Boolean
- 'Umwandeln in Boolean
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- Select Case obj.ToString.ToLower
- Case "falsch"
- obj = False
- Case "wahr"
- obj = True
- Case "nein"
- obj = False
- Case "ja"
- obj = True
- End Select
- myArray(i1) = CBool(obj)
- i1 = i1 + 1
- Next
- Case 4101
- 'Vektortyp Date
- 'Umwandeln in String
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- myArray(i1) = CDate(obj)
- i1 = i1 + 1
- Next
- Case 4104
- 'Vektortyp Currency
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(obj))
- myArray(i1) = aValueWrapper
- i1 = i1 + 1
- Next
- Case 4097
- 'Vektortyp ALPHANUMERISCH
- 'Umwandeln in String
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- myArray(i1) = CStr(obj)
- i1 = i1 + 1
- Next
-
- Case 4098
- 'Umwandeln in Integer
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- myArray(i1) = CInt(obj)
- i1 = i1 + 1
- Next
- Case 4099
- 'Umwandeln in Double
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- Dim Str As String = obj
- myArray(i1) = CDbl(Str.Replace(".", ","))
- i1 = i1 + 1
- Next
-
- Case 36865
- 'Umwandeln in String
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- myArray(i1) = CStr(obj)
- i1 = i1 + 1
- Next
- Case Else
- 'Umwandeln in String
- 'Die Größe des Arrays festlegen
- ReDim myArray(aValues.Length - 1)
- Dim i1 As Integer = 0
- 'Das Array durchlaufen und Werte für den Index in Array schreiben
- For Each obj In aValues
- myArray(i1) = CStr(obj)
- i1 = i1 + 1
- Next
- End Select
-
- 'Jetzt die Nachindexierung für Vektor-Felder
- oDocument.SetVariableValue(aName, myArray)
- LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
- End If
- End If
- i += 1
-
- Next
-
- ' oDocument.LockRights()
-
- 'SetRights(WMObject, User)
- oDocument.Save()
- oDocument.unlock()
- LOGGER.Debug(" ### Indexierung erfolgreich beendet (Save und Unlock durchgeführt) ###", False)
- Return True
- Else
- LOGGER.Info(" ### Dokument ist gesperrt, Indexierung nicht möglich! ###", False)
- frmValidator.idxerr_message = "Dokument " & oDocument.aName & " ist gesperrt, Indexierung nicht möglich"
- Return False
- End If
- End If
- Catch ex As Exception
- LOGGER.Error(ex)
- LOGGER.Info("ClassSearchResult.RunIndexing - " & ex.Message, True)
- frmValidator.idxerr_message = "Unvorhergesehener Fehler in Indexing: " & ex.Message & vbNewLine & "vType: " & vType.ToString
- allgFunk.Insert_LogEntry($"ERROR RunIndexing>> {ex.Message}")
- oDocument.Save()
- oDocument.unlock()
- Return False
- End Try
- End Function
-
- Public Sub SetfinalIndex(ByVal oDocument As WMObject, ByVal Indexname As String, ByVal _state As Boolean)
- Try
- If Indexname IsNot Nothing Then
- If Not oDocument.aLocked Then
- oDocument.LockFor(WMObjectEditModeIndexEdit)
- Dim i As Integer = 0
-
- ' das entsprechende Attribut aus windream auslesen
- Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indexname)
- ' den Variablentyp (String, Integer, ...) auslesen
- Dim vType = oAttribute.getVariableValue("dwAttrType")
- 'MsgBox("Typ: " & vType.ToString, MsgBoxStyle.Critical, "_state: " & _state.ToString)
- ' wenn in aValues an Position i ein Wert steht
- 'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
- Dim value = _state
- Dim convertValue
- 'Den Typ des Index-Feldes auslesen
- LOGGER.Debug(">> Typ des windream-Indexes: " & vType.ToString)
- Select Case (vType)
- Case WMObjectVariableValueTypeBoolean
- convertValue = CBool(value)
- Case Else
- LOGGER.Info(">> Typ des windream-Indexes ist nicht BOOLEAN also Abbruch:")
- End Select
- '############################################################################################
- '####################### Der eigentliche Indexierungsvorgang ################################
-
- oDocument.SetVariableValue(Indexname, convertValue)
- LOGGER.Debug(">> Index '" & Indexname & "' wurde gesetzt")
- oDocument.Save()
- oDocument.unlock()
- LOGGER.Info(">> DATEI wurde erfolgreich als fertig nachindexiert gekennzeichnet")
- Else
- LOGGER.Info(">> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!")
- End If
- End If
-
-
- Catch ex As Exception
- LOGGER.Error(ex)
- LOGGER.Info("ClassSearchResult.SetfinalIndex - " & ex.Message, True)
- 'If My.Settings.vNIMailsenden = True Then
- ' email.Send_EMail("Fehler bei SetfinalIndex - Datei: " & oDocument.aName.ToString & " - Fehler: " & ex.Message)
- 'End If
- oDocument.Save()
- oDocument.unlock()
- End Try
- End Sub
-#End Region
-
-
-#Region "+++++ Allgemeine Funktionen die Informationen zurückliefern +++++"
-
- Public Function Get_No_Documents(Profil As String, WD_Search As String)
- Try
- Dim wmsearch_exists As Boolean
- Try
- wmsearch_exists = System.IO.File.Exists(WD_Search)
- Catch ex As Exception
- LOGGER.Error(ex)
- wmsearch_exists = clsWM.CheckFileExists(WD_Search)
-
- End Try
- If wmsearch_exists = False Then
-
- LOGGER.Info(">> Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden! Die Datei '" & WD_Search & "' existiert nicht!", False)
- MsgBox("Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden!" & vbNewLine & "Die Datei '" & WD_Search & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:")
- 'wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen
- 'If My.Settings.vNIMailsenden = True Then
- ' email.Send_EMail("Fehler bei Nachindexierung:
>> Profil: " & Me.aktivesProfil.Profilname & "
>> die windream-Suche : " & Me.aktivesProfil.WindreamSuche & " konnte nicht gefunden werden!" & _
- ' "
>> Mögliche Fehlerursache: Das W-Laufwerk ist nicht verfügbar!")
- 'End If
- Return 0
- Else
- ' windream-Suche für Profil starten
- Dim windreamSucheErgebnisse As WMObjects = Me.GetSearchDocuments(WD_Search)
-
- If windreamSucheErgebnisse.Count > 0 Then
- ' neue Anzahl von Dateien
- Return windreamSucheErgebnisse.Count
- Else
- ' keine Dateien zum Importieren
- Return 0
- End If
- End If
- Catch ex As Exception
- LOGGER.Error(ex)
- LOGGER.Info(ex.Message)
- Return 0
- End Try
-
- End Function
-
- Public Function GetSearchDocuments(ByVal wdfLocation As String)
-
- If clsWM.CheckFileExists(wdfLocation) = True Then
-
- Try
- Dim ProfileName = wdfLocation.Substring(wdfLocation.LastIndexOf("\") + 1)
- Dim ProfilePath = wdfLocation.Substring(0, wdfLocation.Length - ProfileName.Length)
-
- Me.oController.CheckSearchProfile(wdfLocation.ToLower)
- Dim suchTyp = Me.oController.SearchProfileTargetProgID
- Dim ExSettings As Object
- Dim oSearch As Object
- ExSettings = Me.oController.SearchProfileExSettings
- If ExSettings = 0 Then ExSettings = 7
-
- Dim srchQuick As WMOSRCHLib.WMQuickSearch = CreateObject("WMOSrch.WMQuickSearch")
- Dim srchIndex As WMOSRCHLib.WMIndexSearch = CreateObject("WMOSrch.WMIndexSearch")
- Dim srchObjectType As WMOSRCHLib.WMObjectTypeSearch = CreateObject("WMOSrch.WMObjectTypeSearch")
-
- Select Case suchTyp.ToString.ToUpper
- Case "WMOSRCH.WMQUICKSEARCH"
- srchQuick.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
-
- Me.oConnect.LoginSession(srchQuick.WMSession)
-
- srchQuick.ClearSearch()
- srchQuick.SearchProfilePath = ProfilePath
- srchQuick.LoadSearchProfile(ProfileName)
-
- oSearch = srchQuick.GetSearch()
-
- Case "WMOSRCH.WMINDEXSEARCH"
- srchIndex.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
-
- Me.oConnect.LoginSession(srchIndex.WMSession)
-
- srchIndex.ClearSearch()
- srchIndex.SearchProfilePath = ProfilePath
- srchIndex.LoadSearchProfile(ProfileName)
-
- oSearch = srchIndex.GetSearch()
-
- Case "WMOSRCH.WMOBJECTTYPESEARCH"
- srchObjectType.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
-
- Me.oConnect.LoginSession(srchObjectType.WMSession)
-
- srchObjectType.ClearSearch()
- srchObjectType.SearchProfilePath = ProfilePath
- srchObjectType.LoadSearchProfile(ProfileName)
-
- oSearch = srchObjectType.GetSearch()
-
- Case Else
- LOGGER.Info("KEIN GÜLTIGER WINDREAM-SUCHTYP")
- Return Nothing
- End Select
- Dim WMObjects As Object
- WMObjects = oSearch.Execute
- Return oSearch.execute
-
- Catch ex As Exception
- LOGGER.Error(ex)
- ' bei einem Fehler einen Eintrag in der Logdatei machen
- LOGGER.Info("Fehler in GetSearchDocuments - " & ex.Message, True)
- Return Nothing
- End Try
-
- End If
-
- Return Nothing
-
- End Function
- ''' Liefert den Wert eines Indexes als String
- ''' _indexname = Name des zu überprüfenden Indexfeldes
- Public Function GetValueforIndex(ByVal _fullfilepath As String, _indexname As String)
- Try
- Const WMEntityDocument = 1
- Dim IndexwertAusWindream As Object = Nothing
- Dim _dok As WINDREAMLib.WMObject
- _dok = Nothing
- _dok = oSession.GetWMObjectByPath(WMEntityDocument, _fullfilepath) 'WINDREAMLib.WMEntity.WMEntityDocument
- IndexwertAusWindream = _dok.GetVariableValue(_indexname)
- Return IndexwertAusWindream.ToString
- Catch ex As Exception
- LOGGER.Error(ex)
- 'MsgBox(ex.Message)
- Return Nothing
- End Try
- End Function
-#End Region
-End Class