This commit is contained in:
Jonathan Jenne 2019-02-12 17:53:51 +01:00
parent b01b2f0014
commit 01acaa5e48

View File

@ -1222,15 +1222,42 @@ Public Class frmValidator
viewerID = Proc.Id
End If
End Sub
Function ReplaceWindreamDriveLetter(Filepath As String) As String
Return Filepath.
Replace("W:", "\\windream\objects").
Replace("K:", "\\windream\objects")
End Function
Function Next_GUID(Filepath As String, ProfilId As Integer, OrderByNewest As Boolean) As Integer
Dim oFilePath = ReplaceWindreamDriveLetter(Filepath).ToUpper()
Dim oSQL = $"
SELECT GUID FROM TBPM_PROFILE_FILES WHERE
PROFIL_ID = {CURRENT_ProfilGUID} AND EDIT = 0 AND IN_WORK = 0 AND
UPPER(REPLACE(FILE_PATH, 'W:','\\windream\objects')) <> '{oFilePath}' AND
UPPER(REPLACE(FILE_PATH, 'W:','\\windream\objects')) NOT IN (
SELECT UPPER(FILE_PATH)
FROM TBPM_FILES_USER_NOT_INDEXED
WHERE (PROFIL_ID = {ProfilId}) AND (UPPER(USR_NAME) = UPPER('{Environment.UserName}'))
)
{IIf(OrderByNewest, " ORDER BY DMS_ERSTELLT_DATE DESC", "")}
"
Return ClassDatabase.Execute_Scalar(oSQL, MyConnectionString, True)
End Function
Function Get_Next_GUID() As Integer
Try
Dim newGUID As Integer
If LogErrorsOnly = False Then ClassLogger.Add(" >> Old Document_Path: " & OLD_Document_Path, False)
If PROFIL_sortbynewest = True Then
newGUID = TBPM_PROFILE_FILESTableAdapter.cmdgetNextFile_GUID_Newest(CURRENT_ProfilGUID, OLD_Document_Path, Environment.UserName)
Else
newGUID = TBPM_PROFILE_FILESTableAdapter.cmdGetNextFile_GUID(CURRENT_ProfilGUID, OLD_Document_Path, Environment.UserName)
End If
'If PROFIL_sortbynewest = True Then
' newGUID = TBPM_PROFILE_FILESTableAdapter.cmdgetNextFile_GUID_Newest(CURRENT_ProfilGUID, OLD_Document_Path, Environment.UserName)
'Else
' newGUID = TBPM_PROFILE_FILESTableAdapter.cmdGetNextFile_GUID(CURRENT_ProfilGUID, OLD_Document_Path, Environment.UserName)
'End If
newGUID = Next_GUID(OLD_Document_Path, CURRENT_ProfilGUID, PROFIL_sortbynewest)
Document_Path = ""
CURRENT_DOC_PATH = ""
If newGUID > 0 Then
@ -1690,95 +1717,95 @@ Public Class frmValidator
' Try
Dim missing As Boolean = False
Dim Anzahl As Integer = 0
Dim Anzahl As Integer = 0
'Jeden Wert des Vektorfeldes durchlaufen
Dim wertWD = oDocument.GetVariableValue(vktIndexName)
If wertWD Is Nothing = False Then
'Nochmals prüfen ob wirklich Array
If wertWD.GetType.ToString.Contains("System.Object") Then
'Keine Duplikatprüfung also einfach neues Array füllen
If CheckDuplikat = False Then
For Each value As Object In wertWD
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, value)
Anzahl += 1
Next
'Und jetzt den/die Neuen Wert(e) anfügen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
End If
Next
Else
'Duplikat Prüfung an, also nur anhängen wenn Wert <>
For Each WDValue As Object In wertWD
If WDValue Is Nothing = False Then
'Erst einmal die ALten Werte schreiben
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, WDValue)
Anzahl += 1
End If
Next
'Jetzt die Neuen Werte auf Duplikate überprüfen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
If ValueArray.Contains(NewValue) = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
Else
End If
End If
Next
End If
End If
Else
'Den/die Neuen Wert(e) anfügen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
If CheckDuplikat = True Then
If ValueArray Is Nothing = False Then
If ValueArray.Contains(NewValue) = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
Else
End If
Else 'Dererste Wert, also hinzufügen
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
End If
Else
'Jeden Wert des Vektorfeldes durchlaufen
Dim wertWD = oDocument.GetVariableValue(vktIndexName)
If wertWD Is Nothing = False Then
'Nochmals prüfen ob wirklich Array
If wertWD.GetType.ToString.Contains("System.Object") Then
'Keine Duplikatprüfung also einfach neues Array füllen
If CheckDuplikat = False Then
For Each value As Object In wertWD
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, value)
Anzahl += 1
Next
'Und jetzt den/die Neuen Wert(e) anfügen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
End If
End If
Next
End If
Return ValueArray
End If
Next
Else
'Duplikat Prüfung an, also nur anhängen wenn Wert <>
For Each WDValue As Object In wertWD
If WDValue Is Nothing = False Then
'Erst einmal die ALten Werte schreiben
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, WDValue)
Anzahl += 1
End If
Next
'Jetzt die Neuen Werte auf Duplikate überprüfen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
If ValueArray.Contains(NewValue) = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
Else
End If
End If
Next
End If
End If
Else
'Den/die Neuen Wert(e) anfügen
For Each NewValue As Object In NIIndexe
If NewValue Is Nothing = False Then
If CheckDuplikat = True Then
If ValueArray Is Nothing = False Then
If ValueArray.Contains(NewValue) = False Then
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
Else
End If
Else 'Dererste Wert, also hinzufügen
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
End If
Else
'Das Array anpassen
ReDim Preserve ValueArray(Anzahl)
'Den Wert im Array speichern
ValueArray(Anzahl) = ConvertVectorType(vType, NewValue)
Anzahl += 1
End If
End If
Next
End If
Return ValueArray
'Catch ex As Exception
' Return ValueArray
'End Try
@ -2166,16 +2193,16 @@ Public Class frmValidator
Try
Dim lookup As LookupControl = oControl
Dim wertWD = aktivesDokument.GetVariableValue(oWMIndexName)
If wertWD.GetType.ToString.Contains("System.Object") Then
If IsNothing(wertWD) Then
lookup.SelectedValues = New List(Of String)
ElseIf wertWD.GetType.ToString.Contains("System.Object") Then
Dim oArrlist As New List(Of String)
For Each oVectorRow As Object In wertWD
oArrlist.Add(oVectorRow.ToString)
Next
lookup.SelectedValues = oArrlist
Else
End If
_CURRENT_INDEX_ARRAY(oCount, 1) = wertWD.ToString
Catch ex As Exception