lookupcontrol

This commit is contained in:
Digital Data - Marlon Schreiber
2018-12-21 15:23:53 +01:00
parent 21d8ac2ff0
commit e19930b48d

View File

@@ -12,6 +12,7 @@ Imports System.Text.RegularExpressions
Imports System.ComponentModel
Imports DD_LIB_Standards
Imports DigitalData.Controls.LookupGrid
Imports System.Data.SqlClient
Public Class frmValidator
Dim viewerID
@@ -1669,8 +1670,8 @@ Public Class frmValidator
Private Function Return_VektorArray(ByVal oDocument As WMObject, vktIndexName As String, NIIndexe As Object, CheckDuplikat As Boolean, vType As Object)
Dim ValueArray()
Try
Dim missing As Boolean = False
' Try
Dim missing As Boolean = False
Dim Anzahl As Integer = 0
'Jeden Wert des Vektorfeldes durchlaufen
@@ -1760,9 +1761,9 @@ Public Class frmValidator
End If
Return ValueArray
Catch ex As Exception
Return valueArray
End Try
'Catch ex As Exception
' Return ValueArray
'End Try
End Function
@@ -2130,6 +2131,27 @@ Public Class frmValidator
End If
End If
Case "DigitalData.Controls.LookupGrid.LookupControl"
Try
Dim lookup As LookupControl = inctrl
Dim wertWD = aktivesDokument.GetVariableValue(idxname)
If 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
Catch ex As Exception
ClassLogger.Add(" - Unvorhergesehener Unexpected error in AddVorschlag_ComboBox - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unvorhergesehener Unexpected error in Add LookupControl:")
End Try
Case "System.Windows.Forms.DateTimePicker"
controltype = "DateTimePicker"
Dim DTP As DateTimePicker = inctrl
@@ -2239,272 +2261,272 @@ Public Class frmValidator
'Eingaben auf Form überprüfen
If Check_UpdateIndexe() = False Then
'lblerror.Visible = False
'Try
Dim _error As Boolean = False
Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_PROFILE_FINAL_INDEXING, CURRENT_ProfilName)
Dim dtfinal As DataTable = DD_DMSLiteDataSet.TBPM_PROFILE_FINAL_INDEXING
If dtfinal.Rows.Count > 0 Then
'Jetzt finale Indexe setzen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Finale(r) Index(e) für Dok: " & aktivesDokument.aName & " soll gesetzt werden", False)
For Each dr As DataRow In dtfinal.Rows
Dim value As String = dr.Item("VALUE").ToString
If value.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ###
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit dynamischem SQL!", False)
Dim SQL_COMMAND = dr.Item("SQL_COMMAND")
Try
Dim _error As Boolean = False
Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_PROFILE_FINAL_INDEXING, CURRENT_ProfilName)
Dim dtfinal As DataTable = DD_DMSLiteDataSet.TBPM_PROFILE_FINAL_INDEXING
If dtfinal.Rows.Count > 0 Then
'Jetzt finale Indexe setzen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Finale(r) Index(e) für Dok: " & aktivesDokument.aName & " soll gesetzt werden", False)
For Each dr As DataRow In dtfinal.Rows
Dim value As String = dr.Item("VALUE").ToString
If value.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ###
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit dynamischem SQL!", False)
Dim SQL_COMMAND = dr.Item("SQL_COMMAND")
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND before ReplaceAllValues: " & SQL_COMMAND, False)
SQL_COMMAND = clsPatterns.ReplaceAllValues(SQL_COMMAND, pnldesigner, aktivesDokument, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL)
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND after ReplaceAllValues: " & SQL_COMMAND, False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND before ReplaceAllValues: " & SQL_COMMAND, False)
SQL_COMMAND = clsPatterns.ReplaceAllValues(SQL_COMMAND, pnldesigner, aktivesDokument, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL)
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND after ReplaceAllValues: " & SQL_COMMAND, False)
'' Regulären Ausdruck zum Auslesen der Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(SQL_COMMAND)
''####
'' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Try
' If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX: " & element.Value, False)
' Dim WDINDEXNAME = element.Value.Substring(2, element.Value.Length - 3)
' Dim wertWD = aktivesDokument.GetVariableValue(WDINDEXNAME)
' If Not IsNothing(wertWD) Then
' SQL_COMMAND = SQL_COMMAND.ToString.Replace(element.Value, wertWD)
' Else
' ClassLogger.Add(">> Achtung Indexwert ist nothing!", False)
' End If
' Catch ex As Exception
' ClassLogger.Add("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message)
' End Try
'Next
'' Regulären Ausdruck zum Auslesen der Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(SQL_COMMAND)
''####
'' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Try
' If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX: " & element.Value, False)
' Dim WDINDEXNAME = element.Value.Substring(2, element.Value.Length - 3)
' Dim wertWD = aktivesDokument.GetVariableValue(WDINDEXNAME)
' If Not IsNothing(wertWD) Then
' SQL_COMMAND = SQL_COMMAND.ToString.Replace(element.Value, wertWD)
' Else
' ClassLogger.Add(">> Achtung Indexwert ist nothing!", False)
' End If
' Catch ex As Exception
' ClassLogger.Add("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message)
' End Try
'Next
Dim dynamic_value = ClassDatabase.Execute_Scalar(SQL_COMMAND, MyConnectionString, True)
Dim dynamic_value = ClassDatabase.Execute_Scalar(SQL_COMMAND, MyConnectionString, True)
If Not IsNothing(dynamic_value) Then
If LogErrorsOnly = False Then ClassLogger.Add("DYNAMIC VALUE IS: " & dynamic_value.ToString, False)
value = dynamic_value
Else
ClassLogger.Add("ATTENTION: DYNAMIC VALUE IS NOTHING!")
End If
Else
If value.StartsWith("v") Then
Select Case dr.Item("VALUE").ToString
Case "vDate"
value = Now.ToShortDateString
Case "vUserName"
value = Environment.UserName
Case Else
value = dr.Item("VALUE")
End Select
End If
End If
Dim result() As String
ReDim Preserve result(0)
result(0) = value
If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then
Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
'Hier muss nun separat als Vektorfeld indexiert werden
If Indexiere_VektorfeldPM(PM_String, PROFIL_VEKTORINDEX) = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> FINALER INDEX '" & dr.Item("INDEXNAME").ToString.Replace("[%VKT", "") & "' WURDE ERFOLGREICH GESETZT", False)
Else
errormessage = "Fehler beim finalen Indexieren:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
End If
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> Jetzt das indexieren", False)
If Indexiere_File(aktivesDokument, dr.Item("INDEXNAME"), result) = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> FINALER INDEX '" & dr.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT", False)
If LogErrorsOnly = False Then ClassLogger.Add("")
'Nun das Logging
If PROFIL_LOGINDEX <> "" Then
Dim logstr = Return_LOGString(value, "DDFINALINDEX", dr.Item("INDEXNAME"))
Indexiere_VektorfeldPM(logstr, PROFIL_LOGINDEX)
If Not IsNothing(dynamic_value) Then
If LogErrorsOnly = False Then ClassLogger.Add("DYNAMIC VALUE IS: " & dynamic_value.ToString, False)
value = dynamic_value
Else
ClassLogger.Add("ATTENTION: DYNAMIC VALUE IS NOTHING!")
End If
Else
errormessage = "Fehler beim finalen Indexieren:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
If value.StartsWith("v") Then
Select Case dr.Item("VALUE").ToString
Case "vDate"
value = Now.ToShortDateString
Case "vUserName"
value = Environment.UserName
Case Else
value = dr.Item("VALUE")
End Select
End If
End If
End If
If _error = True Then
Exit For
End If
Next
End If
'Wenn kein Fehler nach der finalen Indexierung gesetzt wurde
If _error = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Tabelle updaten und co", False)
'Das Dokument freigeben und als editiert markieren
Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID)
ClassDatabase.Execute_non_Query(sql)
'TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(False, "", Document_ID)
''Das Dokument
'TBPM_PROFILE_FILESTableAdapter.CmdSetEdit(Document_ID)
Dim WORK_HISTORY_ENTRY = Nothing
Dim result() As String
ReDim Preserve result(0)
result(0) = value
Try
WORK_HISTORY_ENTRY = CURRENT_DT_PROFILE.Rows(0).Item("WORK_HISTORY_ENTRY")
If IsDBNull(WORK_HISTORY_ENTRY) Then
If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then
Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
'Hier muss nun separat als Vektorfeld indexiert werden
If Indexiere_VektorfeldPM(PM_String, PROFIL_VEKTORINDEX) = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> FINALER INDEX '" & dr.Item("INDEXNAME").ToString.Replace("[%VKT", "") & "' WURDE ERFOLGREICH GESETZT", False)
Else
errormessage = "Fehler beim finalen Indexieren:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
End If
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> Jetzt das indexieren", False)
If Indexiere_File(aktivesDokument, dr.Item("INDEXNAME"), result) = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> FINALER INDEX '" & dr.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT", False)
If LogErrorsOnly = False Then ClassLogger.Add("")
'Nun das Logging
If PROFIL_LOGINDEX <> "" Then
Dim logstr = Return_LOGString(value, "DDFINALINDEX", dr.Item("INDEXNAME"))
Indexiere_VektorfeldPM(logstr, PROFIL_LOGINDEX)
End If
Else
errormessage = "Fehler beim finalen Indexieren:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
End If
End If
If _error = True Then
Exit For
End If
Next
End If
'Wenn kein Fehler nach der finalen Indexierung gesetzt wurde
If _error = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Tabelle updaten und co", False)
'Das Dokument freigeben und als editiert markieren
Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID)
ClassDatabase.Execute_non_Query(sql)
'TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(False, "", Document_ID)
''Das Dokument
'TBPM_PROFILE_FILESTableAdapter.CmdSetEdit(Document_ID)
Dim WORK_HISTORY_ENTRY = Nothing
Try
WORK_HISTORY_ENTRY = CURRENT_DT_PROFILE.Rows(0).Item("WORK_HISTORY_ENTRY")
If IsDBNull(WORK_HISTORY_ENTRY) Then
WORK_HISTORY_ENTRY = Nothing
End If
Catch ex As Exception
WORK_HISTORY_ENTRY = Nothing
End If
Catch ex As Exception
WORK_HISTORY_ENTRY = Nothing
End Try
End Try
If Not IsNothing(WORK_HISTORY_ENTRY) Then
If WORK_HISTORY_ENTRY <> String.Empty Then
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(WORK_HISTORY_ENTRY)
'####
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX WORK_HISTORY_ENTRY: " & element.Value, False)
Dim CTRL_ID = element.Value.Substring(2, element.Value.Length - 3)
CTRL_ID = CTRL_ID.Replace("CTRLID", "")
Dim value_from_control
For Each inctrl As Control In Me.pnldesigner.Controls
If IsNothing(inctrl.Tag) Then
Continue For
End If
If inctrl.Tag = CTRL_ID Then
'######
Dim Type As String = inctrl.GetType.ToString
Select Case Type
Case "System.Windows.Forms.TextBox"
Try
value_from_control = inctrl.Text
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.ComboBox"
Dim cmb As ComboBox = inctrl
Try
value_from_control = cmb.Text
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.DateTimePicker"
Dim dtp As DateTimePicker = inctrl
Try
value_from_control = dtp.Value.ToString
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.CheckBox"
Dim chk As CheckBox = inctrl
Try
value_from_control = chk.Checked
Catch ex As Exception
value_from_control = String.Empty
End Try
End Select
End If
Next
If Not IsNothing(value_from_control) And value_from_control <> String.Empty Then
WORK_HISTORY_ENTRY = WORK_HISTORY_ENTRY.ToString.Replace(element.Value, value_from_control)
End If
Catch ex As Exception
ClassLogger.Add("Unexpected Error in Checking control values for WORK_HISTORY_ENTRY - ERROR: " & ex.Message)
End Try
Next
If WORK_HISTORY_ENTRY.ToString.Contains("@DATE") Then
WORK_HISTORY_ENTRY.ToString.Replace("@DATE", Now.ToShortDateString)
End If
If WORK_HISTORY_ENTRY.ToString.Contains("@USERNAME") Then
WORK_HISTORY_ENTRY.ToString.Replace("@USERNAME", Environment.UserName)
End If
Else
WORK_HISTORY_ENTRY = ""
End If
End If
Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, Environment.UserName, Environment.MachineName, WORK_HISTORY_ENTRY)
ClassDatabase.Execute_non_Query(ins)
Close_document_viewer()
If Document_Path.ToLower.EndsWith(".pdf") Then
If Not IsNothing(WORK_HISTORY_ENTRY) Then
If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(sql, True)
If Not IsNothing(DT_ENTRY) Then
If DT_ENTRY.Rows.Count = 1 Then
Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
ClassAnnotation.Annotate_PDF("Workflow-State:", AnnotationString, 0)
End If
End If
End If
Dim value = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
If CBool(value) = True Then
sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(sql, True)
If Not IsNothing(DT_ENTRIES) Then
If DT_ENTRIES.Rows.Count > 0 Then
Dim AnnotationString As String = ""
For Each rw As DataRow In DT_ENTRIES.Rows
AnnotationString = AnnotationString & rw.Item("WORKED_WHEN") & " " & rw.Item("WORKED_BY") & ": " & rw.Item("STATUS_COMMENT") & vbNewLine
If WORK_HISTORY_ENTRY <> String.Empty Then
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(WORK_HISTORY_ENTRY)
'####
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
Try
If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX WORK_HISTORY_ENTRY: " & element.Value, False)
Dim CTRL_ID = element.Value.Substring(2, element.Value.Length - 3)
CTRL_ID = CTRL_ID.Replace("CTRLID", "")
Dim value_from_control
For Each inctrl As Control In Me.pnldesigner.Controls
If IsNothing(inctrl.Tag) Then
Continue For
End If
If inctrl.Tag = CTRL_ID Then
'######
Dim Type As String = inctrl.GetType.ToString
Select Case Type
Case "System.Windows.Forms.TextBox"
Try
value_from_control = inctrl.Text
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.ComboBox"
Dim cmb As ComboBox = inctrl
Try
value_from_control = cmb.Text
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.DateTimePicker"
Dim dtp As DateTimePicker = inctrl
Try
value_from_control = dtp.Value.ToString
Catch ex As Exception
value_from_control = String.Empty
End Try
Case "System.Windows.Forms.CheckBox"
Dim chk As CheckBox = inctrl
Try
value_from_control = chk.Checked
Catch ex As Exception
value_from_control = String.Empty
End Try
End Select
End If
Next
ClassAnnotation.Annotate_PDF("Workflow History:", AnnotationString, 0, 10, 40)
If Not IsNothing(value_from_control) And value_from_control <> String.Empty Then
WORK_HISTORY_ENTRY = WORK_HISTORY_ENTRY.ToString.Replace(element.Value, value_from_control)
End If
Catch ex As Exception
ClassLogger.Add("Unexpected Error in Checking control values for WORK_HISTORY_ENTRY - ERROR: " & ex.Message)
End Try
Next
If WORK_HISTORY_ENTRY.ToString.Contains("@DATE") Then
WORK_HISTORY_ENTRY.ToString.Replace("@DATE", Now.ToShortDateString)
End If
If WORK_HISTORY_ENTRY.ToString.Contains("@USERNAME") Then
WORK_HISTORY_ENTRY.ToString.Replace("@USERNAME", Environment.UserName)
End If
Else
WORK_HISTORY_ENTRY = ""
End If
End If
Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, Environment.UserName, Environment.MachineName, WORK_HISTORY_ENTRY)
ClassDatabase.Execute_non_Query(ins)
Close_document_viewer()
If Document_Path.ToLower.EndsWith(".pdf") Then
If Not IsNothing(WORK_HISTORY_ENTRY) Then
If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(sql, True)
If Not IsNothing(DT_ENTRY) Then
If DT_ENTRY.Rows.Count = 1 Then
Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
ClassAnnotation.Annotate_PDF("Workflow-State:", AnnotationString, 0)
End If
End If
End If
Dim value = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
If CBool(value) = True Then
sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(sql, True)
If Not IsNothing(DT_ENTRIES) Then
If DT_ENTRIES.Rows.Count > 0 Then
Dim AnnotationString As String = ""
For Each rw As DataRow In DT_ENTRIES.Rows
AnnotationString = AnnotationString & rw.Item("WORKED_WHEN") & " " & rw.Item("WORKED_BY") & ": " & rw.Item("STATUS_COMMENT") & vbNewLine
Next
ClassAnnotation.Annotate_PDF("Workflow History:", AnnotationString, 0, 10, 40)
End If
End If
End If
End If
End If
End If
'wenn Move2Folder aktiviert wurde
If Move2Folder <> "" Then
idxerr_message = allgFunk.Move2Folder(Document_Path, Move2Folder, CURRENT_ProfilGUID, _windream)
If idxerr_message <> "" Then
errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
'wenn Move2Folder aktiviert wurde
If Move2Folder <> "" Then
idxerr_message = allgFunk.Move2Folder(Document_Path, Move2Folder, CURRENT_ProfilGUID, _windream)
If idxerr_message <> "" Then
errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message
My.Settings.Save()
frmError.ShowDialog()
_error = True
End If
End If
'Validierungsfile löschen wenn vorhanden
allgFunk.Delete_xffres(Document_Path, _windream)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Delete_xffres ausgeführt", False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> All Input clear", False)
Anzahl_validierte_Dok += 1
'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl hochgesetzt", False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Validierung erfolgreich abgeschlossen", False)
ClassLogger.Add("", False)
If CURRENT_JUMP_DOC_GUID <> 0 Then
Me.Close()
Else
'Das nächste Dokument laden
Load_Next_Document(False)
set_foreground()
If first_control Is Nothing = False Then first_control.Focus()
End If
End If
'Validierungsfile löschen wenn vorhanden
allgFunk.Delete_xffres(Document_Path, _windream)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Delete_xffres ausgeführt", False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> All Input clear", False)
Anzahl_validierte_Dok += 1
'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl hochgesetzt", False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Validierung erfolgreich abgeschlossen", False)
ClassLogger.Add("", False)
If CURRENT_JUMP_DOC_GUID <> 0 Then
Me.Close()
Else
'Das nächste Dokument laden
Load_Next_Document(False)
set_foreground()
If first_control Is Nothing = False Then first_control.Focus()
End If
End If
'Catch ex As Exception
' errormessage = "Unvorhergesehener Fehler bei Abschluss:" & ex.Message
' My.Settings.Save()
' frmError.ShowDialog()
' ClassLogger.Add(">> Unvorhergesehener Fehler bei Abschluss: " & ex.Message, True)
'End Try
Catch ex As Exception
errormessage = "Unvorhergesehener Fehler bei Abschluss:" & ex.Message
My.Settings.Save()
frmError.ShowDialog()
ClassLogger.Add(">> Unvorhergesehener Fehler bei Abschluss: " & ex.Message, True)
End Try
Else
'lblerror.Visible = True
'lblerror.Text = errmessage