This commit is contained in:
Digital Data - Marlon Schreiber
2018-01-05 14:59:32 +01:00
parent 27abfd0b74
commit ef06120f13
13 changed files with 470 additions and 784 deletions

View File

@@ -153,17 +153,13 @@ Public Class ClassControlValues
Public Shared Sub LoadControlValues(RecordId As Integer, ParentRecordId As Integer, FormId As Integer, controls As Control.ControlCollection, Entity_ID As Integer, Optional isGroupbox As Boolean = False)
Try
Dim sw As New Stopwatch
sw.Start()
Dim sw As New SW("LoadControlValues1")
'Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId)
Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordId)
Dim DT_ControlValues As DataTable = ClassDatabase.Return_Datatable(SQL, True)
CURRENT_CONTROL_VALUES = DT_ControlValues
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load VWPMO_VALUES via SQL took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
If controls.Count = 0 Then
ClassLogger.Add("the control-Collection in LoadControlValuesNeu is empty!", True)
@@ -175,7 +171,7 @@ Public Class ClassControlValues
' Zuerst alle Controls leeren
ClearControlValues(controls)
sw.Start()
sw = New SW("LoadControlValues2")
' Load all Hints for controls
Dim SQLHint = "SELECT * FROM VWPMO_CONTROL_HINT WHERE FORM_ID = " & FormId
Dim DT_Hints As DataTable = ClassDatabase.Return_Datatable(SQLHint, True)
@@ -184,10 +180,8 @@ Public Class ClassControlValues
ClassControlValueCache.SaveHint(row.Item(1), row.Item(2))
Next
' LoadControlHints(controls)
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> LoadControlHints took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Start()
sw.Done()
sw = New SW("LoadControlValues3")
For Each control As Control In controls
PerfomanceHelper.SuspendDraw(control)
@@ -206,9 +200,7 @@ Public Class ClassControlValues
PerfomanceHelper.ResumeDraw(control)
Next
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Loop LoadControlValue took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
Catch ex As Exception
ClassLogger.Add("Unexpected Error in LoadControlValuesNeu: " & ex.Message, True)
MsgBox("Error in LoadControlValuesNeu:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -323,29 +315,26 @@ Public Class ClassControlValues
Public Shared Sub LoadControlValuesList(FormID As Integer, controls As Control.ControlCollection)
Try
Dim sw As New Stopwatch
sw.Start()
Dim sw As New SW("LoadControlValuesList - Database")
If controls.Count = 0 Then
'MsgBox("LoadControlValuesList: Control.ControlCollection is unexpected empty!", MsgBoxStyle.Exclamation)
ClassLogger.Add("LoadControlValuesList: Control.ControlCollection is unexpected empty!")
Exit Sub
End If
Dim swsql As Stopwatch = Stopwatch.StartNew()
' Zuerst alle SQL Commands für FormID finden
' CONTROL_SQLCOMMAND_1 wird als SQL gealiast
Dim SQL As String = String.Format("SELECT CONTROL_ID, CONTROL_CONNID_1,CONTROL_SQLCOMMAND_1 AS SQL FROM VWPMO_CONTROL_SCREEN WHERE FORM_ID = {0} AND CONTROL_SQLCOMMAND_1 NOT LIKE '%@%'", FormID)
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL, True)
Dim elapsed As Double
elapsed = swsql.Elapsed.TotalSeconds
swsql.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> LoadControlValuesList - Database took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
If dt.Rows.Count = 0 Then
Exit Sub
End If
sw = New SW("LoadControlValuesList")
For Each Ctrl As Control In controls
Dim controlTagId = DirectCast(Ctrl.Tag, ClassControlMetadata).Id
@@ -384,11 +373,7 @@ Public Class ClassControlValues
PerfomanceHelper.ResumeDraw(Ctrl)
Next
sw.Stop()
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> LoadControlValuesList took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
Catch ex As Exception
ClassLogger.Add("Unexpected Error in LoadControlValuesList: " & ex.Message, True)
MsgBox("Unexpected Error in LoadControlValuesList:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -406,7 +391,7 @@ Public Class ClassControlValues
End If
Dim SQL As String = String.Format("SELECT CONTROL_ID, CONTROL_CONNID_1, CONTROL_SQLCOMMAND_1 AS SQL FROM VWPMO_CONTROL_SCREEN WHERE FORM_ID = {0} AND CONTROL_SQLCOMMAND_1 <> '' AND CONTROL_SQLCOMMAND_1 LIKE '%@%'", FormId)
Dim SW As Stopwatch = Stopwatch.StartNew()
Dim sw As New SW("LoadControlValuesListWithPlaceholders")
Dim commands As New List(Of String)
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL, True)
@@ -465,10 +450,7 @@ Public Class ClassControlValues
PerfomanceHelper.ResumeDraw(Ctrl)
Next
Dim elapsed As Double
elapsed = SW.Elapsed.TotalSeconds
SW.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> LoadControlValuesListWithPlaceholders took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
Catch ex As Exception
ClassLogger.Add("Unexpected Error in LoadControlValuesListWithPlaceholders: " & ex.Message, True)
MsgBox("Unexpected Error in LoadControlValuesListWithPlaceholders:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -491,7 +473,7 @@ Public Class ClassControlValues
' Alle Controls finden, die Abhängigkeiten haben
Dim SQL As String = String.Format("select GUID,NAME,SQL_COMMAND_2 from TBPMO_CONTROL where FORM_ID = {0} AND SQL_COMMAND_2 IS NOT NULL " _
& "AND LEN(SQL_COMMAND_2) > 10 AND SQL_COMMAND_2 LIKE '%@%@%'", FormId)
Dim SW As Stopwatch = Stopwatch.StartNew()
Dim sw As New SW("Enable_Depending_Controls")
Dim commands As New List(Of String)
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
@@ -553,10 +535,7 @@ Public Class ClassControlValues
End If
Next
Dim elapsed As Double
elapsed = SW.Elapsed.TotalSeconds
SW.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Enable_Depending_Controls took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
SW.done
Catch ex As Exception
ClassLogger.Add("Unexpected Error in Enable_Depending_Controls: " & ex.Message, True)
MsgBox("Unexpected Error in Enable_Depending_Controls:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -687,8 +666,7 @@ Public Class ClassControlValues
Public Shared Sub LoadDefaultValues(FormID As Integer, RecordID As Integer, controls As Control.ControlCollection, parentRecordID As Integer, EntityID As Integer)
Try
Dim sw As New Stopwatch()
sw.Start()
Dim sw As New SW("LoadDefaultValues")
' Alle Controls leeren
ClearControlValues(controls)
@@ -714,8 +692,7 @@ Public Class ClassControlValues
Next
sw.Stop()
Console.WriteLine("LoadDefaultValues took {0} milliseconds to load", sw.ElapsedMilliseconds)
sw.Done()
'Den Focus auf das erste Steuerelement setzen
For Each c As Control In controls

View File

@@ -234,24 +234,20 @@ Public Class ClassDOC_SEARCH
DT_RESULTLIST_SEL_VALUES = vDT_RESULTLIST_SELVALUES
RECORD_ID = REC_ID
Try
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim sw As New SW("Get_DOC_RESULTTABLE")
Dim DT_FILE_RESULT As DataTable = GET_DOCSEARCH_DATATABLE(BG)
CURRENT_DOC_RESULTS = DT_FILE_RESULT
If IsNothing(DT_FILE_RESULT) Then
ClassLogger.Add(">> ATTENTION: GET_DOCSEARCH_DATATABLE IS NOTHING!!", False)
Return Nothing
End If
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
Console.WriteLine(">> GET_DOCSEARCH_DATATABLE took " & Format(elapsed, "0.000000000") & " seconds")
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run GET_DOCSEARCH_DATATABLE took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
If Preload = True Then
Return Nothing
End If
sw.Start()
sw = New SW("Get_DOC_RESULTTABLE DTGrid-Definition")
Dim DTGrid As New DataTable
Dim ColArrayDEFINITION As New List(Of String)
Dim listcheck As New List(Of String)
@@ -320,12 +316,9 @@ Public Class ClassDOC_SEARCH
ClassLogger.Add("Unexpected Error in Construct Datatable: " & ex.Message)
MsgBox("Unexpected Error in Construct Datatable for GridResult: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
Console.WriteLine(">> DTGrid-Definition took " & Format(elapsed, "0.000000000") & " seconds")
If LogErrorsOnly = False Then ClassLogger.Add(" >> DTGrid-Definition took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Start()
sw.Done()
sw = New SW("Run Get_DOC_RESULTTABLE")
COL_ARRAY_RESULTLIST = ColArrayDEFINITION
For Each col1 As String In listcheck
@@ -413,10 +406,7 @@ Public Class ClassDOC_SEARCH
Return DTGrid
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run Get_DOC_RESULTTABLE took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
Catch ex As Exception
MsgBox("Unexpected Error in Get_DOC_RESULTTABLE: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Get_DOC_RESULTTABLE: " & ex.Message)

View File

@@ -76,8 +76,9 @@
Return TagString
End Try
End Function
Public Shared Function CreateTreeViewNodesNew1(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList)
Public Shared Function CreateTreeViewNodes(DT_TREEVIEW_NODES As DataTable, TREEVIEW_IMAGELIST As ImageList)
Try
Dim sw As New SW("CreateTreeViewNodes")
Dim mytrv As New TreeView
Dim ENTITY_ID As Integer
Dim expression As String
@@ -103,16 +104,25 @@
Next
MAIN_NODE.ImageIndex = index
MAIN_NODE.SelectedImageIndex = index
'New Font(fontfamily, fontsize, CType(fontstyle, FontStyle))
Dim fontfamily As String
Dim fontstyle, fontcolor, fontsize As Integer
fontfamily = MAIN_NODES(i)("FONT_FAMILY").ToString
fontsize = CInt(MAIN_NODES(i)("FONT_SIZE"))
fontstyle = MAIN_NODES(i)("FONT_STYLE")
fontcolor = MAIN_NODES(i)("FONT_COLOR")
MAIN_NODE.NodeFont = New Font(fontfamily, fontsize, CType(fontstyle, FontStyle))
MAIN_NODE.ForeColor = IntToColor(fontcolor)
MAIN_NODE = CheckSubNodes(DT_TREEVIEW_NODES, MAIN_NODES(i)("GUID"), TREEVIEW_IMAGELIST, MAIN_NODE, MAIN_NODES(i)("EXPAND_NODE"))
'Add the node
mytrv.Nodes.Add(MAIN_NODE)
Next
sw.Done()
Return mytrv
Catch ex As System.Exception
ClassLogger.Add(">> Unexpected Error in CreateTreeViewNodesNew (NodeNavigation): " & ex.Message, True)
MsgBox("Error in CreateTreeViewNodesNew (NodeNavigation):" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add(">> Unexpected Error in CreateTreeViewNodes (NodeNavigation): " & ex.Message, True)
MsgBox("Error in CreateTreeViewNodes (NodeNavigation):" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
@@ -141,6 +151,15 @@
Next
SUB_NODE.ImageIndex = index
SUB_NODE.SelectedImageIndex = index
Dim fontfamily As String
Dim fontstyle, fontcolor, fontsize As Integer
fontfamily = SUB_NODE_ROW(i)("FONT_FAMILY").ToString
fontsize = CInt(SUB_NODE_ROW(i)("FONT_SIZE"))
fontstyle = SUB_NODE_ROW(i)("FONT_STYLE")
fontcolor = SUB_NODE_ROW(i)("FONT_COLOR")
SUB_NODE.NodeFont = New Font(fontfamily, fontsize, CType(fontstyle, FontStyle))
SUB_NODE.ForeColor = IntToColor(fontcolor)
CheckSubNodes(DT_TREEVIEW_NODES, SUB_NODE_ROW(i)("GUID"), TREEVIEW_IMAGELIST, SUB_NODE, SUB_NODE_ROW(i)("EXPAND_NODE"))
'Add the node
@@ -152,60 +171,7 @@
Return MY_NODE
End Function
Public Shared Function CreateTreeViewNodesNew(DT_TREEVIEW_PER_CONTROLS As DataTable, TREEVIEW_IMAGELIST As ImageList)
Try
Dim mytrv As New TreeView
Dim node As TreeNode
Dim subNode As TreeNode
Dim ENTITY_ID As Integer
For Each row As DataRow In DT_TREEVIEW_PER_CONTROLS.Rows
If ENTITY_ID <> row.Item("ENTITY_ID") Then
ENTITY_ID = row.Item("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(row.Item("ENTITY_ID"))
End If
Dim NODE_Tag = CreateNODE_TAG(row.Item("ENTITY_ID"), row.Item("GUID"), row.Item("RECORD_ID"), row.Item("NODE_CONFIG_ID"))
'search in the treeview if any country is already present
node = FindNode(mytrv.Nodes, row.Item("PARENT_GUID"))
If node IsNot Nothing Then
'ParentNode Foun
subNode = New TreeNode(row.Item("NODE_CAPTION"))
subNode.Tag = NODE_Tag
Dim index As Integer = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = row.Item("NODE_CONFIG_ID") & "#" & row.Item("ENTITY_ID") Then
Exit For
End If
index += 1
Next
subNode.ImageIndex = index
subNode.SelectedImageIndex = index
'Add new Node to parentNode
node.Nodes.Add(subNode)
Else
Dim NEW_NODE = New TreeNode(row.Item("NODE_CAPTION"))
NEW_NODE.Tag = NODE_Tag
Dim index As Integer = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = row.Item("NODE_CONFIG_ID") & "#" & row.Item("ENTITY_ID") Then
Exit For
End If
index += 1
Next
NEW_NODE.ImageIndex = index
NEW_NODE.SelectedImageIndex = index
'Add the node
'node.Nodes.Add(NEW_NODE)
mytrv.Nodes.Add(NEW_NODE)
End If
Next
Return mytrv
Catch ex As System.Exception
ClassLogger.Add(">> Unexpected Error in CreateTreeViewNodesNew (NodeNavigation): " & ex.Message, True)
MsgBox("Error in CreateTreeViewNodesNew (NodeNavigation):" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Private Shared Function FindNode(tncoll As TreeNodeCollection, PARENT_GUID As Integer) As TreeNode
Try
Dim tnFound As TreeNode
@@ -227,315 +193,6 @@
End Function
Public Shared Function CreateTreeViewNodes(DT_TREEVIEW_PER_CONTROLS As DataTable, TREEVIEW_IMAGELIST As ImageList)
Try
Dim mytrv As New TreeView
' Rootnode erstellen und taggen
If DT_TREEVIEW_PER_CONTROLS.Rows.Count > 1 Then
' Presuming the DataTable has a column named ENTITY_ID and TYPE_NODE.
Dim expression As String
expression = "TYPE_NODE = 0"
Dim foundRowsLevel0() As DataRow
' Use the Select method to find all rows matching the filter.
foundRowsLevel0 = DT_TREEVIEW_PER_CONTROLS.Select(expression, "SEQUENCE,NODE_CAPTION")
Dim i As Integer
Dim NODE_CONFIG_ID
Dim LEVEL0_NODE As TreeNode
' For each row create a Node
For i = 0 To foundRowsLevel0.GetUpperBound(0)
Dim ID = foundRowsLevel0(i)("GUID")
Dim LevelEntity = foundRowsLevel0(i)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity)
Dim controlID = foundRowsLevel0(i)("CONTROL_ID")
Dim nodetext = foundRowsLevel0(i)("NODE_CAPTION")
Dim Type_node = foundRowsLevel0(i)("TYPE_NODE")
Dim RECORD_ID = foundRowsLevel0(i)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel0(i)("NODE_CONFIG_ID")
LEVEL0_NODE = New TreeNode(nodetext)
LEVEL0_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
Dim index As Integer = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity Then
Exit For
End If
index += 1
Next
LEVEL0_NODE.ImageIndex = index
LEVEL0_NODE.SelectedImageIndex = index
'### LEVEL 1 laden #######
Dim expressionLevel1 As String
expressionLevel1 = "PARENT_GUID = " & ID 'TYPE_NODE = 1 AND Einschränkung auf Type 2 und Parent_Guid
Dim foundRowsLevel1() As DataRow
foundRowsLevel1 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel1, "SEQUENCE,NODE_CAPTION")
Dim j As Integer
For j = 0 To foundRowsLevel1.GetUpperBound(0)
Dim ID1 = foundRowsLevel1(j)("GUID")
Dim LevelEntity1 = foundRowsLevel1(j)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity1)
Dim controlID1 = foundRowsLevel1(j)("CONTROL_ID")
Dim nodetext1 = foundRowsLevel1(j)("NODE_CAPTION")
Dim Type_node1 = foundRowsLevel1(j)("TYPE_NODE")
RECORD_ID = foundRowsLevel1(j)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel1(j)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL1_NODE As TreeNode
LEVEL1_NODE = New TreeNode(nodetext1)
LEVEL1_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity1 Then
Exit For
End If
index += 1
Next
LEVEL1_NODE.ImageIndex = index
LEVEL1_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL0_NODE.Nodes.Add(LEVEL1_NODE)
'### LEVEL 2 laden #######
Dim expressionLevel2 As String
expressionLevel2 = "PARENT_GUID = " & ID1 'TYPE_NODE = 2 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel2() As DataRow
foundRowsLevel2 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel2, "SEQUENCE,NODE_CAPTION")
Dim k As Integer
For k = 0 To foundRowsLevel2.GetUpperBound(0)
Dim ID2 = foundRowsLevel2(k)("GUID")
Dim LevelEntity2 = foundRowsLevel2(k)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity2)
Dim controlID2 = foundRowsLevel2(k)("CONTROL_ID")
Dim nodetext2 = foundRowsLevel2(k)("NODE_CAPTION")
RECORD_ID = foundRowsLevel2(k)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel2(k)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL2_NODE As TreeNode
LEVEL2_NODE = New TreeNode(nodetext2)
LEVEL2_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity2 Then
Exit For
End If
index += 1
Next
LEVEL2_NODE.ImageIndex = index
LEVEL2_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
'### LEVEL 3 laden #######
Dim expressionLevel3 As String
expressionLevel3 = "PARENT_GUID = " & ID2 'TYPE_NODE = 3 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel3() As DataRow
foundRowsLevel3 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel3, "SEQUENCE,NODE_CAPTION")
Dim l As Integer
For l = 0 To foundRowsLevel3.GetUpperBound(0)
Dim ID3 = foundRowsLevel3(l)("GUID")
Dim LevelEntity3 = foundRowsLevel3(l)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity3)
Dim controlID3 = foundRowsLevel3(l)("CONTROL_ID")
Dim nodetext3 = foundRowsLevel3(l)("NODE_CAPTION")
RECORD_ID = foundRowsLevel3(l)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel3(l)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL3_NODE As TreeNode
LEVEL3_NODE = New TreeNode(nodetext3)
LEVEL3_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity3 Then
Exit For
End If
index += 1
Next
LEVEL3_NODE.ImageIndex = index
LEVEL3_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL2_NODE.Nodes.Add(LEVEL3_NODE)
'### LEVEL 4 laden #######
Dim expressionLevel4 As String
expressionLevel4 = "PARENT_GUID = " & ID3 'TYPE_NODE = 4 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel4() As DataRow
foundRowsLevel4 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel4, "SEQUENCE,NODE_CAPTION")
Dim m As Integer
For m = 0 To foundRowsLevel4.GetUpperBound(0)
Dim ID5 = foundRowsLevel4(m)("GUID")
Dim LevelEntity5 = foundRowsLevel4(m)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity5)
Dim controlID5 = foundRowsLevel4(m)("CONTROL_ID")
Dim nodetext5 = foundRowsLevel4(m)("NODE_CAPTION")
RECORD_ID = foundRowsLevel4(m)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel4(m)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL4_NODE As TreeNode
LEVEL4_NODE = New TreeNode(nodetext5)
LEVEL4_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity5 Then
Exit For
End If
index += 1
Next
LEVEL4_NODE.ImageIndex = index
LEVEL4_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL3_NODE.Nodes.Add(LEVEL4_NODE)
'### LEVEL 5 laden #######
Dim expressionLevel5 As String
Dim sortExp As String = "NODE_CONFIG_ID, SEQUENCE"
expressionLevel5 = "PARENT_GUID = " & ID5 'TYPE_NODE = 5 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel5() As DataRow
foundRowsLevel5 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel5, sortExp)
Dim n As Integer
If ID5 = 1146 Then
Console.WriteLine("Aha")
End If
For n = 0 To foundRowsLevel5.GetUpperBound(0)
Dim ID6 = foundRowsLevel5(n)("GUID")
Dim LevelEntity6 = foundRowsLevel5(n)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity6)
Dim controlID6 = foundRowsLevel5(n)("CONTROL_ID")
Dim nodetext6 = foundRowsLevel5(n)("NODE_CAPTION")
RECORD_ID = foundRowsLevel5(n)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel5(n)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL5_NODE As TreeNode
LEVEL5_NODE = New TreeNode(nodetext6)
LEVEL5_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity6 Then
Exit For
End If
index += 1
Next
LEVEL5_NODE.ImageIndex = index
LEVEL5_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL4_NODE.Nodes.Add(LEVEL5_NODE)
'### LEVEL 5 laden #######
Dim expressionLevel6 As String
expressionLevel6 = "PARENT_GUID = " & ID6 'TYPE_NODE = 6 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel6() As DataRow
foundRowsLevel6 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel6, sortExp)
If ID6 = 1146 Then
Console.WriteLine("Aha")
End If
Dim o As Integer
For o = 0 To foundRowsLevel6.GetUpperBound(0)
Dim ID7 = foundRowsLevel6(o)("GUID")
Dim LevelEntity7 = foundRowsLevel6(o)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity7)
Dim controlID7 = foundRowsLevel6(o)("CONTROL_ID")
Dim nodetext7 = foundRowsLevel6(o)("NODE_CAPTION")
RECORD_ID = foundRowsLevel6(o)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel6(o)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL6_NODE As TreeNode
LEVEL6_NODE = New TreeNode(nodetext7)
LEVEL6_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity7 Then
Exit For
End If
index += 1
Next
LEVEL6_NODE.ImageIndex = index
LEVEL6_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL5_NODE.Nodes.Add(LEVEL6_NODE)
'### LEVEL 7 laden #######
Dim expressionLevel7 As String
expressionLevel7 = "PARENT_GUID = " & ID7 'TYPE_NODE = 7 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel7() As DataRow
foundRowsLevel7 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel7, sortExp)
Dim p As Integer
For p = 0 To foundRowsLevel7.GetUpperBound(0)
Dim ID8 = foundRowsLevel7(p)("GUID")
Dim LevelEntity8 = foundRowsLevel7(p)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity8)
Dim controlID8 = foundRowsLevel7(p)("CONTROL_ID")
Dim nodetext8 = foundRowsLevel7(p)("NODE_CAPTION")
RECORD_ID = foundRowsLevel7(p)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel7(p)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL7_NODE As TreeNode
LEVEL7_NODE = New TreeNode(nodetext8)
LEVEL7_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity8 Then
Exit For
End If
index += 1
Next
LEVEL7_NODE.ImageIndex = index
LEVEL7_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL6_NODE.Nodes.Add(LEVEL7_NODE)
'### LEVEL 7 laden #######
Dim expressionLevel8 As String
expressionLevel8 = "PARENT_GUID = " & ID8 'TYPE_NODE = 7 AND Einschränkung auf Type und Parent_Guid
Dim foundRowsLevel8() As DataRow
foundRowsLevel8 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel8, sortExp)
Dim q As Integer
For q = 0 To foundRowsLevel8.GetUpperBound(0)
Dim ID9 = foundRowsLevel8(q)("GUID")
Dim LevelEntity9 = foundRowsLevel8(q)("ENTITY_ID")
ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity9)
Dim controlID9 = foundRowsLevel8(q)("CONTROL_ID")
Dim nodetext9 = foundRowsLevel8(q)("NODE_CAPTION")
RECORD_ID = foundRowsLevel8(q)("RECORD_ID")
NODE_CONFIG_ID = foundRowsLevel8(q)("NODE_CONFIG_ID")
' Node erstellen..
Dim LEVEL8_NODE As TreeNode
LEVEL8_NODE = New TreeNode(nodetext9)
LEVEL8_NODE.Tag = CreateNODE_TAG(LevelEntity, ID, RECORD_ID, NODE_CONFIG_ID)
index = 0
For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
If img = NODE_CONFIG_ID & "#" & LevelEntity9 Then
Exit For
End If
index += 1
Next
LEVEL8_NODE.ImageIndex = index
LEVEL8_NODE.SelectedImageIndex = index
' ..und einfügen
LEVEL7_NODE.Nodes.Add(LEVEL8_NODE)
'### LEVEL 8 laden #######
Next ' Level 7 Ende
Next ' Level 7 Ende
Next ' Level 6 Ende
Next ' Level 5 Ende
Next 'Level 4 Ende
Next 'Level 3 Ende
Next ' Level 2 Ende
Next 'Level 1 Ende
Next
mytrv.Nodes.Add(LEVEL0_NODE)
Else
MsgBox("No Nodes for Navigation. Check the Control Navigation Option or inform Digital Data!", MsgBoxStyle.Critical)
Return Nothing
End If
Return mytrv
Catch ex As Exception
ClassLogger.Add(">> Unexpected Error in CreateTreeViewNodes (NodeNavigation): " & ex.Message, True)
MsgBox("Error in CreateTreeViewNodes (NodeNavigation):" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Public Shared Function Return_ENTITY_FOR_TAG(NodeString As String)
If IsNumeric(NodeString) Then
@@ -551,6 +208,7 @@
End If
End Function
Public Shared Function Return_RECORD_forTag(NodeString As String)
Dim sw As New SW("Return_RECORD_forTag")
If IsNumeric(NodeString) Then
Return NodeString
Else
@@ -559,15 +217,19 @@
Try
Dim _RECORD = staticListItems(3).ToString.Replace("RECORD-ID", "")
If IsNumeric(_RECORD) Then
sw.Done()
Return _RECORD
Else
sw.Done()
Return 0
End If
Catch ex As Exception
sw.Done()
ClassLogger.Add("Unexpected Error in Return_RECORD_forTag ('" & NodeString & "'): " & ex.Message, True)
Return 0
End Try
Else
sw.Done()
Return 0
End If

View File

@@ -52,6 +52,7 @@ Public Class ClassRecordCommands
Return ClassDatabase.Execute_non_Query(SQL)
End Function
Public Shared Function CHECK_RECORD_FINAL(RecordId As Integer, IsInsert As Boolean)
If RecordId = 0 Then Return True
Dim SQL = String.Format("EXEC PRPMO_RECORD_CHECK_INTEGRITY {0},'{1}',{2}", RecordId, Environment.UserName, IsInsert)
Return ClassDatabase.Execute_non_Query(SQL)
End Function

View File

@@ -1,6 +1,7 @@
Public Class ClassRightManagement
Public Shared Sub Check_Set_Rights(RECORD_ID As Integer, ENTITY_ID As Integer)
Try
Dim sw = New SW("Check_Set_Rights")
RIGHT_EDIT_R = True
RIGHT_ADD_R = True
RIGHT_DELETE_R = True
@@ -76,6 +77,7 @@
ClassLogger.Add(" >> RIGHT_DELETE_DOC: " & RIGHT_DELETE_DOC.ToString, False)
ClassLogger.Add(" >> RIGHT_READ_ONLY_DOC: " & RIGHT_READ_ONLY_DOC.ToString, False)
End If
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Check_Set_Rights", ex.Message, ex.StackTrace)
End Try

View File

@@ -513,10 +513,23 @@ Module ModuleHelperMethods
End Sub
Public Function Done() As Long
If LogErrorsOnly = True Then Return 0
stopwatch.Stop()
Dim message = String.Format("{0, 5}ms || {1}", stopwatch.ElapsedMilliseconds, label)
Dim ts As TimeSpan = stopwatch.Elapsed
Dim timespan_ = String.Format("{0:00}:{1:00}.{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds / 10)
If ts.Minutes > 0 Then
timespan_ = String.Format("{0:00}:{1:00}.{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds / 10)
ElseIf ts.Seconds > 0 And (ts.Minutes > 0) = False Then
timespan_ = String.Format("{0:00}.{1:00} seconds", ts.Seconds, ts.Milliseconds / 10)
ElseIf (ts.Seconds > 0) = False And ts.Milliseconds > 0 Then
timespan_ = String.Format("{0:00}.{1:00} seconds", ts.Seconds, ts.Milliseconds / 10)
End If
If timespan_ <> "00:00.00" Then
Dim message = String.Format("{0} || {1}", timespan_, label)
Console.WriteLine(message)
If LogErrorsOnly = False Then ClassLogger.Add(message, False)
End If
Return stopwatch.ElapsedMilliseconds
End Function

View File

@@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("ADDI - Akte der Dinge")>
<Assembly: AssemblyCopyright("Copyright © 2017")>
<Assembly: AssemblyCopyright("Copyright © 2018")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.9.6")>
<Assembly: AssemblyVersion("2.4.9.7")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguageAttribute("")>

View File

@@ -221,6 +221,7 @@ Partial Class frmConstructor_Main
Me.ToolTipController = New DevExpress.Utils.ToolTipController(Me.components)
Me.TBPMO_RECORD_VARIANTTableAdapter = New DD_Record_Organizer.DD_DMSDataSetTableAdapters.TBPMO_RECORD_VARIANTTableAdapter()
Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components)
Me.BW_LoadTreeView = New System.ComponentModel.BackgroundWorker()
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.SuspendLayout()
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -1540,6 +1541,11 @@ Partial Class frmConstructor_Main
'
Me.TimerClearResultfiles.Interval = 3000
'
'BW_LoadTreeView
'
Me.BW_LoadTreeView.WorkerReportsProgress = True
Me.BW_LoadTreeView.WorkerSupportsCancellation = True
'
'frmConstructor_Main
'
resources.ApplyResources(Me, "$this")
@@ -1806,4 +1812,5 @@ Partial Class frmConstructor_Main
Friend WithEvents tstxtboxSearchNode As ToolStripTextBox
Friend WithEvents ContextMenuStripClipboard As ContextMenuStrip
Friend WithEvents tslblDocIDMain As ToolStripStatusLabel
Friend WithEvents BW_LoadTreeView As System.ComponentModel.BackgroundWorker
End Class

View File

@@ -132,7 +132,7 @@
<value>0, 0</value>
</data>
<metadata name="cmsTreeView.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>468, 56</value>
<value>615, 56</value>
</metadata>
<data name="ResetEbenenAuswahlToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 22</value>
@@ -534,7 +534,7 @@
<value>0, 25</value>
</data>
<data name="GridControlMain.Size" type="System.Drawing.Size, System.Drawing">
<value>981, 212</value>
<value>988, 212</value>
</data>
<data name="GridControlMain.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -552,7 +552,7 @@
<value>0</value>
</data>
<metadata name="ToolStripRecords.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>969, 56</value>
<value>1116, 56</value>
</metadata>
<data name="tslbldisplayRecords.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI Semibold, 9pt, style=Bold, Italic</value>
@@ -677,7 +677,7 @@
<value>0, 0</value>
</data>
<data name="ToolStripRecords.Size" type="System.Drawing.Size, System.Drawing">
<value>981, 25</value>
<value>988, 25</value>
</data>
<data name="ToolStripRecords.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -761,7 +761,7 @@
<value>0, 0</value>
</data>
<data name="pnlDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>699, 376</value>
<value>699, 383</value>
</data>
<data name="pnlDetails.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -791,7 +791,7 @@
<value>0, 26</value>
</data>
<data name="pnlDocFill.Size" type="System.Drawing.Size, System.Drawing">
<value>555, 326</value>
<value>562, 333</value>
</data>
<data name="pnlDocFill.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -809,7 +809,7 @@
<value>0</value>
</data>
<metadata name="statStripDoc.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1113, 56</value>
<value>17, 95</value>
</metadata>
<data name="tslblDocIDTab1.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 19</value>
@@ -838,10 +838,10 @@
<value>Ansicht eingeschränkt - Klick Bearbeiten für Entsperren</value>
</data>
<data name="statStripDoc.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 352</value>
<value>0, 359</value>
</data>
<data name="statStripDoc.Size" type="System.Drawing.Size, System.Drawing">
<value>555, 24</value>
<value>562, 24</value>
</data>
<data name="statStripDoc.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -868,7 +868,7 @@
<value>0, 0</value>
</data>
<data name="pnlDocToolStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>555, 26</value>
<value>562, 26</value>
</data>
<data name="pnlDocToolStrip.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -889,7 +889,7 @@
<value>Panel2</value>
</data>
<data name="SplitContainerDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 380</value>
<value>1270, 387</value>
</data>
<data name="SplitContainerDetails.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -1065,7 +1065,7 @@
<value>1</value>
</data>
<data name="TabDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 405</value>
<value>1270, 412</value>
</data>
<data name="TabDetails.Text" xml:space="preserve">
<value>Detailansicht</value>
@@ -1083,7 +1083,7 @@
<value>0</value>
</data>
<data name="TCDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1276, 436</value>
<value>1276, 443</value>
</data>
<data name="TCDetails.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -1101,7 +1101,7 @@
<value>255, 128, 0</value>
</data>
<data name="GridControlPos.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 380</value>
<value>1270, 387</value>
</data>
<data name="GridControlPos.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -1119,7 +1119,7 @@
<value>0</value>
</data>
<metadata name="BindingNavigatorPOS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>799, 56</value>
<value>946, 56</value>
</metadata>
<data name="BindingNavigatorAddNewItem.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
@@ -1355,7 +1355,7 @@
</value>
</data>
<data name="TabPos.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 405</value>
<value>1270, 412</value>
</data>
<data name="TabPos.Text" xml:space="preserve">
<value>Positionen</value>
@@ -1373,7 +1373,7 @@
<value>1</value>
</data>
<metadata name="cmsResultFilesBasic.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>706, 95</value>
<value>1081, 95</value>
</metadata>
<data name="cmDoc1FileOpen.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 22</value>
@@ -1417,7 +1417,7 @@
<value>Aqua</value>
</data>
<data name="GridControlDocSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 380</value>
<value>1270, 387</value>
</data>
<data name="GridControlDocSearch.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -1519,7 +1519,7 @@
<value>1</value>
</data>
<data name="TabWindream.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 405</value>
<value>1270, 412</value>
</data>
<data name="TabWindream.Text" xml:space="preserve">
<value>Dateien</value>
@@ -1950,7 +1950,7 @@
<value>2</value>
</data>
<data name="TabFollowUp.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 405</value>
<value>1270, 412</value>
</data>
<data name="TabFollowUp.Text" xml:space="preserve">
<value>Wiedervorlage</value>
@@ -1977,7 +1977,7 @@
<value>Black</value>
</data>
<metadata name="TBPMO_RECORD_VARIANTBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 95</value>
<value>392, 95</value>
</metadata>
<metadata name="DD_DMSDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1140, 17</value>
@@ -2061,7 +2061,7 @@
<value>5</value>
</data>
<data name="GridControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 380</value>
<value>1270, 387</value>
</data>
<data name="GridControl1.TabIndex" type="System.Int32, mscorlib">
<value>90</value>
@@ -2079,7 +2079,7 @@
<value>0</value>
</data>
<metadata name="tsVariants.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1231, 56</value>
<value>135, 95</value>
</metadata>
<data name="tslblVariantsCount.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI Semibold, 9pt, style=Bold, Italic</value>
@@ -2133,7 +2133,7 @@
<value>1</value>
</data>
<data name="TabPageVariant.Size" type="System.Drawing.Size, System.Drawing">
<value>1270, 405</value>
<value>1270, 412</value>
</data>
<data name="TabPageVariant.Text" xml:space="preserve">
<value>Vorgängervarianten</value>
@@ -2220,7 +2220,7 @@
<value>7</value>
</data>
<metadata name="ContextMenuStripResultFiles.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>591, 56</value>
<value>738, 56</value>
</metadata>
<data name="docCM_Open.Size" type="System.Drawing.Size, System.Drawing">
<value>251, 22</value>
@@ -2442,7 +2442,7 @@
<value>17, 17</value>
</metadata>
<metadata name="ContextMenuStripClipboard.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1028, 95</value>
<value>182, 134</value>
</metadata>
<data name="ContextMenuStripClipboard.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 4</value>
@@ -2543,7 +2543,7 @@
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="cmsrpContainer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>568, 95</value>
<value>943, 95</value>
</metadata>
<data name="ChangeHidepanelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 22</value>
@@ -2561,19 +2561,22 @@
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="VWPMO_WF_USER_ACTIVEBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
<value>164, 56</value>
</metadata>
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>295, 56</value>
<value>442, 56</value>
</metadata>
<metadata name="ToolTipController.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1283, 17</value>
<value>17, 56</value>
</metadata>
<metadata name="TBPMO_RECORD_VARIANTTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>295, 95</value>
<value>670, 95</value>
</metadata>
<metadata name="TimerClearResultfiles.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>863, 95</value>
<value>17, 134</value>
</metadata>
<metadata name="BW_LoadTreeView.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>240, 95</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -3930,6 +3933,12 @@
<data name="&gt;&gt;TimerClearResultfiles.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BW_LoadTreeView.Name" xml:space="preserve">
<value>BW_LoadTreeView</value>
</data>
<data name="&gt;&gt;BW_LoadTreeView.Type" xml:space="preserve">
<value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmConstructor_Main</value>
</data>

View File

@@ -14,6 +14,7 @@ Imports System.Runtime.InteropServices
Imports DD_Rights
Imports DD_LIB_Standards
Imports DevExpress.LookAndFeel
Imports System.ComponentModel
Public Class frmConstructor_Main
<DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)>
@@ -77,6 +78,8 @@ Public Class frmConstructor_Main
Private POS_ENTITY As Integer = 0
Private POS_SQL As String = ""
Private POS_RECORD_ID
Private MyTreeview As TreeView
Private TreeView_perControl As Boolean = False
@@ -158,6 +161,7 @@ Public Class frmConstructor_Main
Private LOAD_DIRECT As Boolean = False
Private IS_SINGLE_RECORD As Boolean = False
Private LOAD_ENTITY_SEARCH_AT_STARTUP As Boolean = False
Private SELECTION_IN_ACTION As Boolean = False
Private RECORD_ID As Integer
Private PARENT_ENTITYID As Integer
Private DOC_SEARCH_TAB1 As Boolean = False
@@ -250,11 +254,12 @@ Public Class frmConstructor_Main
End Sub
Private Sub frmForm_Constructor_Main_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim sw As New Stopwatch
Dim sw As New SW("Form Load")
Dim DT_PROXY_ENTITY As DataTable
Dim SQL
Try
sw.Start()
progressLoadEntity.Visible = False
labelLoadEntity.Visible = False
CURRENT_DT_DOC_ENTITY_SEARCH = Nothing
tsslblRecord.Text = ""
tsslblStatus.Text = ""
@@ -405,14 +410,21 @@ Public Class frmConstructor_Main
"WHERE T.GUID = T1.WF_ID " &
"GROUP BY T1.ENTITY_ID,T.GUID,T.TITLE,T.MANUALLY,T.CREATE_ON_REC_CREATE,T.CREATE_ON_FOLL_UP"
DT_WORKFLOWS_MANUAL = ClassDatabase.Return_Datatable(sql_ResultList)
Load_Tree_View(CONSTRUCTORID)
' Load_Tree_View()
' Load_Tree_View()
'Do While BW_LoadTreeView.IsBusy
'Loop
'If Not IsNothing(MyTreeview) Then
' For Each node As TreeNode In MyTreeview.Nodes
' TreeViewMain.Nodes.Add(node.Clone)
' Next
'End If
FORM_LOADED = True
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Form Load took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
If LogErrorsOnly = False Then ClassLogger.Add("", False)
Catch ex As System.Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Loading Form part 4")
End Try
@@ -921,34 +933,30 @@ Public Class frmConstructor_Main
End If
End Sub
Private Sub grvwGrid_FocusedColumnChanged(sender As Object, e As FocusedColumnChangedEventArgs) Handles grvwGrid.FocusedColumnChanged
Cursor = Cursors.WaitCursor
Column_Row_Handler()
Me.Cursor = Cursors.Default
End Sub
'Private Sub grvwGrid_FocusedColumnChanged(sender As Object, e As FocusedColumnChangedEventArgs) Handles grvwGrid.FocusedColumnChanged
' Dim result = SplitContainerMain.Collapsed
' If SplitContainerMain.Collapsed = False Then
' Cursor = Cursors.WaitCursor
' Column_Row_Handler("grvwGrid_FocusedColumnChanged")
' Me.Cursor = Cursors.Default
' End If
'End Sub
Private Sub GridView_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles grvwGrid.FocusedRowChanged, grvwTiles.FocusedRowChanged, grvwCarousel.FocusedRowChanged
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
If SplitContainerMain.Collapsed = False Then
Me.Cursor = Cursors.WaitCursor
Column_Row_Handler()
Column_Row_Handler("GridView_FocusedRowChanged")
Me.Cursor = Cursors.Default
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >>>> GridView_FocusedRowChanged took " & Format(elapsed, "0.000000000") & " seconds", False)
End If
End Sub
Private Sub gridView1_CustomDrawRowIndicator(sender As Object, e As DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs)
If IsTopFirstRow Then
e.Info.ImageIndex = -1
End If
End Sub
Sub Column_Row_Handler(Optional RECID As Integer = 0, Optional _navload As Boolean = False, Optional _refresh As Boolean = False)
Sub Column_Row_Handler(Calltype As String, Optional RECID As Integer = 0, Optional _navload As Boolean = False, Optional _refresh As Boolean = False)
Try
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
If RECID = 0 Then
If _FormClosing = True Then 'Or SaveRoutine_Active = True
Exit Sub
End If
@@ -959,6 +967,13 @@ Public Class frmConstructor_Main
If GRIDRightMouse_Clicked Then
Exit Sub
End If
If SELECTION_IN_ACTION = True Then
Exit Sub
End If
Dim sw As New SW("Column_Row_Handler1")
If RECID = 0 Then
If NODE_NAVIGATION = True Then
' Exit Sub
End If
@@ -1007,14 +1022,10 @@ Public Class frmConstructor_Main
'Wird jetzt bei BeforeRowChange überprüft
'Check_Record_Changed()
sw.Done()
DisableEditMode()
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Precheck Row took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Start()
sw = New SW("Column_Row_Handler2")
' muss vor show selected record data kommen,
' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False
@@ -1025,22 +1036,22 @@ Public Class frmConstructor_Main
Show_Selected_Record_Data(CURRENT_RECORD_ID, False)
End If
Dim sw1 As New Stopwatch
sw1.Start()
sw.Done()
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, ENTITY_ID)
CONTROL_HANDLING()
elapsed = sw1.Elapsed.TotalSeconds
sw1.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Check Rights took " & Format(elapsed, "0.000000000") & " seconds", False)
If TCDetails.SelectedTabPage Is Nothing Then
Exit Sub
End If
If TabPos.PageVisible = True And TCDetails.SelectedTabPage.Name = "TabPos" Then
sw = New SW("POS-Handler in ColumnRowHandler")
Clear_GridPos_View()
Dim POS_GRID_RECORD = Get_Focused_Row_Cell_Value_pos("Record-ID")
Load_Pos_Data()
Load_POSGrid_Layout()
sw.Done()
End If
If CURRENT_RECORD_ID > 0 Then
@@ -1056,20 +1067,20 @@ Public Class frmConstructor_Main
Get_RecordCounts_Nodes()
Else
tsButtonAdd.Enabled = False
'MsgBox(SplitContainerFORM.Collapsed)
'MsgBox(SplitContainerMain.Collapsed)
'MsgBox(SplitContainerTop.Collapsed)
If SplitContainerMain.Collapsed = False Then
SELECTION_IN_ACTION = True
SearchNodeForRecord(TreeViewMain.Nodes, RECORD_ID)
End If
SELECTION_IN_ACTION = False
End If
End If
'Liste der geänderten Control Values leeren
CtrlBuilder.ControlsChanged.Clear()
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
Console.WriteLine("Column_Row_Handler took {0}ms to load", sw.ElapsedMilliseconds)
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >>>> Column/Row Change took " & Format(elapsed, "0.000000000") & " seconds", False)
If NODE_NAVIGATION = True And _navload = False Then
SearchNode(TreeViewMain.Nodes, RECORD_ID)
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error:", ex.Message & vbNewLine & ex.StackTrace)
@@ -1077,6 +1088,7 @@ Public Class frmConstructor_Main
End Sub
Sub CONTROL_HANDLING()
Dim sw As New SW("CONTROL_HANDLING")
tsButtonSave.Enabled = True
If ADD_RECORDS_CONSTR = False Then
tsButtonAdd.Enabled = False
@@ -1130,6 +1142,7 @@ Public Class frmConstructor_Main
End If
End If
End If
sw.Done()
End Sub
#End Region
@@ -1171,27 +1184,32 @@ Public Class frmConstructor_Main
NodeRecursive(aNode, searchRecord)
Next
End Sub
Public Sub SearchNode(tncoll As TreeNodeCollection, searchRecord As Integer)
Public Sub SearchNodeForRecord(tncoll As TreeNodeCollection, searchRecord As Integer)
Try
Dim sw As New SW("SearchNodeForRecord: " & searchRecord.ToString)
Dim n As TreeNode
For Each n In TreeViewMain.Nodes
NodeRecursive(n, searchRecord)
Next
sw.Done()
Catch ex As Exception
ClassLogger.Add("Error in SearchNode: " & ex.Message, True)
ClassLogger.Add("Error in SearchNodeForRecord: " & ex.Message, True)
End Try
End Sub
Private Sub TreeViewMain_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeViewMain.AfterSelect
Dim sw As New SW("TreeViewMain_AfterSelect1")
Dim swAll As New SW("TreeViewMain_AfterSelect")
DisableEditMode()
If NODE_NAVIGATION = False Then
SetSelectedNodeStyle(TreeViewMain.Nodes)
Else
Dim sw1 As New SW("TreeViewSetSelectedNode")
ACT_EBENE_STRING = "NODE_NAVIGATION"
Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode)
If SelectedNode IsNot Nothing Then
SelectedNode.NodeFont = New Font(TreeViewMain.Font.FontFamily, TreeViewMain.Font.Size, FontStyle.Bold)
SelectedNode.Text = SelectedNode.Text
' Dim SelectedNode As TreeNode = e.Node 'TryCast(TreeViewMain.SelectedNode, TreeNode)
If e.Node IsNot Nothing Then
e.Node.NodeFont = New Font(TreeViewMain.Font.FontFamily, TreeViewMain.Font.Size, FontStyle.Bold)
End If
sw1.Done()
End If
Dim fl = FORM_LOADED
Dim firstORFOLLWOWIN
@@ -1200,7 +1218,11 @@ Public Class frmConstructor_Main
Else
firstORFOLLWOWIN = False
End If
sw.Done()
Load_Datafor_Entity()
sw = New SW("TreeViewMain_AfterSelect2")
If DOC_SEARCH_TAB1 = True Then
tsbtnPanel1Collapse.Visible = True
Else
@@ -1216,9 +1238,18 @@ Public Class frmConstructor_Main
If SelectedNode.Tag.ToString.Contains("RECORD-ID") Then
Dim Record = ClassNodeNavigation.Return_RECORD_forTag(SelectedNode.Tag)
If Record <> 0 Then
ToolStripEdit.Enabled = True
Column_Row_Handler(Record, True)
LocateRecordById(RECORD_ID)
If Record <> CURRENT_RECORD_ID Then
Column_Row_Handler("TreeviewAfterSelect", Record, True)
SELECTION_IN_ACTION = True
If SplitContainerMain.Collapsed = False Then
LocateRecordinGridById(RECORD_ID)
End If
End If
End If
If pnlDetails.Enabled = False Then pnlDetails.Enabled = True
Else
@@ -1233,15 +1264,20 @@ Public Class frmConstructor_Main
End If
End If
End If
End If
End If
sw.Done()
sw = New SW("TreeViewMain_AfterSelect3")
Load_DocGrid_Layout()
Load_Grid_Layout()
Load_Variants_Grid_Layout()
Load_Splitter_Layout()
SELECTION_IN_ACTION = False
sw.Done()
swAll.Done()
End Sub
Sub Doc_ReadOnlyHandler(state As Boolean)
Dim sw As New SW("Doc_ReadOnlyHandler")
If state = False Then
GridControlDocSearch.ContextMenuStrip = cmsResultFilesBasic
tslblDocViewLocked.Visible = True
@@ -1249,6 +1285,7 @@ Public Class frmConstructor_Main
GridControlDocSearch.ContextMenuStrip = ContextMenuStripResultFiles
tslblDocViewLocked.Visible = False
End If
sw.Done()
End Sub
Private Sub TreeViewMain_BeforeSelect(sender As Object, e As TreeViewCancelEventArgs) Handles TreeViewMain.BeforeSelect
If NODE_NAVIGATION = False Then
@@ -1266,11 +1303,12 @@ Public Class frmConstructor_Main
End If
End Sub
Sub Load_TreeView_Node_Navigation()
MyTreeview = Nothing
Dim newTreeview As TreeView
'If DT_TREEVIEW_NODES.Rows.Count > 500 Then
' newTreeview = ClassNodeNavigation.CreateTreeViewNodes(DT_TREEVIEW_NODES, TREEVIEW_IMAGELIST)
'Else
newTreeview = ClassNodeNavigation.CreateTreeViewNodesNew1(DT_TREEVIEW_NODES, TREEVIEW_IMAGELIST)
newTreeview = ClassNodeNavigation.CreateTreeViewNodes(DT_TREEVIEW_NODES, TREEVIEW_IMAGELIST)
'End If
If Not IsNothing(newTreeview) Then
@@ -1282,16 +1320,21 @@ Public Class frmConstructor_Main
' TreeViewMain.ExpandAll()
'End If
End Sub
Sub Load_Tree_View(ConstructorId As Integer)
Try
Dim sw As New SW("Load_Tree_View")
Sub START_BW_LoadTreeView()
If BW_LoadTreeView.IsBusy <> True Then
TreeViewMain.Nodes.Clear()
BW_LoadTreeView.RunWorkerAsync()
End If
End Sub
Sub Load_Tree_View()
Try
TreeViewMain.Nodes.Clear()
Dim sw As New SW("Load_Tree_View")
If NODE_NAVIGATION = True Then
Try
Load_TreeView_Node_Navigation()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Load_TreeView_Node_Navigation", ex.Message, ex.StackTrace)
End Try
Else
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
@@ -1361,18 +1404,29 @@ Public Class frmConstructor_Main
Next
Next
End If
If NODE_NAVIGATION = False Then
TreeViewMain.ExpandAll()
End If
TreeViewMain.Nodes(0).EnsureVisible()
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try
End Sub
Private Sub BW_LoadTreeView_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BW_LoadTreeView.RunWorkerCompleted
progressLoadEntity.Visible = False
If NODE_NAVIGATION = False Then
TreeViewMain.ExpandAll()
End If
TreeViewMain.Nodes(0).EnsureVisible()
End Sub
Private Sub BW_Load_EntityData_DoWork(sender As Object, e As DoWorkEventArgs) Handles BW_LoadTreeView.DoWork
Try
Load_Tree_View()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in BW_Load_EntityData_DoWork", ex.Message, ex.StackTrace)
End Try
End Sub
Sub Create_variable_node()
End Sub
@@ -1381,7 +1435,7 @@ Public Class frmConstructor_Main
' MsgBox("Proxy-Server is actually synchronizing! Please wait until synchronisation is finished!" & vbNewLine & "This might take up to 3 minutes!", MsgBoxStyle.Information)
' Exit Sub
'End If
'Try
Try
'CURRENT_DATE_FORMAT = USER_DATE_FORMAT
@@ -1394,8 +1448,7 @@ Public Class frmConstructor_Main
End If
End If
Dim sw As New Stopwatch
sw.Start()
Dim sw As New SW("Load_Datafor_Entity")
Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode)
If SelectedNode IsNot Nothing Then
@@ -1472,10 +1525,6 @@ Public Class frmConstructor_Main
Next
End If
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Datafor_Entity1 took " & Format(elapsed, "0.000000000") & " seconds", False)
If NODE_NAVIGATION = True Then
If SelectedNode.Tag.ToString.Contains("RECORD_ID") Then
Console.WriteLine("Record beinhaltet")
@@ -1484,24 +1533,24 @@ Public Class frmConstructor_Main
Else
Get_RecordCounts_Nodes()
End If
Load_Entity_Data(ACT_EBENE)
sw.Done()
Load_Entity_Data()
sw.Stop()
sw.Reset()
elapsed = elapsed - sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Datafor_Entity2 took " & Format(elapsed, "0.000000000") & " seconds", False)
End If
'Catch ex As Exception
' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Load_Datafor_Entity: " & ex.StackTrace)
'End Try
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Load_Datafor_Entity: " & ex.StackTrace)
End Try
End Sub
Sub Get_RecordCounts_Nodes()
'Try
Try
If NODE_NAVIGATION = True Then
Exit Sub
End If
Dim sw As New SW("Get_RecordCounts_Nodes")
Dim selnode As TreeNode = TreeViewMain.SelectedNode
Dim a As Integer = 0
For Each childNodeLevel1 As TreeNode In selnode.Nodes
@@ -1546,9 +1595,10 @@ Public Class frmConstructor_Main
End If
Next
'Catch ex As Exception
' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Load_Datafor_Entity: " & ex.StackTrace)
'End Try
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Load_Datafor_Entity: " & ex.StackTrace)
End Try
End Sub
Function ReturnAmountofRecords(EntityID As Integer)
' Statt eine Table zurückzugeben, können wir die anzahl der Zeilen auch in der Datenbank berechnen,
@@ -1649,9 +1699,7 @@ Public Class frmConstructor_Main
#Region "Controls"
Sub Load_Controls(frmview_id As Integer)
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim sw As New SW("Load_Controls")
FORMVIEW_ID = frmview_id
ENTITY_ID = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_ID")
CtrlBuilder = New ClassControlBuilder(pnlDetails)
@@ -1664,10 +1712,7 @@ Public Class frmConstructor_Main
AddHandler CtrlBuilder.OnRecordChanged, AddressOf OnRecordChanged
AddHandler CtrlBuilder.OnMouseHover, AddressOf HandleToolTip
elapsed = sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Controls took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Stop()
sw.Reset()
sw.Done()
End Sub
Private Sub HandleToolTip(sender As Object, e As EventArgs)
@@ -1807,7 +1852,7 @@ Public Class frmConstructor_Main
Private Sub tsButtonSave_Click(sender As Object, e As EventArgs) Handles tsButtonSave.Click
Save_Record()
If ERROR_WHILE_SAVING = True Then
Column_Row_Handler()
Column_Row_Handler("tsButtonSave_Click")
End If
End Sub
@@ -1950,7 +1995,7 @@ Public Class frmConstructor_Main
If IS_SINGLE_RECORD = False Then
If FORM_TYPE <> 5 Then
Load_Entity_Data_Only()
LocateRecordById(RECORD_ID)
LocateRecordinGridById(RECORD_ID)
If EDIT_STATE = EditState.Insert Then
'Die Daten neu laden
@@ -2043,7 +2088,7 @@ Public Class frmConstructor_Main
RECORD_CHANGED = False
'Den derzeitigen Record Neuladen
DisableEditMode()
Load_Entity_Data(ACT_EBENE)
Load_Entity_Data()
RECORD_CHANGED = False
End If
End If
@@ -2137,6 +2182,9 @@ Public Class frmConstructor_Main
End Sub
Sub DisableEditMode()
If RECORD_ID = 0 Then Exit Sub
Dim sw As New SW("DisableEditMode")
Dim REC = RECORD_ID
ClassRecordState.UnlockRecord(SELECTED_RECORD_ID)
Dim isinsert As Boolean
@@ -2190,7 +2238,7 @@ Public Class frmConstructor_Main
End If
End If
sw.Done()
End Sub
#End Region
@@ -2227,11 +2275,12 @@ Public Class frmConstructor_Main
#End Region
Sub Load_Entity_Data(ClickedLevel As Integer)
Sub Load_Entity_Data()
Try
If LogErrorsOnly = False Then ClassLogger.Add("START Load_Entity_Data", False)
Dim sw As New SW("Load_Entity_Data")
PARENT_SKIPPED = False
Me.Cursor = Cursors.WaitCursor
' Me.Cursor = Cursors.WaitCursor
RECORD_CHANGED = False
RECORD_ID = 0
Dim expression As String
@@ -2374,7 +2423,7 @@ Public Class frmConstructor_Main
If CBool(LOAD_ENTITY_SEARCH_AT_STARTUP) = True Then
ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_WINDREAM_RESULTLIST, ENTITY_ID, RECORD_ID, True, True)
End If
Select Case ClickedLevel
Select Case ACT_EBENE
Case 1
EBENE1_ENTITY = ""
EBENE1_RECID = 0
@@ -2596,8 +2645,8 @@ Public Class frmConstructor_Main
'Überprüfen ob es für diese Entität Wiedervorlagen gibt?
Check_FOLLOWUP_IsConfigured(ENTITY_ID)
SET_ROWCOUNT_STRING()
End If
If POS_ENTITY > 0 Then
If USER_LANGUAGE <> "de-DE" Then
@@ -2642,8 +2691,6 @@ Public Class frmConstructor_Main
pnlDocToolStrip.Controls.Add(ToolStripDokumente)
pnlDocFill.Controls.Add(GridControlDocSearch)
TabWindream.PageVisible = False
Load_DocGrid_Layout()
Else
SplitContainerDetails.PanelVisibility = SplitPanelVisibility.Panel1
@@ -2672,7 +2719,7 @@ Public Class frmConstructor_Main
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Load_Entity_Data", ex.Message, ex.StackTrace)
Finally
Me.Cursor = Cursors.Default
'Me.Cursor = Cursors.Default
ENTITY_LOADED = True
End Try
@@ -2685,7 +2732,7 @@ Public Class frmConstructor_Main
If Not IsNothing(Grid_RecordID) Then
Select Case ACT_EBENE
Case 1
Column_Row_Handler()
Column_Row_Handler("Load_Record_Direct")
'PARENT_RECORDID = Grid_RecordID
'CURRENT_RECORD_ID = PARENT_RECORDID
'SELECTED_RECORD_ID = Grid_RecordID
@@ -3243,8 +3290,7 @@ Public Class frmConstructor_Main
'ListBoxUser2Profile.Items.Clear()
grpbxFU_Profile.Enabled = False
End Select
Dim sw As New Stopwatch
sw.Start()
Dim sw As New SW("Show Selected RecordData 2")
' Laden der Daten bedeutet nicht dass Daten vom Benutzer geändert wurden!
RECORD_CHANGED = False
'Refresh_Navpane()
@@ -3252,11 +3298,8 @@ Public Class frmConstructor_Main
Show_act_WFTask()
RECORD_ID = SELECTED_RECORD_ID
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds - elapsed
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Show Selected RecordData 2 took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
Reload_Entity_while_Control_Load()
End If
@@ -3443,6 +3486,7 @@ Public Class frmConstructor_Main
#Region "WindreamSuche"
Private Sub Check_windream_Show(FORM_VIEW_ID As Integer)
Try
'Dim sql = "SELECT * FROM TBPMO_FORM_VIEW WHERE WINDREAM_SEARCH <> '' AND GUID = " & FORM_VIEW_ID
'Dim DTWD As DataTable = ClassDatabase.Return_Datatable(sql)
Dim wdsearch = DT_TBPMO_FORM_VIEW.Rows(0).Item("DOCUMENT_VIEW")
@@ -3458,9 +3502,8 @@ Public Class frmConstructor_Main
tsmiFilesearch.Enabled = True
windream_Docshow = True
If windream_inited = False Then
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim sw As New SW("Check_windream_Show")
Try
If clsWindream.Create_Session = True Then
windream_inited = True
@@ -3469,10 +3512,7 @@ Public Class frmConstructor_Main
windream_inited = False
End Try
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Windream init took " & Format(elapsed, "0.000000000") & " seconds", False)
SW.Done()
End If
End If
Catch ex As Exception
@@ -3483,9 +3523,7 @@ Public Class frmConstructor_Main
End Sub
Private Sub WD_DELETE_DOCS(DT_RESULT As DataTable)
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim sw As New SW("WD_DELETE_DOCS")
' Dim Basesearch As String
Try
If Not IsNothing(DT_RESULT) Then
@@ -3542,18 +3580,14 @@ Public Class frmConstructor_Main
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in WD-Delete Docs: ", ex.Message)
End Try
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run WD Delete Docs took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
Cursor = Cursors.Default
End Sub
Private Sub RUN_WDSEARCH_GRID()
Me.Cursor = Cursors.WaitCursor
Dim sw As New SW("RUN_WDSEARCH_GRID")
Try
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
Dim node As TreeNode = TreeViewMain.SelectedNode
Dim NODE_GUID = ClassNodeNavigation.Return_NODEID_forTag(node.Tag)
@@ -3703,13 +3737,11 @@ Public Class frmConstructor_Main
GridControlDocSearch.DataSource = Nothing
'Clear_Windream_ResultList()
End If
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run RUN_WDSEARCH_GRID took " & Format(elapsed, "0.000000000") & " seconds", False)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Run WD-Search Database: ", ex.Message)
End Try
sw.Done()
Cursor = Cursors.Default
End Sub
Private Sub OnCBSelectedValueChanged(sender As Object, e As EventArgs)
@@ -3957,8 +3989,7 @@ Public Class frmConstructor_Main
Sub Clear_Windream_ResultList()
Try
Dim sw As New Stopwatch
sw.Start()
Dim sw As New SW("Clear_Windream_ResultList")
'AxObjectListControl.RemoveAllColumnHeader()
'Me.AxObjectListControl.ClearResultList()
@@ -3967,11 +3998,7 @@ Public Class frmConstructor_Main
stg = "files"
End If
TabWindream.Text = stg
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Clear Result List took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Clear Result List: ", ex.Message)
End Try
@@ -4069,7 +4096,7 @@ Public Class frmConstructor_Main
Dim XMLPath = Get_Grid_Layout_Filename()
If File.Exists(XMLPath) Then
File.Delete(XMLPath)
Load_Entity_Data(ACT_EBENE)
Load_Entity_Data()
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Reset Layout Grid: ", ex.Message)
@@ -4469,6 +4496,7 @@ Public Class frmConstructor_Main
Private Function Check_FOLLOWUP_IsConfigured(ENTITY_ID As Integer)
Try
Dim sw As New SW("Check_FOLLOWUP_IsConfigured")
Dim sql = "select * from TBPMO_FOLLOW_UP_EMAIL t where t.ACTIVE = 1 and t.DEPENDENT_DATE_CTRL_ID in (select guid from TBPMO_CONTROL where CONTROL_TYPE_ID = 4 and form_id = " & ENTITY_ID & ")"
DT_FU_ENTITY = ClassDatabase.Return_Datatable(sql)
@@ -4495,6 +4523,7 @@ Public Class frmConstructor_Main
FOLLOW_UPisActive = False
TabFollowUp.PageVisible = False
End If
sw.done
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Check Follow Up: ", ex.Message)
windream_Docshow = False
@@ -4589,7 +4618,7 @@ Public Class frmConstructor_Main
EBENE3_ENTITY = ""
EBENE3_RECID = 0
'NavPane.Categories.Clear()
Load_Tree_View(CONSTRUCTORID)
Load_Tree_View()
End Sub
Private Sub DateiimportEntitätToolStripMenuItem_Click(sender As Object, e As EventArgs)
@@ -4641,22 +4670,22 @@ Public Class frmConstructor_Main
If ERROR_FORM_LOAD = True Then
Me.Close()
End If
Dim sw As Stopwatch = Stopwatch.StartNew()
Dim elapsed As Double
Dim sw As New SW("Form_Shown")
Me.BringToFront()
Load_Tree_View()
' LoadLayouts()
Load_Level1()
Jump_Record()
sw.Stop()
elapsed = sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Form Shown took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
If NODE_NAVIGATION = False Then
Load_Level1()
End If
sw.Done()
If LogErrorsOnly = False Then ClassLogger.Add("", False)
FORM_SHOWN = True
End Sub
Sub Jump_Record()
Try
Dim sw As Stopwatch = Stopwatch.StartNew()
Dim elapsed As Double
If LogErrorsOnly = False Then ClassLogger.Add(" >> " & Now.ToString & " Jump_Record", False)
Dim sw As New SW("Jump_Record")
If JUMP_RECORD_ID > 0 Then
Dim sql = String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", JUMP_RECORD_ID)
Dim FormID = ClassDatabase.Execute_Scalar(sql, True)
@@ -4673,11 +4702,7 @@ Public Class frmConstructor_Main
If JUMP_RECORD_ID <> 0 Then
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Jump Record: ", "Record-ID " & JUMP_RECORD_ID & " konnte nicht gefunden werden")
End If
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Jump_Record took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Jump-Record: ", ex.Message)
End Try
@@ -4693,7 +4718,7 @@ Public Class frmConstructor_Main
'Für Grid filtern wir die Aktuelle Ansicht nach der Record-ID,
'für Carousel und Tiles markieren wir den Record
LocateRecordById(JUMP_RECORD_ID)
LocateRecordinGridById(JUMP_RECORD_ID)
' Jump Record-ID wieder zurücksetzen
JUMP_RECORD_ID = 0
@@ -4709,7 +4734,7 @@ Public Class frmConstructor_Main
'Für Grid filtern wir die Aktuelle Ansicht nach der Record-ID,
'für Carousel und Tiles markieren wir den Record
LocateRecordById(JUMP_RECORD_ID)
LocateRecordinGridById(JUMP_RECORD_ID)
' Jump Record-ID wieder zurücksetzen
JUMP_RECORD_ID = 0
@@ -4720,7 +4745,8 @@ Public Class frmConstructor_Main
Next
End Sub
Public Sub LocateRecordById(RecordId As Integer)
Public Sub LocateRecordinGridById(RecordId As Integer)
Dim sw As New SW("LocateRecordinGridById")
If GRID_TYPE = GridType.Grid Then
Dim rowHandle = grvwGrid.LocateByValue(0, grvwGrid.Columns("Record-ID"), RecordId)
grvwGrid.FocusedRowHandle = rowHandle
@@ -4731,6 +4757,8 @@ Public Class frmConstructor_Main
Dim rowHandle = grvwTiles.LocateByValue(0, grvwTiles.Columns("Record-ID"), RecordId)
grvwTiles.FocusedRowHandle = rowHandle
End If
sw.Done()
End Sub
@@ -4794,25 +4822,20 @@ Public Class frmConstructor_Main
Sub Load_Level1()
Try
Dim sw As Stopwatch = Stopwatch.StartNew()
Dim elapsed As Double
Dim sw As New SW("Load_Level1.0")
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim result = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Order By form.Item("SEQUENCE")
Where form.Item("PARENT_ID") = 0
sw.Done()
sw = New SW("Load_Level1.1")
If result.Count >= 1 Then
Dim tn As TreeNode = TreeViewMain.Nodes(0)
TreeViewMain.SelectedNode = tn
TreeViewMain.Select()
End If
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
sw.Done()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Load_Level1: ", ex.Message)
End Try
@@ -4942,6 +4965,7 @@ Public Class frmConstructor_Main
If e.Button = System.Windows.Forms.MouseButtons.Left AndAlso hitInfo.InRow AndAlso hitInfo.HitTest <> GridHitTest.RowIndicator Then
GRIDdownHitInfo = hitInfo
End If
Catch ex As Exception
ClassLogger.Add(">> Unexpected Error in grvwGrid_MouseDown: " & ex.Message, False)
End Try
@@ -5049,6 +5073,8 @@ Public Class frmConstructor_Main
SET_ROWCOUNT_STRING()
End Sub
Sub SET_ROWCOUNT_STRING()
If NODE_NAVIGATION = True Then Exit Sub
Dim sw As New SW("SET_ROWCOUNT_STRING")
Dim selnode As TreeNode = TreeViewMain.SelectedNode
Dim origtext As String = selnode.Text
If origtext.Contains(" (") Then
@@ -5062,6 +5088,7 @@ Public Class frmConstructor_Main
msg = "number of records: "
End If
tslbldisplayRecords.Text = msg & grvwGrid.RowCount
sw.Done()
End Sub
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
@@ -5264,7 +5291,7 @@ Public Class frmConstructor_Main
RECORD_CHANGED = False
' Den derzeitigen Record Neuladen
Column_Row_Handler()
Column_Row_Handler("tsButtonCancel_Click")
End Sub
Private Sub tsbtnRedo_Click(sender As Object, e As EventArgs) Handles tsbtnRedo.Click
@@ -5272,7 +5299,7 @@ Public Class frmConstructor_Main
Dim proc = String.Format("EXEC PRPMO_REDO_RECORD_CHANGES {0}", RECORD_ID)
If ClassDatabase.Execute_non_Query_withConn(proc, 1) = True Then
RECORD_ID = 0
Column_Row_Handler()
Column_Row_Handler("tsbtnRedo_Click")
Me.Cursor = Cursors.Default
End If
@@ -6150,7 +6177,7 @@ Public Class frmConstructor_Main
If result = MsgBoxResult.Yes Then
Dim SQL = String.Format("EXEC PRPMO_COPY_RECORD {0}, '{1}'", RECORD_ID, USER_USERNAME)
If ClassDatabase.Execute_non_Query_withConn(SQL, 1) = True Then
Load_Entity_Data(ACT_EBENE)
Load_Entity_Data()
End If
End If
Else
@@ -6180,7 +6207,7 @@ Public Class frmConstructor_Main
CURRENT_ENTITY_ID = ENTITY_ID
ClassControlValueCache.ClearCache()
DisableEditMode()
Load_Entity_Data(ACT_EBENE)
Load_Entity_Data()
RECORD_CHANGED = False
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Clear Cache: ", ex.Message)
@@ -6207,7 +6234,7 @@ Public Class frmConstructor_Main
ClassProxy.PRPROXY_SYNC_DETAIL_OBJECT("TBPMO_RECORD")
Me.Cursor = Cursors.Default
Load_Datafor_Entity()
LocateRecordById(CURRENT_RECORD_ID)
LocateRecordinGridById(CURRENT_RECORD_ID)
End If
Else
msg = "Sie dürfen diesen Datensatz nicht löschen! (Rechtekonzept)!"
@@ -6804,7 +6831,7 @@ Public Class frmConstructor_Main
ElseIf e.KeyCode = Keys.Control And e.KeyCode = Keys.S Then
Save_Record()
If ERROR_WHILE_SAVING = True Then
Column_Row_Handler()
Column_Row_Handler("StrgS")
End If
End If
End Sub
@@ -6850,4 +6877,6 @@ Public Class frmConstructor_Main
tslblPoslocked.Text = msg
End If
End Sub
End Class

