'Imports DD_LIB_Standards Public Class ClassFileResult Public Shared Property DocID As Integer Public Shared Property OldDisplayName As String Public Shared Property DocumentPath As String Public Shared InWork As Boolean = False Public Shared Function Set_InWork(state As Integer, comment As String) Try Dim upd As String InWork = False If comment = "" Then upd = String.Format("UPDATE TBPMO_DOCRESULT_LIST SET Change_DateTime = GETDATE(), IN_WORK_USER = NULL, IN_WORK = {0} WHERE DocID = {1}", state, DocID) Else upd = String.Format("UPDATE TBPMO_DOCRESULT_LIST SET Change_DateTime = GETDATE(), IN_WORK = {0}, IN_WORK_USER = '{1}', IN_WORK_COMMENT = '{2}' WHERE DocID = {3}", state, USER_USERNAME, comment, DocID) End If If MYDB_ECM.ExecuteNonQuery(upd) = True Then 'If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then ' MYDB_ECM.ExecuteNonQuery(upd) 'End If InWork = True Return True Else Return False End If Catch ex As Exception LOGGER.Warn("Unexpected Error in Set_InWork: " & ex.Message) Return False End Try End Function Public Shared Function Set_Displayname(Displayname As String) Try Dim upd As String upd = String.Format("UPDATE TBPMO_DOCRESULT_LIST SET DISPLAY_NAME = '{0}',CHANGED_WHO = '{2}',Change_DateTime = GETDATE() WHERE DocID = {1}", Displayname, DocID, USER_USERNAME) If MYDB_ECM.ExecuteNonQuery(upd) = True Then 'If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then ' MYDB_ECM.ExecuteNonQuery(upd) 'End If Return True Else Return False End If Catch ex As Exception LOGGER.Warn("Unexpected Error in Set_Displayname: " & ex.Message) Return False End Try End Function Public Shared Function GET_DATATABLE_INDICES_PMO() Try Dim sql = String.Format("SELECT * FROM TBPMO_INDEX_MAN WHERE ACTIVE = 1 AND ENTITY_ID = (SELECT CASE REDUNDANT_ENTITY WHEN 0 THEN GUID ELSE REDUNDANT_ENTITY END AS ENTITY_ID FROM TBPMO_FORM WHERE GUID = {0}) AND DOCTYPE_ID = {1}", CURRENT_ENTITY_ID, CURRENT_DOKARTID) Dim DT As DataTable = MYDB_ECM.GetDatatable(sql) LOGGER.Debug("GET_DATATABLE_INDICES_PMO: " & sql) CURRENT_TBPMO_INDEX_MAN = DT Return True Catch ex As Exception LOGGER.Warn("Unexpected Error in GET_DATATABLE_INDICES_PMO: " & ex.Message) Return False End Try End Function Public Shared Function SET_DOCID_INDICES() Try Dim DT As DataTable = CURRENT_TBPMO_INDEX_MAN If DT.Rows.Count > 0 Then For Each row As DataRow In DT.Rows If row.Item("MAN_VALUE") <> String.Empty Then Dim MAN_INDEX_ID = row.Item("GUID") Dim insert As String = String.Format("INSERT INTO TBPMO_DOC_INDICES (DocID,INDEX_ID,VALUE,ADDED_WHO) VALUES ({0},{1},'{2}','{3}')", DocID, MAN_INDEX_ID, row.Item("MAN_VALUE"), USER_USERNAME) MYDB_ECM.ExecuteNonQuery(insert) End If Next End If Return True Catch ex As Exception LOGGER.Warn("Unexpected Error in SET_DOCID_INDICES: " & ex.Message) Return False End Try End Function Public Shared Function Delete_Doc_Indices() Try Dim delete As String = String.Format("DELETE FROM TBPMO_DOC_INDICES WHERE DocID = {0}", DocID) Return MYDB_ECM.ExecuteNonQuery(delete) Catch ex As Exception LOGGER.Warn("Unexpected Error in Update_Doc_Indices: " & ex.Message) Return False End Try End Function Public Shared Function Delete_ResultFile(RESULT_DOC_ID, RECORD_ID, DELETE_FILE) Try If DELETE_FILE = "True" Then DELETE_FILE = 1 End If Dim proc = String.Format("EXEC PRPMO_DELETE_RESULTFILE {0},{1},{2}", RESULT_DOC_ID, RECORD_ID, DELETE_FILE) If MYDB_ECM.ExecuteNonQuery(proc) = True Then 'If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then ' proc = String.Format("EXEC PRPROXY_DOC_CHECK_DELETE {0}", RESULT_DOC_ID) ' MYDB_ECM.ExecuteNonQuery(proc) 'End If Return True Else Return False End If Catch ex As Exception LOGGER.Warn(String.Format("Unexpected Error in Delete_ResultFile: ({0},{1},{2})", RESULT_DOC_ID, RECORD_ID, DELETE_FILE) & ex.Message) MsgBox("Unexpected Error in Delete ResultFile:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) Return False End Try End Function Public Shared Function CheckWrite_IndexeMan(grbxControls As GroupBox) '#### Zuerst manuelle Werte indexieren #### Try LOGGER.Debug(" >>In CheckWrite_IndexeMan") Dim result As Boolean = False For Each ctrl As Control In grbxControls.Controls ' ' MsgBox(ctrl.Name) If ctrl.Name.StartsWith("txt") Then Dim box As TextBox = ctrl If box.Text = "" Then Dim optional_index = ClassMoreMetadata.Return_CURRENT_TBPMO_INDEX_MAN_VALUE(box.Tag, "OPTIONAL") If Not IsNothing(optional_index) Then If CBool(optional_index) = False Then MsgBox("Please insert a value!", MsgBoxStyle.Exclamation, "Missing input:") box.Focus() Return False Else SET_CURRENT_TBPMO_INDEX_MAN_VALUE(box.Tag, "") 'Indexwert_Postprocessing(Replace(box.Name, "txt", ""), "") result = True End If Else Return False End If Else 'If Indexwert_checkValueDB(Replace(box.Name, "txt", ""), box.Text) = False Then ' Logger.Warn(" - Der eingegebene Wert wurde nicht in der Datenbank gefunden") ' MsgBox("Der eingegebene Wert wurde nicht in der Datenbank gefunden!", MsgBoxStyle.Exclamation, "Fehlerhafte Indexierung:") ' box.Focus() ' Return False 'Else ' 'Indexwert_Postprocessing(Replace(box.Name, "txt", ""), box.Text) SET_CURRENT_TBPMO_INDEX_MAN_VALUE(box.Tag, box.Text) result = True 'End If End If End If If ctrl.Name.StartsWith("btn") Then Dim btn As Button = ctrl Dim optional_index = ClassMoreMetadata.Return_CURRENT_TBPMO_INDEX_MAN_VALUE(btn.Tag, "OPTIONAL") If Not IsNothing(optional_index) Then If CBool(optional_index) = False Then For Each row As DataRow In CURRENT_TBPMO_INDEX_MAN.Rows If row.Item("GUID") = btn.Tag Then If Not IsDBNull(row.Item("MAN_VALUE")) Then LOGGER.Debug("we got a value for folder...") result = True Else LOGGER.Debug("value for folder is missing...") MsgBox("Please choose a folder!", MsgBoxStyle.Exclamation, "Missing input:") Return False End If End If Next Else LOGGER.Debug("value for folder is OPTIONAL...") SET_CURRENT_TBPMO_INDEX_MAN_VALUE(btn.Tag, "") result = True End If End If End If If ctrl.Name.StartsWith("cmb") Then Dim cmb As ComboBox = ctrl If cmb.Text = "" Then Dim optional_index = ClassMoreMetadata.Return_CURRENT_TBPMO_INDEX_MAN_VALUE(cmb.Tag, "OPTIONAL") If Not IsNothing(optional_index) Then If CBool(optional_index) = False Then MsgBox("Please choose a value!", MsgBoxStyle.Exclamation, "Missing input:") cmb.Focus() Return False Else SET_CURRENT_TBPMO_INDEX_MAN_VALUE(cmb.Tag, "") 'Indexwert_Postprocessing(Replace(box.Name, "txt", ""), "") result = True End If End If Else SET_CURRENT_TBPMO_INDEX_MAN_VALUE(cmb.Tag, cmb.Text) ' Indexwert_Postprocessing(Replace(cmb.Name, "cmb", ""), cmb.Text) result = True End If End If If ctrl.Name.StartsWith("dtp") Then Dim dtp As DateTimePicker = ctrl SET_CURRENT_TBPMO_INDEX_MAN_VALUE(dtp.Tag, dtp.Value) 'Indexwert_Postprocessing(Replace(dtp.Name, "dtp", ""), dtp.Text) result = True End If If ctrl.Name.StartsWith("chk") Then Dim chk As CheckBox = ctrl SET_CURRENT_TBPMO_INDEX_MAN_VALUE(chk.Tag, chk.Checked) 'Indexwert_Postprocessing(Replace(chk.Name, "chk", ""), chk.Checked) result = True End If If ctrl.Name.StartsWith("lbl") = False And result = False Then LOGGER.Warn("Die Überprüfung der manuellen Indices ist fehlerhaft. Bitte informieren Sie den Systembetreuer", True) Return False End If Next Return True Catch ex As Exception LOGGER.Warn(" - Unvorhergesehener Fehler in CheckWrite_IndexeMan - Fehler: " & vbNewLine & ex.Message) MsgBox(ex.Message, MsgBoxStyle.Critical, "Unerwarteter Unexpected error in CheckWrite_IndexeMan:") Return False End Try End Function Public Shared Function SET_CURRENT_TBPMO_INDEX_MAN_VALUE(CONTROL_GUID As Integer, VALUE As String) Try For Each row As DataRow In CURRENT_TBPMO_INDEX_MAN.Rows If row.Item("GUID") = CONTROL_GUID Then row.Item("MAN_VALUE") = VALUE Return True End If Next Catch ex As Exception LOGGER.Warn(" - Unvorhergesehener Fehler in SET_CURRENT_TBPMO_INDEX_MAN_VALUE - Fehler: " & vbNewLine & ex.Message) Return Nothing End Try End Function End Class