From ef06120f13d8b6c42e366ef8abe3ccb1e8a3d088 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 5 Jan 2018 14:59:32 +0100 Subject: [PATCH] MS --- app/DD-Record-Organizer/ClassControlValues.vb | 59 +- app/DD-Record-Organizer/ClassDOC_SEARCH.vb | 28 +- app/DD-Record-Organizer/ClassLogger.vb | 4 +- .../ClassNodeNavigation.vb | 394 +---------- .../ClassRecordCommands.vb | 1 + .../ClassRightManagement.vb | 2 + .../ModuleHelperMethods.vb | 19 +- .../My Project/AssemblyInfo.vb | 4 +- .../frmConstructor_Main.Designer.vb | 7 + .../frmConstructor_Main.resx | 73 +- .../frmConstructor_Main.vb | 643 +++++++++--------- .../frmDocLink_to_Record.vb | 2 +- app/DD-Record-Organizer/frmRecordView.vb | 10 +- 13 files changed, 466 insertions(+), 780 deletions(-) diff --git a/app/DD-Record-Organizer/ClassControlValues.vb b/app/DD-Record-Organizer/ClassControlValues.vb index ff1d679..a6d6117 100644 --- a/app/DD-Record-Organizer/ClassControlValues.vb +++ b/app/DD-Record-Organizer/ClassControlValues.vb @@ -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 diff --git a/app/DD-Record-Organizer/ClassDOC_SEARCH.vb b/app/DD-Record-Organizer/ClassDOC_SEARCH.vb index f8d9711..796afd9 100644 --- a/app/DD-Record-Organizer/ClassDOC_SEARCH.vb +++ b/app/DD-Record-Organizer/ClassDOC_SEARCH.vb @@ -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) diff --git a/app/DD-Record-Organizer/ClassLogger.vb b/app/DD-Record-Organizer/ClassLogger.vb index a742262..f035af3 100644 --- a/app/DD-Record-Organizer/ClassLogger.vb +++ b/app/DD-Record-Organizer/ClassLogger.vb @@ -11,9 +11,9 @@ Public Class ClassLogger Public Shared Sub Init(ByVal speicherort As String, Optional ByVal prefix As String = "", Optional ByVal appendFile As Boolean = True) ' initialisiert den Speicherort ClassLogger.SetSpeicherort() - ' wenn ein Prfix gesetzt wurde + 'wenn ein Prfix gesetzt wurde If Not prefix = "" Then - ' initialisiert das Prefix + 'initialisiert das Prefix ClassLogger.SetPrefix(prefix) End If Dim str As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt" diff --git a/app/DD-Record-Organizer/ClassNodeNavigation.vb b/app/DD-Record-Organizer/ClassNodeNavigation.vb index b08dcf1..ca42089 100644 --- a/app/DD-Record-Organizer/ClassNodeNavigation.vb +++ b/app/DD-Record-Organizer/ClassNodeNavigation.vb @@ -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 diff --git a/app/DD-Record-Organizer/ClassRecordCommands.vb b/app/DD-Record-Organizer/ClassRecordCommands.vb index 05fae77..0872f7b 100644 --- a/app/DD-Record-Organizer/ClassRecordCommands.vb +++ b/app/DD-Record-Organizer/ClassRecordCommands.vb @@ -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 diff --git a/app/DD-Record-Organizer/ClassRightManagement.vb b/app/DD-Record-Organizer/ClassRightManagement.vb index d02f66f..ede04dd 100644 --- a/app/DD-Record-Organizer/ClassRightManagement.vb +++ b/app/DD-Record-Organizer/ClassRightManagement.vb @@ -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 diff --git a/app/DD-Record-Organizer/ModuleHelperMethods.vb b/app/DD-Record-Organizer/ModuleHelperMethods.vb index fc388f6..5f9c855 100644 --- a/app/DD-Record-Organizer/ModuleHelperMethods.vb +++ b/app/DD-Record-Organizer/ModuleHelperMethods.vb @@ -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) - Console.WriteLine(message) - If LogErrorsOnly = False Then ClassLogger.Add(message, False) + 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 diff --git a/app/DD-Record-Organizer/My Project/AssemblyInfo.vb b/app/DD-Record-Organizer/My Project/AssemblyInfo.vb index 8b5f431..2f872c7 100644 --- a/app/DD-Record-Organizer/My Project/AssemblyInfo.vb +++ b/app/DD-Record-Organizer/My Project/AssemblyInfo.vb @@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices - + @@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + \ No newline at end of file diff --git a/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb b/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb index e4646ec..8d83a39 100644 --- a/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb +++ b/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb @@ -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 diff --git a/app/DD-Record-Organizer/frmConstructor_Main.resx b/app/DD-Record-Organizer/frmConstructor_Main.resx index 23e03cf..97cd5bd 100644 --- a/app/DD-Record-Organizer/frmConstructor_Main.resx +++ b/app/DD-Record-Organizer/frmConstructor_Main.resx @@ -132,7 +132,7 @@ 0, 0 - 468, 56 + 615, 56 220, 22 @@ -534,7 +534,7 @@ 0, 25 - 981, 212 + 988, 212 2 @@ -552,7 +552,7 @@ 0 - 969, 56 + 1116, 56 Segoe UI Semibold, 9pt, style=Bold, Italic @@ -677,7 +677,7 @@ 0, 0 - 981, 25 + 988, 25 1 @@ -761,7 +761,7 @@ 0, 0 - 699, 376 + 699, 383 4 @@ -791,7 +791,7 @@ 0, 26 - 555, 326 + 562, 333 5 @@ -809,7 +809,7 @@ 0 - 1113, 56 + 17, 95 46, 19 @@ -838,10 +838,10 @@ Ansicht eingeschränkt - Klick Bearbeiten für Entsperren - 0, 352 + 0, 359 - 555, 24 + 562, 24 0 @@ -868,7 +868,7 @@ 0, 0 - 555, 26 + 562, 26 0 @@ -889,7 +889,7 @@ Panel2 - 1270, 380 + 1270, 387 1 @@ -1065,7 +1065,7 @@ 1 - 1270, 405 + 1270, 412 Detailansicht @@ -1083,7 +1083,7 @@ 0 - 1276, 436 + 1276, 443 3 @@ -1101,7 +1101,7 @@ 255, 128, 0 - 1270, 380 + 1270, 387 0 @@ -1119,7 +1119,7 @@ 0 - 799, 56 + 946, 56 False @@ -1355,7 +1355,7 @@ - 1270, 405 + 1270, 412 Positionen @@ -1373,7 +1373,7 @@ 1 - 706, 95 + 1081, 95 148, 22 @@ -1417,7 +1417,7 @@ Aqua - 1270, 380 + 1270, 387 7 @@ -1519,7 +1519,7 @@ 1 - 1270, 405 + 1270, 412 Dateien @@ -1950,7 +1950,7 @@ 2 - 1270, 405 + 1270, 412 Wiedervorlage @@ -1977,7 +1977,7 @@ Black - 17, 95 + 392, 95 1140, 17 @@ -2061,7 +2061,7 @@ 5 - 1270, 380 + 1270, 387 90 @@ -2079,7 +2079,7 @@ 0 - 1231, 56 + 135, 95 Segoe UI Semibold, 9pt, style=Bold, Italic @@ -2133,7 +2133,7 @@ 1 - 1270, 405 + 1270, 412 Vorgängervarianten @@ -2220,7 +2220,7 @@ 7 - 591, 56 + 738, 56 251, 22 @@ -2442,7 +2442,7 @@ 17, 17 - 1028, 95 + 182, 134 61, 4 @@ -2543,7 +2543,7 @@ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 568, 95 + 943, 95 172, 22 @@ -2561,19 +2561,22 @@ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 56 + 164, 56 - 295, 56 + 442, 56 - 1283, 17 + 17, 56 - 295, 95 + 670, 95 - 863, 95 + 17, 134 + + + 240, 95 True @@ -3930,6 +3933,12 @@ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + BW_LoadTreeView + + + System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + frmConstructor_Main diff --git a/app/DD-Record-Organizer/frmConstructor_Main.vb b/app/DD-Record-Organizer/frmConstructor_Main.vb index 1398815..b485607 100644 --- a/app/DD-Record-Organizer/frmConstructor_Main.vb +++ b/app/DD-Record-Organizer/frmConstructor_Main.vb @@ -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 @@ -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,44 +933,47 @@ 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 - Me.Cursor = Cursors.WaitCursor - Column_Row_Handler() - 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) + If SplitContainerMain.Collapsed = False Then + Me.Cursor = Cursors.WaitCursor + Column_Row_Handler("GridView_FocusedRowChanged") + Me.Cursor = Cursors.Default + 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 _FormClosing = True Then 'Or SaveRoutine_Active = True + Exit Sub + End If + 'Aussteigen, wenng erade die Entität gewechselt wird + If ENTITY_LOADED = False Then + Exit Sub + End If + 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 _FormClosing = True Then 'Or SaveRoutine_Active = True - Exit Sub - End If - 'Aussteigen, wenng erade die Entität gewechselt wird - If ENTITY_LOADED = False Then - Exit Sub - End If - If GRIDRightMouse_Clicked Then - Exit Sub - End If + 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) + 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 - Dim sw As New SW("Load_Tree_View") - 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,174 +1435,170 @@ 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 + 'CURRENT_DATE_FORMAT = USER_DATE_FORMAT - If NODE_NAVIGATION = True Then - If NODE_NAVIGATION_LOADED = True Then - Exit Sub - Else - NODE_NAVIGATION_LOADED = True + If NODE_NAVIGATION = True Then + If NODE_NAVIGATION_LOADED = True Then + Exit Sub + Else + NODE_NAVIGATION_LOADED = True + End If End If - End If - Dim sw As New Stopwatch - sw.Start() - Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode) + Dim sw As New SW("Load_Datafor_Entity") + Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode) - If SelectedNode IsNot Nothing Then - ENTITY_LOADED = False - ENTITY_ID = ClassNodeNavigation.Return_ENTITY_FOR_TAG(SelectedNode.Tag) - CURRENT_ENTITY_ID = ENTITY_ID - Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable() - Select form - Where form.Item("FORM_ID") = ENTITY_ID).Single() - CONSTRUCTOR_DETAIL_ID = result.Item("GUID") - ' CONSTRUCT_EXPAND = result.Item("EXPAND") - Dim FORM_DATE_FORMAT = result.Item("DATE_FORMAT") - If FORM_DATE_FORMAT <> USER_DATE_FORMAT Then - CURRENT_DATE_FORMAT = USER_DATE_FORMAT - Else - CURRENT_DATE_FORMAT = FORM_DATE_FORMAT - End If - LOCK_CONTROLS_BG_LOAD = result.Item("LOCK_CONTROLS_BG_LOAD") - If NODE_NAVIGATION = True Then - If SelectedNode.Tag.ToString.Contains("RECORD_ID") Then - Console.WriteLine("Record beinhaltet") + If SelectedNode IsNot Nothing Then + ENTITY_LOADED = False + ENTITY_ID = ClassNodeNavigation.Return_ENTITY_FOR_TAG(SelectedNode.Tag) + CURRENT_ENTITY_ID = ENTITY_ID + Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable() + Select form + Where form.Item("FORM_ID") = ENTITY_ID).Single() + CONSTRUCTOR_DETAIL_ID = result.Item("GUID") + ' CONSTRUCT_EXPAND = result.Item("EXPAND") + Dim FORM_DATE_FORMAT = result.Item("DATE_FORMAT") + If FORM_DATE_FORMAT <> USER_DATE_FORMAT Then + CURRENT_DATE_FORMAT = USER_DATE_FORMAT + Else + CURRENT_DATE_FORMAT = FORM_DATE_FORMAT End If - Console.WriteLine("CONTROL Navigacion") - Else - Dim parentNode As TreeNode = TryCast(SelectedNode.Parent, TreeNode) - - ACT_EBENE = 2 - CURRENT_ACT_LEVEL = 2 - If parentNode IsNot Nothing Then - Dim grandParentNode As TreeNode = TryCast(parentNode.Parent, TreeNode) - If grandParentNode IsNot Nothing Then - ACT_EBENE = 3 - CURRENT_ACT_LEVEL = 3 + LOCK_CONTROLS_BG_LOAD = result.Item("LOCK_CONTROLS_BG_LOAD") + If NODE_NAVIGATION = True Then + If SelectedNode.Tag.ToString.Contains("RECORD_ID") Then + Console.WriteLine("Record beinhaltet") End If + Console.WriteLine("CONTROL Navigacion") Else - ACT_EBENE = 1 - CURRENT_ACT_LEVEL = 1 + Dim parentNode As TreeNode = TryCast(SelectedNode.Parent, TreeNode) + + ACT_EBENE = 2 + CURRENT_ACT_LEVEL = 2 + If parentNode IsNot Nothing Then + Dim grandParentNode As TreeNode = TryCast(parentNode.Parent, TreeNode) + If grandParentNode IsNot Nothing Then + ACT_EBENE = 3 + CURRENT_ACT_LEVEL = 3 + End If + Else + ACT_EBENE = 1 + CURRENT_ACT_LEVEL = 1 + End If + End If - End If + ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS + Dim query2 = From form In DT_WORKFLOWS_MANUAL.AsEnumerable() + Select form Where form.Item("ENTITY_ID") = ENTITY_ID + Dim Rows = query2.ToList() + _MANUAL_WORKFLOW = False + For Each _row In Rows + _MANUAL_WORKFLOW = _row.Item("MANUALLY") + Next + FAU_AD_DOMAIN = "" + FAU_AD_SERVER = "" + FAU_AD_USER = "" + FAU_AD_USER_PW = "" + + If DT_ADDING_USERS.Rows.Count > 0 Then + 'Überprüfen ob für diese Entität ein spezifischer windream-User verwendet wird, wenn Dateien abgelegt werden? + Dim query1 = From _user In DT_ADDING_USERS.AsEnumerable() + Select _user Where _user.Item("ENTITY_ID") = ENTITY_ID + Dim Rows1 = query1.ToList() + For Each _row In Rows1 + FAU_AD_DOMAIN = _row.Item("AD_DOMAIN").ToString() + FAU_AD_SERVER = _row.Item("AD_SERVER").ToString() + FAU_AD_USER = _row.Item("AD_USER").ToString() + Dim wrapper As New ClassEncryption("!35452didalog=") + Dim PWplainText As String + ' DecryptData throws if the wrong password is used. + Try + PWplainText = wrapper.DecryptData(_row.Item("AD_USER_PW").ToString()) + Catch ex As Exception + ClassLogger.Add("- the Password for FileAddingUser '" & FAU_AD_USER & "' could not be decrypted", False) + PWplainText = "" + End Try + FAU_AD_USER_PW = PWplainText + Next + End If - ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS - Dim query2 = From form In DT_WORKFLOWS_MANUAL.AsEnumerable() - Select form Where form.Item("ENTITY_ID") = ENTITY_ID - Dim Rows = query2.ToList() - _MANUAL_WORKFLOW = False - For Each _row In Rows - _MANUAL_WORKFLOW = _row.Item("MANUALLY") - Next - FAU_AD_DOMAIN = "" - FAU_AD_SERVER = "" - FAU_AD_USER = "" - FAU_AD_USER_PW = "" + If NODE_NAVIGATION = True Then + If SelectedNode.Tag.ToString.Contains("RECORD_ID") Then + Console.WriteLine("Record beinhaltet") + End If + Console.WriteLine("CONTROL Navigacion") + Else + Get_RecordCounts_Nodes() + End If + sw.Done() + Load_Entity_Data() - If DT_ADDING_USERS.Rows.Count > 0 Then - 'Überprüfen ob für diese Entität ein spezifischer windream-User verwendet wird, wenn Dateien abgelegt werden? - Dim query1 = From _user In DT_ADDING_USERS.AsEnumerable() - Select _user Where _user.Item("ENTITY_ID") = ENTITY_ID - Dim Rows1 = query1.ToList() - For Each _row In Rows1 - FAU_AD_DOMAIN = _row.Item("AD_DOMAIN").ToString() - FAU_AD_SERVER = _row.Item("AD_SERVER").ToString() - FAU_AD_USER = _row.Item("AD_USER").ToString() - Dim wrapper As New ClassEncryption("!35452didalog=") - Dim PWplainText As String - ' DecryptData throws if the wrong password is used. - Try - PWplainText = wrapper.DecryptData(_row.Item("AD_USER_PW").ToString()) - Catch ex As Exception - ClassLogger.Add("- the Password for FileAddingUser '" & FAU_AD_USER & "' could not be decrypted", False) - PWplainText = "" - End Try - FAU_AD_USER_PW = PWplainText - 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") - End If - Console.WriteLine("CONTROL Navigacion") - Else - Get_RecordCounts_Nodes() End If - Load_Entity_Data(ACT_EBENE) - - 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 - If NODE_NAVIGATION = True Then - Exit Sub - End If - Dim selnode As TreeNode = TreeViewMain.SelectedNode - Dim a As Integer = 0 - For Each childNodeLevel1 As TreeNode In selnode.Nodes - Dim PARENT_ID1 As Integer - Dim TYPE_ID1 As Integer - If a = 0 Then - Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ClassNodeNavigation.Return_ENTITY_FOR_TAG(childNodeLevel1.Tag) & " AND SCREEN_ID = " & CURRENT_SCREEN_ID - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) - PARENT_ID1 = DT.Rows(0).Item(0) - TYPE_ID1 = DT.Rows(0).Item(1) - End If - If TYPE_ID1 <> 5 Then - If childNodeLevel1.Text = "Allgemein" Then - Console.WriteLine("Allgemein-Reiter") - End If - Dim result As Integer = ReturnAmountofRecords(ClassNodeNavigation.Return_ENTITY_FOR_TAG(childNodeLevel1.Tag)) - If result <> 99999999 Then - Dim origtext As String = childNodeLevel1.Text - If origtext.Contains(" (") Then - Dim existingstring = origtext.Substring(0, origtext.IndexOf("(") - 1) - childNodeLevel1.Text = existingstring & " (" & result.ToString & ")" - Else - childNodeLevel1.Text = childNodeLevel1.Text & " (" & result.ToString & ")" + 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 + Dim PARENT_ID1 As Integer + Dim TYPE_ID1 As Integer + If a = 0 Then + Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ClassNodeNavigation.Return_ENTITY_FOR_TAG(childNodeLevel1.Tag) & " AND SCREEN_ID = " & CURRENT_SCREEN_ID + Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) + PARENT_ID1 = DT.Rows(0).Item(0) + TYPE_ID1 = DT.Rows(0).Item(1) + End If + If TYPE_ID1 <> 5 Then + If childNodeLevel1.Text = "Allgemein" Then + Console.WriteLine("Allgemein-Reiter") End If - End If - - For Each childNodeLevel2 As TreeNode In childNodeLevel1.Nodes - Dim origtext As String = childNodeLevel2.Text - If origtext.Contains(" (") Then - Dim existingstring = origtext.Substring(0, origtext.IndexOf("(") - 1) - childNodeLevel2.Text = existingstring + Dim result As Integer = ReturnAmountofRecords(ClassNodeNavigation.Return_ENTITY_FOR_TAG(childNodeLevel1.Tag)) + If result <> 99999999 Then + Dim origtext As String = childNodeLevel1.Text + If origtext.Contains(" (") Then + Dim existingstring = origtext.Substring(0, origtext.IndexOf("(") - 1) + childNodeLevel1.Text = existingstring & " (" & result.ToString & ")" + Else + childNodeLevel1.Text = childNodeLevel1.Text & " (" & result.ToString & ")" + End If End If - For Each childNodeLevel3 As TreeNode In childNodeLevel2.Nodes - Dim origtext1 As String = childNodeLevel3.Text - If origtext1.Contains(" (") Then - Dim existingstring = origtext1.Substring(0, origtext1.IndexOf("(") - 1) - childNodeLevel1.Text = existingstring + + For Each childNodeLevel2 As TreeNode In childNodeLevel1.Nodes + Dim origtext As String = childNodeLevel2.Text + If origtext.Contains(" (") Then + Dim existingstring = origtext.Substring(0, origtext.IndexOf("(") - 1) + childNodeLevel2.Text = existingstring End If + For Each childNodeLevel3 As TreeNode In childNodeLevel2.Nodes + Dim origtext1 As String = childNodeLevel3.Text + If origtext1.Contains(" (") Then + Dim existingstring = origtext1.Substring(0, origtext1.IndexOf("(") - 1) + childNodeLevel1.Text = existingstring + End If + Next Next - Next - a += 1 - End If + a += 1 + End If - Next - 'Catch ex As Exception - ' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Load_Datafor_Entity: " & ex.StackTrace) - 'End Try + Next + 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 \ No newline at end of file diff --git a/app/DD-Record-Organizer/frmDocLink_to_Record.vb b/app/DD-Record-Organizer/frmDocLink_to_Record.vb index 2595269..2f06e57 100644 --- a/app/DD-Record-Organizer/frmDocLink_to_Record.vb +++ b/app/DD-Record-Organizer/frmDocLink_to_Record.vb @@ -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 diff --git a/app/DD-Record-Organizer/frmRecordView.vb b/app/DD-Record-Organizer/frmRecordView.vb index 94740f8..df86b6a 100644 --- a/app/DD-Record-Organizer/frmRecordView.vb +++ b/app/DD-Record-Organizer/frmRecordView.vb @@ -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