236 lines
11 KiB
VB.net
236 lines
11 KiB
VB.net
'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
|