View File

@@ -86,7 +86,7 @@ Public Class frmDocLink_to_Record
trvwMain.Nodes.Clear()
If NODE_NAVIGATION = True Then
Dim newTreeview As TreeView
newTreeview = ClassNodeNavigation.CreateTreeViewNodesNew1(DT_TREEVIEW_PER_CONTROLS, TREEVIEW_IMAGELIST)
newTreeview = ClassNodeNavigation.CreateTreeViewNodes(DT_TREEVIEW_PER_CONTROLS, TREEVIEW_IMAGELIST)
If Not IsNothing(newTreeview) Then
For Each node As TreeNode In newTreeview.Nodes

View File

@@ -151,9 +151,8 @@ Public Class frmRecordView
Private Sub RUN_WDSEARCH_GRID()
Me.Cursor = Cursors.WaitCursor
Try
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim sw As New SW("RUN_WDSEARCH_GRID")
Dim DT_RESULT As DataTable = ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_WINDREAM_RESULTLIST, ENTITY_ID, RECORD_ID)
If IsNothing(DT_RESULT) Then
Dim msg = "wrong DocSearch-Configuration - Check logfile and contact Digital Data"
@@ -192,10 +191,7 @@ Public Class frmRecordView
GridControlDocSearch.DataSource = Nothing
'Clear_Windream_ResultList()
End If
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run RUN_WDSEARCH_GRID took " & Format(elapsed, "0.000000000") & " seconds", False)
sw.Done()
Catch ex As Exception
MsgBox("Unexpected Error in Run WD-Search Database: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try