'Imports DD_LIB_Standards Public Class ClassFileResult Public Shared Property DocID As Integer Public Shared Property ParentID As Integer Public Shared Property FileName As String 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 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 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 Dim oDelete = CBool(DELETE_FILE) If oDelete = False Then DELETE_FILE = 0 Else 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