3.7.2 Optimierungen und Button Knoten hinzufügen

This commit is contained in:
Developer01
2026-03-16 09:49:12 +01:00
parent 570d1161f8
commit 3a44abf77b
26 changed files with 1051 additions and 4761 deletions

View File

@@ -1,67 +1,67 @@
Public Class ClassConstructors
Public Shared ConstructorsTuple_TreeView As Object
Public Shared Function Init_Tuple()
Public Class ClassConstructorsf
'Public Shared ConstructorsTuple_TreeView As Object
'Public Shared Function Init_Tuple()
Dim ConstructTreeViewTuple = New Dictionary(Of Tuple(Of TreeView), Integer)()
Dim sql = String.Format("Select DISTINCT T.GUID, T2.ENTITY_ID FROM TBPMO_FORM_CONSTRUCTOR T, TBPMO_FORM_CONSTRUCTOR_DETAIL T1, " &
"TBPMO_STRUCTURE_NODES_CONFIGURATION T2 WHERE T.GUID = T1.CONSTRUCT_ID And T1.FORM_ID = T2.ENTITY_ID " &
"And T.GUID In (Select CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0})", USER_GUID)
Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
For Each rowconstruct As DataRow In DT.Rows
Try
Dim sqlnodes = String.Format("select * from VWPMO_STRUCTURE_NODES where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", rowconstruct.Item(0))
Dim DTNODES As DataTable = MYDB_ECM.GetDatatable(sqlnodes)
' Dim ConstructTreeViewTuple = New Dictionary(Of Tuple(Of TreeView), Integer)()
' Dim sql = String.Format("Select DISTINCT T.GUID, T2.ENTITY_ID FROM TBPMO_FORM_CONSTRUCTOR T, TBPMO_FORM_CONSTRUCTOR_DETAIL T1, " &
' "TBPMO_STRUCTURE_NODES_CONFIGURATION T2 WHERE T.GUID = T1.CONSTRUCT_ID And T1.FORM_ID = T2.ENTITY_ID " &
' "And T.GUID In (Select CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0})", USER_GUID)
' Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
' For Each rowconstruct As DataRow In DT.Rows
' Try
' Dim sqlnodes = String.Format("select * from VWPMO_STRUCTURE_NODES where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", rowconstruct.Item(0))
' Dim DTNODES As DataTable = MYDB_ECM.GetDatatable(sqlnodes)
Dim sqlimage = String.Format("select * from TBPMO_STRUCTURE_NODES_CONFIGURATION where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", rowconstruct.Item(0))
Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(sql)
Dim TREEVIEW_IMAGELIST = New ImageList
' Dim sqlimage = String.Format("select * from TBPMO_STRUCTURE_NODES_CONFIGURATION where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", rowconstruct.Item(0))
' Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(sql)
' Dim TREEVIEW_IMAGELIST = New ImageList
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
Try
Dim bimage = row.Item("NODE_IMAGE")
If Not IsDBNull(bimage) Then
Dim Node_image = ByteArrayToBitmap(bimage)
TREEVIEW_IMAGELIST.Images.Add(row.Item("GUID").ToString, Node_image) 'row.Item("GUID").ToString & "#" & row.Item("ENTITY_ID")
End If
Catch ex As Exception
' For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
' Try
' Dim bimage = row.Item("NODE_IMAGE")
' If Not IsDBNull(bimage) Then
' Dim Node_image = ByteArrayToBitmap(bimage)
' TREEVIEW_IMAGELIST.Images.Add(row.Item("GUID").ToString, Node_image) 'row.Item("GUID").ToString & "#" & row.Item("ENTITY_ID")
' End If
' Catch ex As Exception
End Try
' End Try
Next
' Next
'Dim async As New ClassAsyncNodeBuild(DTNODES, TREEVIEW_IMAGELIST)
'async.bw.RunWorkerAsync()
'While async.bw.IsBusy
' Application.DoEvents()
'End While
Dim MyTreeview As TreeView = ClassNodeNavigation.CreateTreeViewNodes(DTNODES, TREEVIEW_IMAGELIST)
ConstructTreeViewTuple.Add(Tuple.Create(MyTreeview), rowconstruct.Item(0))
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Adding TreeView to Dictionary: ")
End Try
' 'Dim async As New ClassAsyncNodeBuild(DTNODES, TREEVIEW_IMAGELIST)
' 'async.bw.RunWorkerAsync()
' 'While async.bw.IsBusy
' ' Application.DoEvents()
' 'End While
' Dim MyTreeview As TreeView = ClassNodeNavigation.CreateTreeViewNodes(DTNODES, TREEVIEW_IMAGELIST, DT_CON)
' ConstructTreeViewTuple.Add(Tuple.Create(MyTreeview), rowconstruct.Item(0))
' Catch ex As Exception
' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Adding TreeView to Dictionary: ")
' End Try
Next
' Next
ConstructorsTuple_TreeView = ConstructTreeViewTuple
' ConstructorsTuple_TreeView = ConstructTreeViewTuple
End Function
'End Function
Public Shared Function Check_TreeViewLoaded(CONSTRUCTID As Integer)
Try
For Each constrid As Integer In ConstructorsTuple_TreeView.keys
If constrid = CONSTRUCTID Then
Return True
End If
Next
Return False
Catch ex As Exception
LOGGER.Warn("Error in Check_TreeViewLoaded: " & ex.Message)
Return False
End Try
End Function
'Public Shared Function Check_TreeViewLoaded(CONSTRUCTID As Integer)
' Try
' For Each constrid As Integer In ConstructorsTuple_TreeView.keys
' If constrid = CONSTRUCTID Then
' Return True
' End If
' Next
' Return False
' Catch ex As Exception
' LOGGER.Warn("Error in Check_TreeViewLoaded: " & ex.Message)
' Return False
' End Try
'End Function
End Class

View File

@@ -52,24 +52,24 @@ Public Class ClassDOC_SEARCH
Dim SQL_DOC_SEARCH
If CURRENT_SEARCH_TYPE = "ENTITY" Then
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbNewLine &
"'NO OPTION IN ENTITY-SEARCH' AS OPTION1," & vbNewLine &
"'NO OPTION IN ENTITY-SEARCH' AS OPTION2," & vbNewLine &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX1," & vbNewLine &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX2," & vbNewLine &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX3," & vbNewLine &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX4," & vbNewLine &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN1," & vbNewLine &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN2," & vbNewLine &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN3," & vbNewLine &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN4" & vbNewLine &
"FROM " & vbNewLine &
"VWPMO_DOC_SEARCH T" & vbNewLine &
"WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0}) " & vbNewLine &
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbCrLf &
"'NO OPTION IN ENTITY-SEARCH' AS OPTION1," & vbCrLf &
"'NO OPTION IN ENTITY-SEARCH' AS OPTION2," & vbCrLf &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX1," & vbCrLf &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX2," & vbCrLf &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX3," & vbCrLf &
"'NO INDEX IN ENTITY-SEARCH' AS DOCIDX4," & vbCrLf &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN1," & vbCrLf &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN2," & vbCrLf &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN3," & vbCrLf &
"'NO DROPDOWN IN ENTITY-SEARCH' AS DROPDOWN4" & vbCrLf &
"FROM " & vbCrLf &
"VWPMO_DOC_SEARCH T" & vbCrLf &
"WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0}) " & vbCrLf &
"AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {2} AND dwObjectID = T.DocID)", ENTITY_ID, USER_LANGUAGE, USERID_FK_INT_ECM, OPTION1, OPTION2)
If CURRENT_ENTITYSQL_WHERE <> "" Then
Dim where = CURRENT_ENTITYSQL_WHERE.Replace("WHERE [RECORD-ID] IN ", "")
SQL_DOC_SEARCH = SQL_DOC_SEARCH & " " & vbNewLine & String.Format("AND T.DocID IN (SELECT DISTINCT DOC_ID from TBPMO_DOC_RECORD_LINK WHERE RECORD_ID IN ({0}))", where)
SQL_DOC_SEARCH = SQL_DOC_SEARCH & " " & vbCrLf & String.Format("AND T.DocID IN (SELECT DISTINCT DOC_ID from TBPMO_DOC_RECORD_LINK WHERE RECORD_ID IN ({0}))", where)
End If
If BG = True Then
If IsNothing(CURRENT_DT_DOC_ENTITY_SEARCH) Then
@@ -106,120 +106,120 @@ Public Class ClassDOC_SEARCH
SQL_DOC_SEARCH = SQL_DOC_SEARCH.ToString.Replace("@RECORD_ID", RECORD_ID)
SQL_DOC_SEARCH = SQL_DOC_SEARCH.ToString.Replace("@USERID_FK_INT_ECM", USERID_FK_INT_ECM)
' SQL_DOC_SEARCH = $"SELECT T.* ," & vbNewLine &
' $"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine &
' $"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine &
' $"ISNULL(T3.VALUE,'') AS OPTION3," & vbNewLine &
' $"ISNULL(T4.VALUE,'') AS OPTION4," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{7}',TRL.RECORD_ID) AS DROPDOWN1," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{7}',TRL.RECORD_ID) AS DROPDOWN2," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{7}',TRL.RECORD_ID) AS DROPDOWN3," & vbNewLine &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{7}',TRL.RECORD_ID) AS DROPDOWN4," & vbNewLine &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID),'') AS VALUE1," & vbNewLine &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID),'') AS VALUE2," & vbNewLine &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID),'') AS VALUE3," & vbNewLine &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID),'') AS VALUE4," & vbNewLine &
'$"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC4.GUID),'') AS VALUE5," & vbNewLine &
'$"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC5.GUID),'') AS VALUE6," & vbNewLine &
'$"dwAccessRight AS ACCESS_RIGHT" & vbNewLine &
'$"FROM " & vbNewLine &
'$"VWPMO_DOC_SEARCH T " & vbNewLine &
'$"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbNewLine &
'$"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbNewLine &
' $"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{USER_LANGUAGE}' AND TRC.GUID = {VALUE_CONF1}" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{USER_LANGUAGE}' AND TRC1.GUID = {VALUE_CONF2}" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{USER_LANGUAGE}' AND TRC2.GUID = {VALUE_CONF3}" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{USER_LANGUAGE}' AND TRC3.GUID = {VALUE_CONF4}" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC4 ON TR.FORM_ID = TRC4.ENTITY_ID AND TRC4.LANGUAGE = '{USER_LANGUAGE}' AND TRC4.GUID = {VALUE_CONF5}" & vbNewLine &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC5 ON TR.FORM_ID = TRC5.ENTITY_ID AND TRC5.LANGUAGE = '{USER_LANGUAGE}' AND TRC5.GUID = {VALUE_CONF6}" & vbNewLine &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {OPTION1} " & vbNewLine &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {OPTION2} " & vbNewLine &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {OPTION3} " & vbNewLine &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {OPTION4} " & vbNewLine &
' SQL_DOC_SEARCH = $"SELECT T.* ," & vBCrlf &
' $"ISNULL(T1.VALUE,'') AS OPTION1," & vBCrlf &
' $"ISNULL(T2.VALUE,'') AS OPTION2," & vBCrlf &
' $"ISNULL(T3.VALUE,'') AS OPTION3," & vBCrlf &
' $"ISNULL(T4.VALUE,'') AS OPTION4," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{7}',TRL.RECORD_ID) AS DROPDOWN1," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{7}',TRL.RECORD_ID) AS DROPDOWN2," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{7}',TRL.RECORD_ID) AS DROPDOWN3," & vBCrlf &
' $"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{7}',TRL.RECORD_ID) AS DROPDOWN4," & vBCrlf &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID),'') AS VALUE1," & vBCrlf &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID),'') AS VALUE2," & vBCrlf &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID),'') AS VALUE3," & vBCrlf &
' $"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID),'') AS VALUE4," & vBCrlf &
'$"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC4.GUID),'') AS VALUE5," & vBCrlf &
'$"COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC5.GUID),'') AS VALUE6," & vBCrlf &
'$"dwAccessRight AS ACCESS_RIGHT" & vBCrlf &
'$"FROM " & vBCrlf &
'$"VWPMO_DOC_SEARCH T " & vBCrlf &
'$"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vBCrlf &
'$"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vBCrlf &
' $"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{USER_LANGUAGE}' AND TRC.GUID = {VALUE_CONF1}" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{USER_LANGUAGE}' AND TRC1.GUID = {VALUE_CONF2}" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{USER_LANGUAGE}' AND TRC2.GUID = {VALUE_CONF3}" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{USER_LANGUAGE}' AND TRC3.GUID = {VALUE_CONF4}" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC4 ON TR.FORM_ID = TRC4.ENTITY_ID AND TRC4.LANGUAGE = '{USER_LANGUAGE}' AND TRC4.GUID = {VALUE_CONF5}" & vBCrlf &
' $"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC5 ON TR.FORM_ID = TRC5.ENTITY_ID AND TRC5.LANGUAGE = '{USER_LANGUAGE}' AND TRC5.GUID = {VALUE_CONF6}" & vBCrlf &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {OPTION1} " & vBCrlf &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {OPTION2} " & vBCrlf &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {OPTION3} " & vBCrlf &
' $"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {OPTION4} " & vBCrlf &
' $"WHERE TRL.RECORD_ID = {RECORD_ID} AND TR.FORM_ID = {ENTITY_ID} AND TRIGHTS.dwUserOrGroupID = {USERID_FK_INT_ECM}"
ElseIf CURRENT_SEARCH_TYPE = "FULLTEXT" Then
Dim sqlft = SQL_FULLTEXT
sqlft = sqlft.Replace("@FULLTEXT", CURRENT_FULLTEXT_PATTERN)
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbNewLine &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({3},T.DocID,{0}) AS OPTION1," & vbNewLine &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{0}) AS OPTION2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX1') AS DOCIDX1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX2') AS DOCIDX2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX3') AS DOCIDX3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX4') AS DOCIDX4," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN1','{1}',TRL.RECORD_ID) AS DROPDOWN1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN2','{1}',TRL.RECORD_ID) AS DROPDOWN2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN3','{1}',TRL.RECORD_ID) AS DROPDOWN3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN4','{1}',TRL.RECORD_ID) AS DROPDOWN4" & vbNewLine &
"FROM " & vbNewLine &
"VWPMO_DOC_SEARCH T" & vbNewLine &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbNewLine &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbNewLine &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbNewLine &
"LEFT OUTER JOIN TBPMO_CONTROL_VALUE TCTRL ON TR.GUID = TCTRL.RECORD_ID" & vbNewLine &
"WHERE TR.FORM_ID = {0} AND TRIGHTS.dwUserOrGroupID = {2} AND (" & vbNewLine &
"TCTRL.VALUE LIKE '%{6}%' OR" & vbNewLine &
"T.DocID IN ({5}" & vbNewLine &
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbCrLf &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({3},T.DocID,{0}) AS OPTION1," & vbCrLf &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{0}) AS OPTION2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX1') AS DOCIDX1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX2') AS DOCIDX2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX3') AS DOCIDX3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX4') AS DOCIDX4," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN1','{1}',TRL.RECORD_ID) AS DROPDOWN1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN2','{1}',TRL.RECORD_ID) AS DROPDOWN2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN3','{1}',TRL.RECORD_ID) AS DROPDOWN3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{0},'DROPDOWN4','{1}',TRL.RECORD_ID) AS DROPDOWN4" & vbCrLf &
"FROM " & vbCrLf &
"VWPMO_DOC_SEARCH T" & vbCrLf &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
"LEFT OUTER JOIN TBPMO_CONTROL_VALUE TCTRL ON TR.GUID = TCTRL.RECORD_ID" & vbCrLf &
"WHERE TR.FORM_ID = {0} AND TRIGHTS.dwUserOrGroupID = {2} AND (" & vbCrLf &
"TCTRL.VALUE LIKE '%{6}%' OR" & vbCrLf &
"T.DocID IN ({5}" & vbCrLf &
"))", ENTITY_ID, USER_LANGUAGE, USERID_FK_INT_ECM, OPTION1, OPTION2, sqlft, CURRENT_FULLTEXT_PATTERN)
ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.* ," & vbNewLine &
"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine &
"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine &
"ISNULL(T3.VALUE,'') AS OPTION3," & vbNewLine &
"ISNULL(T4.VALUE,'') AS OPTION4," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{7}',TRL.RECORD_ID) AS DROPDOWN1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{7}',TRL.RECORD_ID) AS DROPDOWN2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{7}',TRL.RECORD_ID) AS DROPDOWN3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{7}',TRL.RECORD_ID) AS DROPDOWN4," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID) AS VALUE1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID) AS VALUE2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID) AS VALUE3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID) AS VALUE4" & vbNewLine &
"FROM " & vbNewLine &
"VWPMO_DOC_SEARCH T " & vbNewLine &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbNewLine &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbNewLine &
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbNewLine &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbNewLine &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbNewLine &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbNewLine &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbNewLine &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbNewLine &
"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbNewLine &
"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbNewLine &
"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbNewLine &
"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbNewLine &
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.* ," & vbCrLf &
"ISNULL(T1.VALUE,'') AS OPTION1," & vbCrLf &
"ISNULL(T2.VALUE,'') AS OPTION2," & vbCrLf &
"ISNULL(T3.VALUE,'') AS OPTION3," & vbCrLf &
"ISNULL(T4.VALUE,'') AS OPTION4," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{7}',TRL.RECORD_ID) AS DROPDOWN1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{7}',TRL.RECORD_ID) AS DROPDOWN2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{7}',TRL.RECORD_ID) AS DROPDOWN3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{7}',TRL.RECORD_ID) AS DROPDOWN4," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID) AS VALUE1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID) AS VALUE2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID) AS VALUE3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID) AS VALUE4" & vbCrLf &
"FROM " & vbCrLf &
"VWPMO_DOC_SEARCH T " & vbCrLf &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbCrLf &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbCrLf &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbCrLf &
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbCrLf &
"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbCrLf &
"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbCrLf &
"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbCrLf &
"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbCrLf &
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {0} AND TRIGHTS.dwUserOrGroupID = {6}", USER_GUID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
ElseIf CURRENT_SEARCH_TYPE = "FULLTEXT_SUBNODES" Then
Dim sqlft = SQL_FULLTEXT
sqlft = sqlft.Replace("@FULLTEXT", CURRENT_FULLTEXT_PATTERN)
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbNewLine &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{1}) AS OPTION1," & vbNewLine &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({5},T.DocID,{1}) AS OPTION2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{0}',TRL.RECORD_ID) AS DROPDOWN1," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{0}',TRL.RECORD_ID) AS DROPDOWN2," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{0}',TRL.RECORD_ID) AS DROPDOWN3," & vbNewLine &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{0}',TRL.RECORD_ID) AS DROPDOWN4" & vbNewLine &
"FROM " & vbNewLine &
"VWPMO_DOC_SEARCH T" & vbNewLine &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbNewLine &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbNewLine &
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbNewLine &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbNewLine &
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {2} AND TRIGHTS.dwUserOrGroupID = {3}" & vbNewLine &
SQL_DOC_SEARCH = String.Format("SELECT DISTINCT T.*," & vbCrLf &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{1}) AS OPTION1," & vbCrLf &
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({5},T.DocID,{1}) AS OPTION2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN1','{0}',TRL.RECORD_ID) AS DROPDOWN1," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN2','{0}',TRL.RECORD_ID) AS DROPDOWN2," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN3','{0}',TRL.RECORD_ID) AS DROPDOWN3," & vbCrLf &
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{0}',TRL.RECORD_ID) AS DROPDOWN4" & vbCrLf &
"FROM " & vbCrLf &
"VWPMO_DOC_SEARCH T" & vbCrLf &
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {2} AND TRIGHTS.dwUserOrGroupID = {3}" & vbCrLf &
"AND T.DocID IN ({6})", USER_LANGUAGE, ENTITY_ID, USER_GUID, USERID_FK_INT_ECM, OPTION1, OPTION2, sqlft)
End If
LOGGER.Debug("SQL_DOC_SEARCH: " & SQL_DOC_SEARCH)
@@ -266,7 +266,7 @@ Public Class ClassDOC_SEARCH
Dim DT_FILE_RESULT As DataTable = GET_DOCSEARCH_DATATABLE(BG)
CURRENT_DOC_RESULTS = DT_FILE_RESULT
If IsNothing(DT_FILE_RESULT) Then
' MsgBox("ATTENTION: GET_DOCSEARCH_DATATABLE IS NOTHING" & vbNewLine & "Please inform Your Sysadmin", MsgBoxStyle.Exclamation, "Attention")
' MsgBox("ATTENTION: GET_DOCSEARCH_DATATABLE IS NOTHING" & vBCrlf & "Please inform Your Sysadmin", MsgBoxStyle.Exclamation, "Attention")
LOGGER.Warn("ATTENTION: GET_DOCSEARCH_DATATABLE IS NOTHING!!")
Return Nothing
End If
@@ -371,7 +371,7 @@ Public Class ClassDOC_SEARCH
End If
Catch ex As Exception
LOGGER.Warn("Unexpected Error in Construct Datatable: " & ex.Message)
MsgBox("Unexpected Error in Construct Datatable for GridResult: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in Construct Datatable for GridResult: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
End Try
sw.Done()
@@ -486,7 +486,7 @@ Public Class ClassDOC_SEARCH
oNewRow.Item(i) = CInt(rowvalue)
End If
Else
oNewRow.Item(i) = rowvalue.ToString
oNewRow.Item(i) = rowvalue.ToString
End If
Catch ex As Exception
@@ -508,22 +508,22 @@ Public Class ClassDOC_SEARCH
sw.Done()
Catch ex As Exception
MsgBox("Unexpected Error in Get_DOC_RESULTTABLE (Step " & _step & "): " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in Get_DOC_RESULTTABLE (Step " & _step & "): " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
LOGGER.Warn("Unexpected Error in Get_DOC_RESULTTABLE (Step " & _step & "): " & ex.Message)
Return Nothing
End Try
End Function
Public Shared Function CREATE_DOC_RELATED_LINKS(DOC_ID As Integer, RECORD_ID As Integer)
Public Shared Function PROF_DOC_CREATE_UPDATE(pDOC_ID As Integer, pRECORD_ID As Integer, pFILE_HASH As String)
Try
Dim execute = String.Format("EXEC PROF_DOC_CREATE_UPDATE {0},{1},'{2}','{3}'", DOC_ID, RECORD_ID, USER_USERNAME, CURRENT_FILE_HASH)
Dim execute = String.Format("EXEC PROF_DOC_CREATE_UPDATE {0},{1},'{2}','{3}'", pDOC_ID, pRECORD_ID, USER_USERNAME, pFILE_HASH)
If MYDB_ECM.ExecuteNonQuery(execute) = True Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox("Unexpected Error in CREATE_DOC_RELATED_LINKS: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in PROF_DOC_CREATE_UPDATE: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
@@ -537,9 +537,9 @@ Public Class ClassDOC_SEARCH
If ClassWDRights.Init = True Then
If ClassWDRights.Doc_Renew_Rights(oWMObject, RESULT_DOCID, RESULT_DOC_PATH, DeleteRightsBefore) Then
If ClassWDRights.MSG_RESULT <> "" Then
Dim msg = "Achtung: einige Rechte konnten nicht gesetzt werden: " & vbNewLine & ClassWDRights.MSG_RESULT
Dim msg = "Achtung: einige Rechte konnten nicht gesetzt werden: " & vbCrLf & ClassWDRights.MSG_RESULT
If USER_LANGUAGE <> "de-DE" Then
msg = "Attention: some rights could not be set: " & vbNewLine & ClassWDRights.MSG_RESULT
msg = "Attention: some rights could not be set: " & vbCrLf & ClassWDRights.MSG_RESULT
End If
ClassHelper.MSGBOX_Handler("INFO", "Information:", msg)
End If
@@ -553,7 +553,7 @@ Public Class ClassDOC_SEARCH
End If
Catch ex As Exception
MsgBox("Unexpected Error in SET_WD_RIGHTS: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in SET_WD_RIGHTS: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function

View File

@@ -8,6 +8,8 @@ Public Class ClassDragDrop
Public Shared Function Drop_File(e As DragEventArgs)
Try
LOGGER.Debug("In Drop_File....")
ClassHelper.DELETE_PMO_FILE_USER_OPEN_FILES()
files_dropped = New String() {}
' WICHTIG: DB-Löschung NICHT im UI-Thread erzwingen.

View File

@@ -1,151 +0,0 @@
Imports System.IO
Imports Independentsoft
Imports System.Threading
Public Class ClassFolderWatcher
Public Shared FolderWatcher_SCAN As FileSystemWatcher
Public Shared NEW_FILES As Boolean = True
Public Shared Function Restart_FolderWatchSCAN()
Try
If FolderWatcher_SCAN.EnableRaisingEvents = True Then
'Gestartet also Stoppen
FolderWatcher_SCAN.EnableRaisingEvents = False
FWSCAN_started = False
'FolderWatch neu instanzieren
FolderWatcher_SCAN = New System.IO.FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
LOGGER.Warn("FolderWatchScan neu instanziert")
FolderWatcher_SCAN.IncludeSubdirectories = CURRENT_SCAN_FOLDERWATCH_SD
FolderWatcher_SCAN.EnableRaisingEvents = True
AddHandler FolderWatcher_SCAN.Created, AddressOf OnCreated
FWSCAN_started = True
SaveMySettingsValue("FWSCAN_started", "True", "ConfigMain")
End If
Catch ex As Exception
MsgBox("Error in Restart_FolderWatchSCAN:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Function
Public Shared Function StartStop_FolderWatchSCAN()
Try
If CURRENT_SCAN_FOLDERWATCH = "" Then
MsgBox("Bitte definieren Sie einen Überwachungsordner für Scan-Eingänge:", MsgBoxStyle.Exclamation)
Return False
End If
If FolderWatcher_SCAN Is Nothing Then
FolderWatcher_SCAN = New System.IO.FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
LOGGER.Info("FolderWatch Scan Gestartet")
FolderWatcher_SCAN.IncludeSubdirectories = CURRENT_SCAN_FOLDERWATCH_SD
FolderWatcher_SCAN.EnableRaisingEvents = True
AddHandler FolderWatcher_SCAN.Created, AddressOf OnCreated
FWSCAN_started = True
SaveMySettingsValue("FWSCAN_started", "True", "ConfigMain")
Return 1
End If
If FolderWatcher_SCAN.EnableRaisingEvents = False Then
' Dim watcher As New FileSystemWatcher()
' watcher.Path = CURRENT_FOLDERWATCH
FolderWatcher_SCAN = New System.IO.FileSystemWatcher(CURRENT_SCAN_FOLDERWATCH, "*.*")
LOGGER.Info("FolderWatch Scan Gestartet")
FolderWatcher_SCAN.IncludeSubdirectories = CURRENT_SCAN_FOLDERWATCH_SD
FolderWatcher_SCAN.EnableRaisingEvents = True
AddHandler FolderWatcher_SCAN.Created, AddressOf OnCreated
FWSCAN_started = True
SaveMySettingsValue("FWSCAN_started", "True", "ConfigMain")
Return 1
Else
'Gestartet also Stoppen
FolderWatcher_SCAN.EnableRaisingEvents = False
FWSCAN_started = False
LOGGER.Info("FolderWatch Scan gestoppt")
SaveMySettingsValue("FWSCAN_started", "False", "ConfigMain")
Return 0
End If
Catch ex As Exception
MsgBox("Error in StartStop_FolderWatchSCAN:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return 99
End Try
End Function
Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)
Try
For Each row As DataRow In DTEXCLUDE_FILES.Rows
Dim content As String = row.Item(0).ToString.ToLower
If e.FullPath.ToLower.Contains(content) Then
Exit Sub
End If
Next
Dim handleType As String
If e.FullPath.EndsWith(".msg") Then
handleType = "SCAN_OUTLOOK_MESSAGE"
Else
handleType = "SCAN"
End If
'Die Datei übergeben
LOGGER.Debug("OnCreated-File:" & e.FullPath)
If FileExistsinDropTable(CURRENT_FILENAME) = False Then
If ClassHelper.Insert_USER_File(e.FullPath, handleType) = False Then
Exit Sub
End If
Else
Console.WriteLine("File existiert bereits")
End If
ClassHelper.Create_USER_FILE_TABLE()
NEW_FILES = True
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in folder_watch_Created")
End Try
End Sub
Public Shared Function FileExistsinDropTable(Filename As String)
Dim check As String
Try
check = "SELECT COUNT(*) FROM TBPMO_FILES_USER WHERE FILENAME2WORK = '" & Filename & "' AND WORKED = 0"
Dim result = MYDB_ECM.GetScalarValue(check)
Return result
Catch ex As Exception
MsgBox("Error in FileExistsinDropTable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & check, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Public Shared Function DELETE_SCAN_File(filename As String)
Try
Dim filename_only As String = Path.GetFileName(filename)
Dim del As String = String.Format("DELETE FROM TBPMO_FILES_USER WHERE FILENAME2WORK = '{0}'", filename)
Return MYDB_ECM.ExecuteNonQuery(del)
Catch ex As Exception
MsgBox("Unexpected Error in DELETE_SCAN_File: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Public Shared Function DELETE_SCAN_File_User()
Try
Dim del As String = String.Format("DELETE FROM TBPMO_FILES_USER WHERE USER_WORK = '{0}' AND HANDLE_TYPE = 'SCAN'", USER_USERNAME)
Return MYDB_ECM.ExecuteNonQuery(del)
Catch ex As Exception
MsgBox("Unexpected Error in DELETE_SCAN_File_User: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Public Shared Function Check_Scan_Files()
Try
Dim sql As String = String.Format("select * from TBPMO_FILES_USER where HANDLE_TYPE = 'SCAN' and WORKED = 0 AND USER_WORK = '{0}'", USER_USERNAME)
Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
For Each row As DataRow In DT.Rows
If System.IO.File.Exists(row.Item("FILENAME2WORK")) = False Then
DELETE_SCAN_File(row.Item("FILENAME2WORK"))
End If
Next
CURRENT_SCAN_TABLE = MYDB_ECM.GetDatatable(sql)
Catch ex As Exception
MsgBox("Unexpected Error in DELETE_SCAN_File_User: " & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
End Class

View File

@@ -7,46 +7,37 @@ Public Class ClassHelper
Private Shared BW_DocID As Integer
Private Shared BW_ParentID As Integer
Private Shared BW_Filename As String
Public Shared Function FORMAT_WM_PATH(WMpath As String)
Public Shared Function FORMAT_WM_PATH(WMpath As String) As String
Try
If Not IsNothing(WMpath) Then
Dim ochanged As Boolean = False
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", WMPATH_PREFIX)
ochanged = True
ElseIf WMpath.StartsWith("\") Then
If WMpath.StartsWith(WMPATH_PREFIX) = False Then
WMpath = WMPATH_PREFIX & WMpath
ochanged = True
End If
End If
LOGGER.Debug("WMpath is: " & WMpath)
Return WMpath
Else
If IsNothing(WMpath) Then
Return Nothing
End If
Catch ex As Exception
Return WMpath
End Try
End Function
Public Shared Function GetRelPath(WMpath As String)
Try
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", "")
ElseIf WMpath.StartsWith("\") Then
If WMpath.StartsWith(WMPATH_PREFIX) = False Then
WMpath = WMpath.Replace("WMPATH_PREFIX:", "")
End If
WMpath = WMpath.Replace("W:", WMPATH_PREFIX)
ElseIf WMpath.StartsWith("\") AndAlso Not WMpath.StartsWith(WMPATH_PREFIX) Then
WMpath = WMPATH_PREFIX & WMpath
End If
LOGGER.Debug("WMpath is: " & WMpath)
Return WMpath
Catch ex As Exception
Return WMpath
End Try
End Function
Public Shared Function GetRelPath(WMpath As String) As String
Try
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", "")
ElseIf WMpath.StartsWith(WMPATH_PREFIX) Then
WMpath = WMpath.Replace(WMPATH_PREFIX, "")
End If
LOGGER.Debug("WMpath is: " & WMpath)
Return WMpath
Catch ex As Exception
Return WMpath
End Try
End Function
Public Shared Function Format_Currency(value As String, language As String)
Try
@@ -118,53 +109,28 @@ Public Class ClassHelper
End If
Return tempName
End Function
Public Shared Function CheckFileIsInUse(ByVal filename) As Boolean
Dim fs As Integer = FreeFile()
Dim inuse As Boolean = False
If File.Exists(filename) Then
Try
Using f As New IO.FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
' thisFileInUse = False
End Using
Catch
inuse = True
End Try
Try
FileOpen(fs, filename, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
Catch ex As Exception
LOGGER.Warn("File " & filename & " inuse or not able to open - message: " & ex.Message)
inuse = True
Finally
FileClose(fs)
End Try
End If
Return inuse
End Function
Public Shared Function Versionierung_Datei(Dateiname As String)
Dim extension
Dim _NewFileString
Public Shared Function Versionierung_Datei(pDateiname As String) As String
Try
Dim version As Integer = 1
pDateiname = FORMAT_WM_PATH(pDateiname)
Dim dir As String = Path.GetDirectoryName(pDateiname)
Dim baseName As String = Path.GetFileNameWithoutExtension(pDateiname)
Dim ext As String = Path.GetExtension(pDateiname)
Dim stammname As String = Path.Combine(dir, baseName)
Dim Stammname As String = Path.GetDirectoryName(Dateiname) & "\" & Path.GetFileNameWithoutExtension(Dateiname)
extension = Path.GetExtension(Dateiname)
Dim _neuername As String = Stammname
'Dim MoveFilename As String = DATEINAME.Replace(element.Value, "")
'Überprüfen ob File existiert
If File.Exists(_neuername & extension) = False Then
_NewFileString = _neuername
Else
Do While File.Exists(_neuername & extension)
version = version + 1
_neuername = Stammname & "~" & version
_NewFileString = _neuername
Loop
If Not File.Exists(pDateiname) Then
Return ""
End If
Return _NewFileString & extension
Dim version As Integer = 2
Dim candidate As String
Do
candidate = stammname & "~" & version & ext
version += 1
Loop While File.Exists(candidate)
Return candidate
Catch ex As Exception
LOGGER.Warn(" - Error in versioning file - error: " & vbNewLine & ex.Message)
LOGGER.Warn(" - Error in versioning file - error: " & vbCrLf & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in versioning file:")
Return ""
End Try
@@ -209,12 +175,13 @@ Public Class ClassHelper
Return True
Else
MSGBOX_Handler("ERROR", "", "Sorry, but the docpath for doc-id: " & DocID & " is nothing!")
Return False
LOGGER.Debug("RESULT_DOC_PATH IS NOTHING")
Return False
End If
Catch ex As Exception
MsgBox("Unexpected Error in File_open:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in File_open: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
MsgBox("Unexpected Error in File_open:" & vbCrLf & ex.Message & vbCrLf & RESULT_DOC_PATH & vbCrLf & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in File_open: " & ex.Message & vbCrLf & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
Return False
End Try
End Function
@@ -228,8 +195,8 @@ Public Class ClassHelper
LOGGER.Debug("RESULT_DOC_PATH IS NOTHING")
End If
Catch ex As Exception
MsgBox("Unexpected Error in Open_Folder:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in Open_Folder: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
MsgBox("Unexpected Error in Open_Folder:" & vbCrLf & ex.Message & vbCrLf & RESULT_DOC_PATH & vbCrLf & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in Open_Folder: " & ex.Message & vbCrLf & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
End Try
End Sub
Private Shared Sub File_SYSOPEN(RESULT_DOC_PATH As Object, DocID As String, pParentID As Integer)
@@ -247,8 +214,8 @@ Public Class ClassHelper
LOGGER.Warn("File_SYSOPEN RESULT_DOC_PATH is nothing")
End If
Catch ex As Exception
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in File_SYSOPEN: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
MsgBox("Unexpected Error in File_SYSOPEN:" & vbCrLf & ex.Message & vbCrLf & RESULT_DOC_PATH & vbCrLf & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in File_SYSOPEN: " & ex.Message & vbCrLf & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
End Try
End Sub
@@ -313,15 +280,15 @@ Public Class ClassHelper
Catch ex As Exception
' Fehler im Prozessstart oder während des Wartens
LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
MsgBox("Error in OpenFile: " & ex.Message & vbNewLine &
"Path: " & BW_DocPath & vbNewLine & "DocID: " & BW_DocID,
LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbCrLf & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
MsgBox("Error in OpenFile: " & ex.Message & vbCrLf &
"Path: " & BW_DocPath & vbCrLf & "DocID: " & BW_DocID,
MsgBoxStyle.Exclamation, "Open File Error")
End Try
Catch ex As Exception
' Fehler im gesamten Worker (z. B. Path nicht vorhanden)
LOGGER.Warn("General error in BWFileHandler_DoWork: " & ex.Message & vbNewLine &
LOGGER.Warn("General error in BWFileHandler_DoWork: " & ex.Message & vbCrLf &
" - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' Letzter Versuch: Öffne mit Standardprogramm
@@ -329,7 +296,7 @@ Public Class ClassHelper
Process.Start(BW_DocPath)
LOGGER.Debug("Fallback: Document opened with default application.")
Catch ex1 As Exception
LOGGER.Warn("Fallback error in Process.Start(): " & ex1.Message & vbNewLine &
LOGGER.Warn("Fallback error in Process.Start(): " & ex1.Message & vbCrLf &
" - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
End Try
End Try
@@ -382,17 +349,17 @@ Public Class ClassHelper
' End If
' Catch ex As Exception
' LOGGER.Warn("Error in Process1.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' MsgBox("Error in OpenFile: " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID, MsgBoxStyle.Exclamation)
' LOGGER.Warn("Error in Process1.Start(): " & ex.Message & vBCrlf & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' MsgBox("Error in OpenFile: " & ex.Message & vBCrlf & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID, MsgBoxStyle.Exclamation)
' Exit Sub
' End Try
' Catch ex As Exception
' LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' LOGGER.Warn("Error in Process.Start(): " & ex.Message & vBCrlf & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' Try
' Process.Start(BW_DocPath)
' Catch ex1 As Exception
' LOGGER.Warn("Error in Process.Start(1): " & ex1.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' LOGGER.Warn("Error in Process.Start(1): " & ex1.Message & vBCrlf & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' End Try
' End Try
'End Sub
@@ -407,14 +374,11 @@ Public Class ClassHelper
End If
End If
Catch ex As Exception
MsgBox("Unexpected Error in FOLDER_OPEN:" & vbNewLine & ex.Message & vbNewLine & PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in FOLDER_OPEN: " & ex.Message & vbNewLine & " - Path: " & PATH & " - DocID: " & DocID)
MsgBox("Unexpected Error in FOLDER_OPEN:" & vbCrLf & ex.Message & vbCrLf & PATH & vbCrLf & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in FOLDER_OPEN: " & ex.Message & vbCrLf & " - Path: " & PATH & " - DocID: " & DocID)
End Try
End Sub
Shared Function Convert_Date_2_Form_Format(p1 As Date) As Date
Throw New NotImplementedException
End Function
Public Shared Function InsertEssential_Log(REFERENCE_KEY As Integer, REFERENCE_STRING As String, COMMENT As String)
Try
COMMENT = COMMENT.Replace("'", "")
@@ -449,7 +413,7 @@ Public Class ClassHelper
Public Shared Sub MSGBOX_Handler(type As String, Caption As String, info1 As String, Optional info2 As String = "")
Dim msg = info1
If info2 <> "" Then
msg &= vbNewLine & vbNewLine & info2
msg &= vbCrLf & vbCrLf & info2
End If
If type = "ERROR" Then
MessageBox.Show(msg, Caption, MessageBoxButtons.OK, MessageBoxIcon.Error)
@@ -495,6 +459,18 @@ Public Class ClassHelper
Return False
End Try
End Function
Public Shared Sub REMOVE_OLD_DROP_FILES()
Try
Dim oDEL = String.Format("UPDATE [DD_ECM].[dbo].[TBPMO_FILES_USER]
SET [USER_WORK] = [USER_WORK] + '_TIMEOUT',
WORKED = 1
WHERE ADDED_WHEN < DATEADD(MINUTE, -5, GETDATE())
AND WORKED = 0 AND USER_WORK = '{0}' ;", USER_USERNAME)
MYDB_ECM.ExecuteNonQuery(oDEL)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error while REMOVE_OLD_DROP_FILES")
End Try
End Sub
Public Shared Sub Create_USER_FILE_TABLE()
Try
Dim sql = String.Format("SELECT *, CONVERT(BIT,0) AS DELETE_FILE FROM TBPMO_FILES_USER WHERE (USER_WORK = '{0}') AND WORKED = 0", USER_USERNAME)
@@ -512,6 +488,15 @@ Public Class ClassHelper
Return False
End Try
End Function
Public Shared Function DELETE_PMO_FILE_USER_OPEN_FILES()
Try
Dim del As String = String.Format("DELETE FROM TBPMO_FILES_USER WHERE (USER_WORK = '{0}') AND WORKED = 0", USER_USERNAME)
Return MYDB_ECM.ExecuteNonQuery(del)
Catch ex As Exception
MsgBox("Unexpected Error in DELETE_PMO_FILE_USER_OPEN_FILES: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Public Shared Function DecryptString(ciphertext As String, MethodName As String)
Dim result As String
Dim wrapper As New ClassEncryption("!35452didalog=")
@@ -530,7 +515,6 @@ Public Class ClassHelper
Dim filteredData As DataTable = BaseDatatable.Clone()
'Einfügevariante
BaseDatatable.Select(expression, sortstring).CopyToDataTable(filteredData, LoadOption.PreserveChanges)
Console.WriteLine("Found {0} rows.", filteredData.Rows.Count)
'Dim filteredData = BaseDatatable.Select(expression).CopyToDataTable()
Return filteredData
Catch ex As Exception
@@ -551,27 +535,49 @@ Public Class ClassHelper
Public Shared Function Insert_USER_File(pFilename As String, handleType As String)
Try
Dim filename_only As String = Path.GetFileName(pFilename)
CURRENT_FILE_HASH = ""
Dim CURRENT_FILE_HASH = ""
If File.Exists(pFilename) Then
Dim oFileInfo As New FileInfo(pFilename)
LOGGER.Debug($"File exists: [{pFilename}] | Size: {oFileInfo.Length} bytes | Extension: {oFileInfo.Extension}")
If (pFilename.ToUpper.EndsWith(".MSG") Or pFilename.ToUpper.EndsWith(".EML")) And (handleType = "|OUTLOOK_MESSAGE|" Or handleType = "|MSGONLY|") Then
CURRENT_FILE_HASH = FILESYSTEM.GetChecksumFromString(pFilename)
LOGGER.Debug($"Hash method: GetChecksumFromString | Hash: [{CURRENT_FILE_HASH}]")
Else
CURRENT_FILE_HASH = FILESYSTEM.GetChecksum(pFilename)
LOGGER.Debug($"Hash method: GetChecksum | Hash: [{CURRENT_FILE_HASH}]")
End If
Else
LOGGER.Warn($"File does not exist: [{pFilename}] - Cannot compute hash.")
End If
Dim oSQL = $"SELECT ADDED_WHO, FORMAT(ADDED_WHEN, 'dd-MM-yyyy HH:mm') AS ADDED_WHEN_STRING FROM TBPMO_DOCRESULT_LIST WHERE FILE_HASH = '{CURRENT_FILE_HASH}' ORDER BY ADDED_WHEN DESC"
Dim oSQL = $"SELECT Filename, ADDED_WHO, FORMAT(ADDED_WHEN, 'dd-MM-yyyy HH:mm') AS ADDED_WHEN_STRING FROM TBPMO_DOCRESULT_LIST WHERE FILE_HASH = '{CURRENT_FILE_HASH}' ORDER BY ADDED_WHEN DESC"
LOGGER.Debug($"Inserting File - hash is [{CURRENT_FILE_HASH}]")
Dim oDTCHECK As DataTable = MYDB_ECM.GetDatatable(oSQL)
If Not IsNothing(oDTCHECK) Then
If oDTCHECK.Rows.Count >= 1 Then
LOGGER.Info($"We got a file with the same hash [{CURRENT_FILE_HASH}]")
Dim oUSER = oDTCHECK.Rows(0).Item(0)
Dim oADDED_WHEN = oDTCHECK.Rows(0).Item(1)
Dim oMSG = $"Achtung:" & vbNewLine & "Die Datei wurde bereits nach orgFLOW importiert. Anzahl: " & oDTCHECK.Rows.Count.ToString & vbNewLine &
$"Importiert wann: {oADDED_WHEN}" & vbNewLine &
$"Importiert wer: {oUSER}" & vbNewLine &
"Wollen Sie die Datei dennoch importieren?"
Dim oFilename = oDTCHECK.Rows(0).Item(0)
Dim oUSER = oDTCHECK.Rows(0).Item(1)
Dim oADDED_WHEN = oDTCHECK.Rows(0).Item(2)
Dim oMSG As String
If USER_LANGUAGE <> "de-DE" Then
oMSG = $"This file has already been imported into orgFLOW!" & vbCrLf &
$"File: [{oFilename}]" & vbCrLf &
$"Imported on: {oADDED_WHEN}" & vbCrLf &
$"Imported by: {oUSER}" & vbCrLf &
$"Total imports with identical content: {oDTCHECK.Rows.Count}" & vbCrLf & vbCrLf &
"Do you want to import this file again?" & vbCrLf &
"NO → Teh complete Import will be cancelled."
Else
oMSG = $"Diese Datei wurde bereits in orgFLOW importiert!" & vbCrLf &
$"Datei: [{oFilename}]" & vbCrLf &
$"Importiert am: {oADDED_WHEN}" & vbCrLf &
$"Importiert von: {oUSER}" & vbCrLf &
$"Anzahl Importe mit identischem Inhalt: {oDTCHECK.Rows.Count}" & vbCrLf & vbCrLf &
"Möchten Sie die Datei dennoch erneut importieren?" & vbCrLf &
"NEIN → Der gesamte Import (alle folgenden) wird abgebrochen."
End If
Dim result As MsgBoxResult
result = MessageBox.Show(oMSG, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.No Then
@@ -580,7 +586,7 @@ Public Class ClassHelper
End If
End If
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('{0}','{1}','{2}','{3}')", pFilename, USER_USERNAME, handleType, filename_only)
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY,FILE_HASH) VALUES ('{0}','{1}','{2}','{3}','{4}')", pFilename, USER_USERNAME, handleType, filename_only, CURRENT_FILE_HASH)
Return MYDB_ECM.ExecuteNonQuery(ins)
Catch ex As Exception
MsgBox("Unexpected Error in Insert file for user (TBPMO_FILES_USER): " & ex.Message, MsgBoxStyle.Critical)

View File

@@ -96,7 +96,7 @@ Public Class ClassImport_Windream
Catch ex As Exception
MsgBox("Unexpected error in Import_File ClassImport_windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected error in Import_File ClassImport_windream: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
@@ -367,9 +367,9 @@ Public Class ClassImport_Windream
End If
Else
Dim msg As String
msg = "In der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper
msg = "In der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbCrLf & "Elementname: " & element.Value.ToUpper
If USER_LANGUAGE <> "de-DE" Then
msg = "In nameconvention an element was defined which could not be replaced." & vbNewLine & "Elementname: " & element.Value.ToUpper
msg = "In nameconvention an element was defined which could not be replaced." & vbCrLf & "Elementname: " & element.Value.ToUpper
End If
myLogger.Warn(msg)
MsgBox(msg, MsgBoxStyle.Exclamation, "Error in Name Convention:")
@@ -390,7 +390,7 @@ Public Class ClassImport_Windream
oNewWM_Filename = oNewWM_Filename.Replace("\\", "\")
Catch ex As Exception
myLogger.Warn(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
myLogger.Warn(" - Error in Versioning file - Error: " & vbCrLf & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:")
err = True
End Try
@@ -411,8 +411,8 @@ Public Class ClassImport_Windream
End If
Catch ex As Exception
myLogger.Warn(" - Unexpected Error in FileName-Creating: " & vbNewLine & ex.Message)
MsgBox(" - Unexpected Error in FileName-Creating: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
myLogger.Warn(" - Unexpected Error in FileName-Creating: " & vbCrLf & ex.Message)
MsgBox(" - Unexpected Error in FileName-Creating: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
@@ -495,8 +495,8 @@ Public Class ClassImport_Windream
End If
Return oReturnValue
Catch ex As Exception
LOGGER.Warn(" - Unexpected Error in GET_CTRLData: " & vbNewLine & ex.Message)
MsgBox("Unexpected Error in GET_CTRLData: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
LOGGER.Warn(" - Unexpected Error in GET_CTRLData: " & vbCrLf & ex.Message)
MsgBox("Unexpected Error in GET_CTRLData: " & vbCrLf & ex.Message, MsgBoxStyle.Critical)
Return ""
End Try
End Function
@@ -714,8 +714,8 @@ Public Class ClassImport_Windream
Case Else
LOGGER.Warn(" -Undefined pattern found in folderconvention" & vbNewLine & "Elementname: " & element.Value.ToUpper)
MsgBox("Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper, MsgBoxStyle.Exclamation, "Unexpected error in Name generieren:")
LOGGER.Warn(" -Undefined pattern found in folderconvention" & vbCrLf & "Elementname: " & element.Value.ToUpper)
MsgBox("Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbCrLf & "Elementname: " & element.Value.ToUpper, MsgBoxStyle.Exclamation, "Unexpected error in Name generieren:")
End Select
LOGGER.Debug($"FolderConvention so far is: '{FolderConvention}'")
Next
@@ -723,7 +723,7 @@ Public Class ClassImport_Windream
Return True
Catch ex As Exception
MsgBox("Unexpected Error in CreateFolderforIndex-Method:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in CreateFolderforIndex-Method:" & vbCrLf & ex.Message, MsgBoxStyle.Critical)
LOGGER.Warn("Fehler in CrFolderForIndex: " & ex.Message, True)
Return False
End Try
@@ -752,7 +752,7 @@ Public Class ClassImport_Windream
CURRENT_NEWFILENAME = _NewFileString & extension
Return True
Catch ex As Exception
LOGGER.Warn(" - Error in versioning file - error: " & vbNewLine & ex.Message)
LOGGER.Warn(" - Error in versioning file - error: " & vbCrLf & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in versioning file:")
Return False
End Try

View File

@@ -513,22 +513,6 @@ Public Class ClassInit
oFNSQL = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Record-Organizer'"
MYDB_ECM.ExecuteNonQuery(oFNSQL)
Return False
Else
Try
'Die FolderWatch starten
Dim sql1 = "SELECT FOLDER_PATH FROM TBPMO_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_GUID
Dim folderwatch_SCAN = MYDB_ECM.GetScalarValue(sql1)
If Not folderwatch_SCAN Is Nothing Then
CURRENT_SCAN_FOLDERWATCH = folderwatch_SCAN
If FWSCAN_started = True Then
ClassFolderWatcher.StartStop_FolderWatchSCAN()
End If
End If
Catch ex As Exception
LOGGER.Warn("Unexpected Error in Init_Folderwatch: " & ex.Message, True)
Return False
End Try
End If
'If LICENSE_PROXY = True And clsDatabase.DB_PROXY_INITIALIZED Then
@@ -536,6 +520,7 @@ Public Class ClassInit
'End If
Dim oSQL = $"SELECT COUNT(GU.GUID) FROM TBDD_GROUPS_USER GU INNER JOIN TBDD_GROUPS G ON GU.GROUP_ID = G.GUID WHERE G.NAME = 'ORGFLOW-Supervisor' AND GU.USER_ID = {USER_GUID}"
USER_IS_SUPERVISOR = MYDB_ECM.GetScalarValue(oSQL)
ClassHelper.DELETE_PMO_FILE_USER_OPEN_FILES()
Return True
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -91,7 +91,7 @@ Public Class ClassNodeNavigation
' ParentNode.Nodes.Add(NEW_NODE)
' Next '
'End Function
Public Shared Sub Check_NODE_CONFIG_ID(ENTITY_ID As Integer, myTreeNode As TreeNode)
Public Shared Sub Check_NODE_CONFIG_ID(ENTITY_ID As Integer, myTreeNode As TreeNode, pDatatable As DataTable)
Try
If myTreeNode Is Nothing Then
Exit Sub
@@ -108,9 +108,9 @@ Public Class ClassNodeNavigation
Else
LOGGER.Debug($"Attention no NODE-TYPE in staticListItems(0) [{staticListItems(0).ToString}]")
End If
If NODE_CONFIGURABLE_NODES_DT.Rows.Count > 0 And IsNumeric(NODE_ID) Then
If pDatatable.Rows.Count > 0 And IsNumeric(NODE_ID) Then
'Prüfen ob es für dieses Level einen konfigurierbaren Knoten gibt
Dim oTable As DataTable = NODE_CONFIGURABLE_NODES_DT
Dim oTable As DataTable = pDatatable
' Get rows with PARENT_ID = NODE_ID
Dim result() As DataRow = oTable.Select("PARENT_NODE = " & NODE_CONFIG_ID)
Dim count As Integer
@@ -169,7 +169,7 @@ Public Class ClassNodeNavigation
Return TagString
End Try
End Function
Public Shared Function CreateTreeViewNodes(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList)
Public Shared Function CreateTreeViewNodes(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList, pDT_CONFIGURABLE_NODES As DataTable)
Try
LOGGER.Debug($"NODES: DT_TREEVIEW_NODES-Count: {DT_TREEVIEW_NODES.Rows.Count}")
Dim sw As New SW("CreateTreeViewNodes")
@@ -184,7 +184,7 @@ Public Class ClassNodeNavigation
For i = 0 To MAIN_NODES.GetUpperBound(0)
If ENTITY_ID <> MAIN_NODES(i)("ENTITY_ID") Then
ENTITY_ID = MAIN_NODES(i)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(MAIN_NODES(i)("ENTITY_ID"), Nothing)
ClassNodeNavigation.Check_NODE_CONFIG_ID(MAIN_NODES(i)("ENTITY_ID"), Nothing, pDT_CONFIGURABLE_NODES)
End If
Dim NODE_Tag = CreateNODE_TAG(MAIN_NODES(i)("ENTITY_ID"), MAIN_NODES(i)("GUID"), MAIN_NODES(i)("RECORD_ID"), MAIN_NODES(i)("NODE_CONFIG_ID"))
@@ -222,7 +222,7 @@ Public Class ClassNodeNavigation
End Try
MAIN_NODE = CheckSubNodes(DT_TREEVIEW_NODES, MAIN_NODES(i)("GUID"), TREEVIEW_IMAGELIST, MAIN_NODE, MAIN_NODES(i)("EXPAND_NODE"))
MAIN_NODE = CheckSubNodes(DT_TREEVIEW_NODES, MAIN_NODES(i)("GUID"), TREEVIEW_IMAGELIST, MAIN_NODE, MAIN_NODES(i)("EXPAND_NODE"), pDT_CONFIGURABLE_NODES)
'Add the node
mytrv.Nodes.Add(MAIN_NODE)
@@ -235,7 +235,7 @@ Public Class ClassNodeNavigation
Return Nothing
End Try
End Function
Private Shared Function CheckSubNodes(DT_TREEVIEW_NODES As DataTable, PARENT_GUID As Integer, TREEVIEW_IMAGELIST As ImageList, MY_NODE As TreeNode, EXPAND As Boolean)
Private Shared Function CheckSubNodes(DT_TREEVIEW_NODES As DataTable, PARENT_GUID As Integer, TREEVIEW_IMAGELIST As ImageList, MY_NODE As TreeNode, EXPAND As Boolean, pDT_CONFIGURABLE_NODES As DataTable)
Dim ENTITY_ID As Integer
Dim expression As String
expression = "PARENT_GUID = " & PARENT_GUID.ToString
@@ -246,7 +246,7 @@ Public Class ClassNodeNavigation
For i = 0 To SUB_NODE_ROW.GetUpperBound(0)
If ENTITY_ID <> SUB_NODE_ROW(i)("ENTITY_ID") Then
ENTITY_ID = SUB_NODE_ROW(i)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(SUB_NODE_ROW(i)("ENTITY_ID"), MY_NODE)
ClassNodeNavigation.Check_NODE_CONFIG_ID(SUB_NODE_ROW(i)("ENTITY_ID"), MY_NODE, pDT_CONFIGURABLE_NODES)
End If
Dim NODE_Tag = CreateNODE_TAG(SUB_NODE_ROW(i)("ENTITY_ID"), SUB_NODE_ROW(i)("GUID"), SUB_NODE_ROW(i)("RECORD_ID"), SUB_NODE_ROW(i)("NODE_CONFIG_ID"))
If SUB_NODE_ROW(i)("NODE_CAPTION").ToString.Contains("Neuer") Then
@@ -290,7 +290,7 @@ Public Class ClassNodeNavigation
Catch ex As Exception
LOGGER.Warn("Unexpected Error in Formatting NodeColor (Subnodes): " & ex.Message)
End Try
CheckSubNodes(DT_TREEVIEW_NODES, SUB_NODE_ROW(i)("GUID"), TREEVIEW_IMAGELIST, SUB_NODE, SUB_NODE_ROW(i)("EXPAND_NODE"))
CheckSubNodes(DT_TREEVIEW_NODES, SUB_NODE_ROW(i)("GUID"), TREEVIEW_IMAGELIST, SUB_NODE, SUB_NODE_ROW(i)("EXPAND_NODE"), pDT_CONFIGURABLE_NODES)
'Add the node
MY_NODE.Nodes.Add(SUB_NODE)
'If EXPAND = True Then

View File

@@ -1,19 +1,21 @@
Imports System.ComponentModel
Public Class ClassAsyncNodeBuild
Private DTNODES As DataTable
Private DT_CONFIGURABLE_NODES As DataTable
Private ImgList As ImageList
Public WithEvents bw As BackgroundWorker
Public newTreeview As TreeView
Public Sub New(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList)
Public Sub New(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList, pDT_CONFIGURABLE_NODES As DataTable)
Me.bw = New BackgroundWorker()
bw.WorkerReportsProgress = False
bw.WorkerSupportsCancellation = False
Me.DTNODES = DT_TREEVIEW_NODES
Me.ImgList = TREEVIEW_IMAGELIST
DT_CONFIGURABLE_NODES = pDT_CONFIGURABLE_NODES
End Sub
Private Sub bw_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs) Handles bw.DoWork
Me.newTreeview = ClassNodeNavigation.CreateTreeViewNodes(DTNODES, ImgList)
Me.newTreeview = ClassNodeNavigation.CreateTreeViewNodes(DTNODES, ImgList, DT_CONFIGURABLE_NODES)
End Sub
End Class