diff --git a/app/DD-Record-Organizer/Classes/ClassNodeNavigation.vb b/app/DD-Record-Organizer/Classes/ClassNodeNavigation.vb
index f82d08a..8d15193 100644
--- a/app/DD-Record-Organizer/Classes/ClassNodeNavigation.vb
+++ b/app/DD-Record-Organizer/Classes/ClassNodeNavigation.vb
@@ -6,6 +6,9 @@ Public Class ClassNodeNavigation
Public Shared Datatable_Nodes As DataTable
Public Shared TREEVIEW_IMAGELIST As ImageList
Public Shared IMAGE_COLLECTION As ImageCollection
+
+
+
Public Shared Function CreateNodeProcedure(RECORD_ID As Integer, NODE_CONFIG_ID As Integer, NODE_CAPTION As String, NODE_ID1 As String, NODE_PARENT_ID As String, ADDED_WHO As String)
Try
Dim connection As New SqlConnection
@@ -38,56 +41,56 @@ Public Class ClassNodeNavigation
End Function
- Public Shared Function CREATE_IMAGE_COLL(DT_IMAGELIST As DataTable)
- IMAGE_COLLECTION = New ImageCollection
- For Each row As DataRow In DT_IMAGELIST.Rows
- Try
- Dim bimage = row.Item("NODE_IMAGE")
- If Not IsDBNull(bimage) Then
- Dim Node_image = ByteArrayToBitmap(bimage)
- IMAGE_COLLECTION.AddImage(Node_image, row.Item("GUID")) 'row.Item("GUID").ToString & "#" & row.Item("ENTITY_ID")
+ 'Public Shared Function CREATE_IMAGE_COLL(DT_IMAGELIST As DataTable)
+ ' IMAGE_COLLECTION = New ImageCollection
+ ' For Each row As DataRow In DT_IMAGELIST.Rows
+ ' Try
+ ' Dim bimage = row.Item("NODE_IMAGE")
+ ' If Not IsDBNull(bimage) Then
+ ' Dim Node_image = ByteArrayToBitmap(bimage)
+ ' IMAGE_COLLECTION.AddImage(Node_image, row.Item("GUID")) 'row.Item("GUID").ToString & "#" & row.Item("ENTITY_ID")
- End If
- Catch ex As Exception
+ ' End If
+ ' Catch ex As Exception
- End Try
+ ' End Try
- Next
- End Function
+ ' Next
+ 'End Function
- Public Shared Function Return_Node(PARENT_ID As Integer, ParentNode As TreeNode)
- Dim expression As String
- expression = "PARENT_GUID = " & PARENT_ID 'Einschränkung auf Type und Parent_Guid
- Dim foundRows() As DataRow
- foundRows = Datatable_Nodes.Select(expression)
- Dim q As Integer
- For q = 0 To foundRows.GetUpperBound(0)
- Dim ID9 = foundRows(q)("GUID")
- Dim LevelEntity9 = foundRows(q)("ENTITY_ID")
- Dim controlID9 = foundRows(q)("CONTROL_ID")
- Dim nodetext9 = foundRows(q)("NODE_CAPTION")
- Dim RECORD_ID = foundRows(q)("RECORD_ID")
- Dim NODE_CONFIG_ID = foundRows(q)("NODE_CONFIG_ID")
- ' Node erstellen..
- Dim NEW_NODE As TreeNode
- NEW_NODE = New TreeNode(nodetext9)
- ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity9, NEW_NODE)
- NEW_NODE.Tag = ClassNodeNavigation.CreateNODE_TAG(LevelEntity9, ID9, RECORD_ID, NODE_CONFIG_ID)
+ 'Public Shared Function Return_Node(PARENT_ID As Integer, ParentNode As TreeNode)
+ ' Dim expression As String
+ ' expression = "PARENT_GUID = " & PARENT_ID 'Einschränkung auf Type und Parent_Guid
+ ' Dim foundRows() As DataRow
+ ' foundRows = Datatable_Nodes.Select(expression)
+ ' Dim q As Integer
+ ' For q = 0 To foundRows.GetUpperBound(0)
+ ' Dim ID9 = foundRows(q)("GUID")
+ ' Dim LevelEntity9 = foundRows(q)("ENTITY_ID")
+ ' Dim controlID9 = foundRows(q)("CONTROL_ID")
+ ' Dim nodetext9 = foundRows(q)("NODE_CAPTION")
+ ' Dim RECORD_ID = foundRows(q)("RECORD_ID")
+ ' Dim NODE_CONFIG_ID = foundRows(q)("NODE_CONFIG_ID")
+ ' ' Node erstellen..
+ ' Dim NEW_NODE As TreeNode
+ ' NEW_NODE = New TreeNode(nodetext9)
+ ' ClassNodeNavigation.Check_NODE_CONFIG_ID(LevelEntity9, NEW_NODE)
+ ' NEW_NODE.Tag = ClassNodeNavigation.CreateNODE_TAG(LevelEntity9, ID9, RECORD_ID, NODE_CONFIG_ID)
- Dim index = 0
- For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
- If img.Replace("LEVEL#ENTITY", "") = "6" & LevelEntity9.ToString Then
- Exit For
- End If
- index += 1
- Next
- NEW_NODE.ImageIndex = index
- NEW_NODE.SelectedImageIndex = index
- ' ..und einfügen
- ParentNode.Nodes.Add(NEW_NODE)
- Next '
- End Function
+ ' Dim index = 0
+ ' For Each img As String In TREEVIEW_IMAGELIST.Images.Keys
+ ' If img.Replace("LEVEL#ENTITY", "") = "6" & LevelEntity9.ToString Then
+ ' Exit For
+ ' End If
+ ' index += 1
+ ' Next
+ ' NEW_NODE.ImageIndex = index
+ ' NEW_NODE.SelectedImageIndex = index
+ ' ' ..und einfügen
+ ' ParentNode.Nodes.Add(NEW_NODE)
+ ' Next '
+ 'End Function
Public Shared Sub Check_NODE_CONFIG_ID(ENTITY_ID As Integer, myTreeNode As TreeNode)
Try
If myTreeNode Is Nothing Then
diff --git a/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeCreator.vb b/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeCreator.vb
new file mode 100644
index 0000000..63ea8e8
--- /dev/null
+++ b/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeCreator.vb
@@ -0,0 +1,39 @@
+Imports DevExpress.Utils
+Imports DevExpress.XtraTreeList.Nodes
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Logging
+
+Public Class ClassNodeCreator
+ Inherits BaseClass
+
+ Private ReadOnly _ImageList As ImageCollection
+
+ Public Sub New(pLogConfig As LogConfig, pImageList As ImageCollection)
+ MyBase.New(pLogConfig)
+ _ImageList = pImageList
+ End Sub
+
+ Public Function AddNode(pEntityId As Integer, pNodeCaption As String, pParentNodeId As Integer, pNodeConfigId As Integer) As Boolean
+
+ ' Create a new Record in the given Entity
+ Dim oRecordId = ClassRecordCommands.CreateRecordProcedure(pEntityId)
+ If oRecordId = 0 Then
+ Logger.Warn("Could not create a record. Exiting.")
+ Return False
+ End If
+
+ ' Update the proxy?
+ ClassProxy.PRPROXY_RECORD_UPD_INS(pEntityId, oRecordId)
+
+ ' Create the Node in the Database
+ Dim oNodeIdentifier = $"CONFIG {oRecordId}-{pNodeConfigId}"
+ Dim oNodeId = ClassNodeNavigation.CreateNodeProcedure(oRecordId, pNodeConfigId, pNodeCaption, oNodeIdentifier, pParentNodeId, USER_USERNAME)
+
+ If oNodeId = 0 Then
+ Logger.Warn("Node could not be created in database. Exiting.")
+ Return False
+ End If
+
+ Return True
+ End Function
+End Class
diff --git a/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeLoader.vb b/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeLoader.vb
new file mode 100644
index 0000000..8f74c91
--- /dev/null
+++ b/app/DD-Record-Organizer/Classes/NodeNavigation/ClassNodeLoader.vb
@@ -0,0 +1,34 @@
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Database
+Imports DigitalData.Modules.Logging
+
+Public Class ClassNodeLoader
+ Inherits BaseClass
+
+ Private ReadOnly Database As MSSQLServer
+
+ Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer)
+ MyBase.New(pLogConfig)
+ Database = pDatabase
+ End Sub
+
+ Public Async Function LoadNodes(pEntityId As Integer) As Task(Of DataTable)
+ Dim oStructureNodeSql = $"SELECT
+ T.GUID,
+ T.RECORD_ID,
+ T.NODE_CONFIG_ID,
+ T.NODE_CAPTION,
+ T.ID1,
+ T.BACK_COLOR,
+ T.PARENT_GUID,
+ T.SEQUENCE,
+ T.TYPE_NODE
+ FROM
+ VWPMO_STRUCTURE_NODES T
+ INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID
+ WHERE T.ENTITY_ID = {pEntityId}"
+ Dim oTable = Await Database.GetDatatableAsync(oStructureNodeSql)
+
+ Return oTable
+ End Function
+End Class
diff --git a/app/DD-Record-Organizer/My Project/licenses.licx b/app/DD-Record-Organizer/My Project/licenses.licx
index ca26f57..8e8f744 100644
--- a/app/DD-Record-Organizer/My Project/licenses.licx
+++ b/app/DD-Record-Organizer/My Project/licenses.licx
@@ -1,5 +1,9 @@
-DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/app/DD-Record-Organizer/OrgFlow.vbproj b/app/DD-Record-Organizer/OrgFlow.vbproj
index 74de88f..63493c9 100644
--- a/app/DD-Record-Organizer/OrgFlow.vbproj
+++ b/app/DD-Record-Organizer/OrgFlow.vbproj
@@ -306,6 +306,8 @@
+
+
True
True
@@ -404,6 +406,12 @@
Form
+
+ frmNewNode.vb
+
+
+ Form
+
frmNewVariant.vb
@@ -872,6 +880,9 @@
frmMessageBox.vb
+
+ frmNewNode.vb
+
frmNewVariant.vb
diff --git a/app/DD-Record-Organizer/frmConstructor_Main.resx b/app/DD-Record-Organizer/frmConstructor_Main.resx
index 67e7727..5f47430 100644
--- a/app/DD-Record-Organizer/frmConstructor_Main.resx
+++ b/app/DD-Record-Organizer/frmConstructor_Main.resx
@@ -496,7 +496,7 @@
0, 0
- 910, 237
+ 908, 237
2
@@ -592,7 +592,7 @@
0, 0
- 699, 223
+ 699, 231
4
@@ -634,7 +634,7 @@
0, 0
- 488, 198
+ 486, 206
5
@@ -681,10 +681,10 @@
Ansicht eingeschränkt - Klick Bearbeiten für Entsperren
- 0, 198
+ 0, 206
- 488, 25
+ 486, 25
0
@@ -720,7 +720,7 @@
1
- 1201, 227
+ 1201, 235
1
@@ -896,7 +896,7 @@
1
- 1201, 254
+ 1201, 262
Detailansicht
@@ -914,7 +914,7 @@
0
- 1203, 282
+ 1203, 290
3
@@ -1889,7 +1889,7 @@
0, 0
- 1201, 254
+ 1201, 264
301, 17
@@ -1918,7 +1918,7 @@
0
- 1201, 254
+ 1201, 264
NodeNavigation(beta)
@@ -1963,7 +1963,7 @@
1
- 1203, 529
+ 1203, 539
2
@@ -1987,7 +1987,7 @@
Fill
- 0, 158
+ 0, 147
Panel1
@@ -2020,7 +2020,7 @@
1
- 1203, 529
+ 1203, 539
4
@@ -3085,13 +3085,13 @@
Funktionen
- 1203, 158
+ 1203, 147
- 0, 687
+ 0, 686
- 1203, 22
+ 1203, 23
RibbonStatusBar1
diff --git a/app/DD-Record-Organizer/frmNewNode.Designer.vb b/app/DD-Record-Organizer/frmNewNode.Designer.vb
new file mode 100644
index 0000000..0c67dae
--- /dev/null
+++ b/app/DD-Record-Organizer/frmNewNode.Designer.vb
@@ -0,0 +1,171 @@
+ _
+Partial Class frmNewNode
+ Inherits DevExpress.XtraEditors.XtraForm
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ MyBase.Dispose(disposing)
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
+ Me.cmbNodeConfig = New DevExpress.XtraEditors.ComboBoxEdit()
+ Me.TextEdit1 = New DevExpress.XtraEditors.TextEdit()
+ Me.btnOK = New DevExpress.XtraEditors.SimpleButton()
+ Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
+ Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.EmptySpaceItem2 = New DevExpress.XtraLayout.EmptySpaceItem()
+ Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
+ CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.LayoutControl1.SuspendLayout()
+ CType(Me.cmbNodeConfig.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.EmptySpaceItem2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'LayoutControl1
+ '
+ Me.LayoutControl1.Controls.Add(Me.cmbNodeConfig)
+ Me.LayoutControl1.Controls.Add(Me.TextEdit1)
+ Me.LayoutControl1.Controls.Add(Me.btnOK)
+ Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
+ Me.LayoutControl1.Name = "LayoutControl1"
+ Me.LayoutControl1.Root = Me.Root
+ Me.LayoutControl1.Size = New System.Drawing.Size(441, 125)
+ Me.LayoutControl1.TabIndex = 0
+ Me.LayoutControl1.Text = "LayoutControl1"
+ '
+ 'cmbNodeConfig
+ '
+ Me.cmbNodeConfig.Location = New System.Drawing.Point(73, 36)
+ Me.cmbNodeConfig.Name = "cmbNodeConfig"
+ Me.cmbNodeConfig.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
+ Me.cmbNodeConfig.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
+ Me.cmbNodeConfig.Size = New System.Drawing.Size(356, 20)
+ Me.cmbNodeConfig.StyleController = Me.LayoutControl1
+ Me.cmbNodeConfig.TabIndex = 4
+ '
+ 'TextEdit1
+ '
+ Me.TextEdit1.Location = New System.Drawing.Point(73, 12)
+ Me.TextEdit1.Name = "TextEdit1"
+ Me.TextEdit1.Size = New System.Drawing.Size(356, 20)
+ Me.TextEdit1.StyleController = Me.LayoutControl1
+ Me.TextEdit1.TabIndex = 5
+ '
+ 'btnOK
+ '
+ Me.btnOK.Location = New System.Drawing.Point(326, 91)
+ Me.btnOK.Name = "btnOK"
+ Me.btnOK.Size = New System.Drawing.Size(103, 22)
+ Me.btnOK.StyleController = Me.LayoutControl1
+ Me.btnOK.TabIndex = 6
+ Me.btnOK.Text = "OK"
+ '
+ 'Root
+ '
+ Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
+ Me.Root.GroupBordersVisible = False
+ Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2, Me.LayoutControlItem1, Me.LayoutControlItem3, Me.EmptySpaceItem2, Me.EmptySpaceItem1})
+ Me.Root.Name = "Root"
+ Me.Root.Size = New System.Drawing.Size(441, 125)
+ Me.Root.TextVisible = False
+ '
+ 'LayoutControlItem2
+ '
+ Me.LayoutControlItem2.Control = Me.TextEdit1
+ Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 0)
+ Me.LayoutControlItem2.Name = "LayoutControlItem2"
+ Me.LayoutControlItem2.Size = New System.Drawing.Size(421, 24)
+ Me.LayoutControlItem2.Text = "Knoten Titel"
+ Me.LayoutControlItem2.TextSize = New System.Drawing.Size(57, 13)
+ '
+ 'LayoutControlItem1
+ '
+ Me.LayoutControlItem1.Control = Me.cmbNodeConfig
+ Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 24)
+ Me.LayoutControlItem1.Name = "LayoutControlItem1"
+ Me.LayoutControlItem1.Size = New System.Drawing.Size(421, 24)
+ Me.LayoutControlItem1.Text = "Knoten Typ"
+ Me.LayoutControlItem1.TextSize = New System.Drawing.Size(57, 13)
+ '
+ 'LayoutControlItem3
+ '
+ Me.LayoutControlItem3.Control = Me.btnOK
+ Me.LayoutControlItem3.Location = New System.Drawing.Point(314, 79)
+ Me.LayoutControlItem3.Name = "LayoutControlItem3"
+ Me.LayoutControlItem3.Size = New System.Drawing.Size(107, 26)
+ Me.LayoutControlItem3.TextSize = New System.Drawing.Size(0, 0)
+ Me.LayoutControlItem3.TextVisible = False
+ '
+ 'EmptySpaceItem2
+ '
+ Me.EmptySpaceItem2.AllowHotTrack = False
+ Me.EmptySpaceItem2.Location = New System.Drawing.Point(0, 79)
+ Me.EmptySpaceItem2.Name = "EmptySpaceItem2"
+ Me.EmptySpaceItem2.Size = New System.Drawing.Size(314, 26)
+ Me.EmptySpaceItem2.TextSize = New System.Drawing.Size(0, 0)
+ '
+ 'EmptySpaceItem1
+ '
+ Me.EmptySpaceItem1.AllowHotTrack = False
+ Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 48)
+ Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
+ Me.EmptySpaceItem1.Size = New System.Drawing.Size(421, 31)
+ Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
+ '
+ 'frmNewNode
+ '
+ Me.AcceptButton = Me.btnOK
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(441, 125)
+ Me.Controls.Add(Me.LayoutControl1)
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmNewNode"
+ Me.Text = "Neuen Knoten erstellen"
+ CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.LayoutControl1.ResumeLayout(False)
+ CType(Me.cmbNodeConfig.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.EmptySpaceItem2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
+ Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
+ Friend WithEvents cmbNodeConfig As DevExpress.XtraEditors.ComboBoxEdit
+ Friend WithEvents TextEdit1 As DevExpress.XtraEditors.TextEdit
+ Friend WithEvents btnOK As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents EmptySpaceItem2 As DevExpress.XtraLayout.EmptySpaceItem
+ Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
+End Class
diff --git a/app/DD-Record-Organizer/frmNewNode.resx b/app/DD-Record-Organizer/frmNewNode.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/app/DD-Record-Organizer/frmNewNode.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/app/DD-Record-Organizer/frmNewNode.vb b/app/DD-Record-Organizer/frmNewNode.vb
new file mode 100644
index 0000000..939a50b
--- /dev/null
+++ b/app/DD-Record-Organizer/frmNewNode.vb
@@ -0,0 +1,29 @@
+Public Class frmNewNode
+ Public Property Title As String
+ Public Property Id As Integer
+ Public Property NodeConfigTypes As New List(Of NodeConfig)
+
+ Public Class NodeConfig
+ Public Property Id
+ Public Property Name
+
+ Public Overrides Function ToString() As String
+ Return Name
+ End Function
+ End Class
+
+ Private Sub frmNewNode_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ cmbNodeConfig.Properties.Items.AddRange(NodeConfigTypes)
+ cmbNodeConfig.SelectedIndex = 0
+ End Sub
+
+ Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnOK.Click
+ Try
+ Dim oSelectedNodeConfig As NodeConfig = cmbNodeConfig.EditValue
+ Id = oSelectedNodeConfig.Id
+ Title = TextEdit1.EditValue
+ DialogResult = DialogResult.OK
+ Catch ex As Exception
+ End Try
+ End Sub
+End Class
\ No newline at end of file
diff --git a/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb b/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb
index 88f0c8b..bc132eb 100644
--- a/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb
+++ b/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb
@@ -42,6 +42,7 @@ Partial Class frmNodeNavigation
Me.BbtnitmNodeReorder = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnItm_TV_Collape_Expand = New DevExpress.XtraBars.BarButtonItem()
Me.checkShowPreview = New DevExpress.XtraBars.BarCheckItem()
+ Me.btnCreateNewNode = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroupView = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupRecord = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -112,9 +113,9 @@ Partial Class frmNodeNavigation
'ribbonNodeNavigation
'
Me.ribbonNodeNavigation.ExpandCollapseItem.Id = 0
- Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview})
+ Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode})
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 0)
- Me.ribbonNodeNavigation.MaxItemId = 19
+ Me.ribbonNodeNavigation.MaxItemId = 22
Me.ribbonNodeNavigation.Name = "ribbonNodeNavigation"
Me.ribbonNodeNavigation.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.ribbonNodeNavigation.PopupMenuAlignment = DevExpress.XtraBars.PopupMenuAlignment.Left
@@ -123,7 +124,7 @@ Partial Class frmNodeNavigation
Me.ribbonNodeNavigation.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
Me.ribbonNodeNavigation.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowToolbarCustomizeItem = False
- Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1307, 158)
+ Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1307, 147)
Me.ribbonNodeNavigation.StatusBar = Me.RibbonStatusBar1
Me.ribbonNodeNavigation.Toolbar.ShowCustomizeItem = False
'
@@ -230,7 +231,7 @@ Partial Class frmNodeNavigation
'
'bbtnItm_TV_Collape_Expand
'
- Me.bbtnItm_TV_Collape_Expand.Caption = "Collaps/Expand"
+ Me.bbtnItm_TV_Collape_Expand.Caption = "Ein- / Ausklappen"
Me.bbtnItm_TV_Collape_Expand.Id = 17
Me.bbtnItm_TV_Collape_Expand.ImageOptions.SvgImage = CType(resources.GetObject("bbtnItm_TV_Collape_Expand.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnItm_TV_Collape_Expand.Name = "bbtnItm_TV_Collape_Expand"
@@ -242,6 +243,14 @@ Partial Class frmNodeNavigation
Me.checkShowPreview.ImageOptions.SvgImage = CType(resources.GetObject("checkShowPreview.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.checkShowPreview.Name = "checkShowPreview"
'
+ 'btnCreateNewNode
+ '
+ Me.btnCreateNewNode.Caption = "Neuen Knoten anlegen"
+ Me.btnCreateNewNode.Enabled = False
+ Me.btnCreateNewNode.Id = 19
+ Me.btnCreateNewNode.ImageOptions.SvgImage = CType(resources.GetObject("btnCreateNewNode.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnCreateNewNode.Name = "btnCreateNewNode"
+ '
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroupView, Me.RibbonPageGroupRecord, Me.RibbonPageGroupDocResult, Me.RibbonPageGroup1, Me.RPGNodes})
@@ -285,6 +294,7 @@ Partial Class frmNodeNavigation
'
Me.RPGNodes.ItemLinks.Add(Me.BbtnitmNodeReorder)
Me.RPGNodes.ItemLinks.Add(Me.bbtnItm_TV_Collape_Expand)
+ Me.RPGNodes.ItemLinks.Add(Me.btnCreateNewNode)
Me.RPGNodes.Name = "RPGNodes"
Me.RPGNodes.Text = "Knoten"
'
@@ -295,10 +305,10 @@ Partial Class frmNodeNavigation
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmRecordID)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemLocked)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
- Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 822)
+ Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 667)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
- Me.RibbonStatusBar1.Size = New System.Drawing.Size(1307, 22)
+ Me.RibbonStatusBar1.Size = New System.Drawing.Size(1307, 23)
'
'RibbonPage2
'
@@ -320,7 +330,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerMain.Panel2.Controls.Add(Me.SplitContainer1)
Me.SplitContainerMain.Panel2.Text = "Panel2"
- Me.SplitContainerMain.Size = New System.Drawing.Size(1297, 664)
+ Me.SplitContainerMain.Size = New System.Drawing.Size(1295, 520)
Me.SplitContainerMain.SplitterPosition = 289
Me.SplitContainerMain.TabIndex = 2
'
@@ -331,6 +341,7 @@ Partial Class frmNodeNavigation
Me.TreeListDevexpress.Appearance.FocusedRow.Options.UseBackColor = True
Me.TreeListDevexpress.Caption = "Instandhaltung View"
Me.TreeListDevexpress.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TreeListDevexpress.KeyFieldName = "GUID"
Me.TreeListDevexpress.Location = New System.Drawing.Point(0, 0)
Me.TreeListDevexpress.Name = "TreeListDevexpress"
Me.TreeListDevexpress.BeginUnboundLoad()
@@ -356,7 +367,8 @@ Partial Class frmNodeNavigation
Me.TreeListDevexpress.OptionsView.ShowTreeLines = DevExpress.Utils.DefaultBoolean.[False]
Me.TreeListDevexpress.OptionsView.ShowVertLines = False
Me.TreeListDevexpress.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
- Me.TreeListDevexpress.Size = New System.Drawing.Size(289, 664)
+ Me.TreeListDevexpress.ParentFieldName = "PARENT_GUID"
+ Me.TreeListDevexpress.Size = New System.Drawing.Size(289, 520)
Me.TreeListDevexpress.StateImageList = Me.ImageCollection1
Me.TreeListDevexpress.TabIndex = 1
'
@@ -379,8 +391,8 @@ Partial Class frmNodeNavigation
'SplitContainer1.Panel2
'
Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlDocSearch)
- Me.SplitContainer1.Size = New System.Drawing.Size(998, 664)
- Me.SplitContainer1.SplitterDistance = 214
+ Me.SplitContainer1.Size = New System.Drawing.Size(994, 520)
+ Me.SplitContainer1.SplitterDistance = 167
Me.SplitContainer1.TabIndex = 0
'
'pnlControls
@@ -390,7 +402,7 @@ Partial Class frmNodeNavigation
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlControls.Location = New System.Drawing.Point(0, 0)
Me.pnlControls.Name = "pnlControls"
- Me.pnlControls.Size = New System.Drawing.Size(998, 214)
+ Me.pnlControls.Size = New System.Drawing.Size(994, 167)
Me.pnlControls.TabIndex = 0
'
'GridControlDocSearch
@@ -403,7 +415,7 @@ Partial Class frmNodeNavigation
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch"
- Me.GridControlDocSearch.Size = New System.Drawing.Size(998, 446)
+ Me.GridControlDocSearch.Size = New System.Drawing.Size(994, 349)
Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@@ -591,7 +603,7 @@ Partial Class frmNodeNavigation
Me.SplitContainerDocView.Collapsed = True
Me.SplitContainerDocView.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerDocView.Dock = System.Windows.Forms.DockStyle.Fill
- Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 158)
+ Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 147)
Me.SplitContainerDocView.Name = "SplitContainerDocView"
'
'SplitContainerDocView.Panel1
@@ -603,7 +615,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerDocView.Panel2.Controls.Add(Me.DocumentViewer)
Me.SplitContainerDocView.Panel2.Text = "Panel2"
- Me.SplitContainerDocView.Size = New System.Drawing.Size(1307, 664)
+ Me.SplitContainerDocView.Size = New System.Drawing.Size(1307, 520)
Me.SplitContainerDocView.SplitterPosition = 969
Me.SplitContainerDocView.TabIndex = 0
'
@@ -620,7 +632,7 @@ Partial Class frmNodeNavigation
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(1307, 844)
+ Me.ClientSize = New System.Drawing.Size(1307, 690)
Me.Controls.Add(Me.SplitContainerDocView)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.ribbonNodeNavigation)
@@ -716,4 +728,5 @@ Partial Class frmNodeNavigation
Friend WithEvents DocumentViewer As DigitalData.Controls.DocumentViewer.DocumentViewer
Friend WithEvents RibbonPageGroupView As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents checkShowPreview As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents btnCreateNewNode As DevExpress.XtraBars.BarButtonItem
End Class
diff --git a/app/DD-Record-Organizer/frmNodeNavigation.resx b/app/DD-Record-Organizer/frmNodeNavigation.resx
index 9e4be43..a133821 100644
--- a/app/DD-Record-Organizer/frmNodeNavigation.resx
+++ b/app/DD-Record-Organizer/frmNodeNavigation.resx
@@ -448,6 +448,27 @@
OCwyNCwxOCwyNHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
+ QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
+ LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
+ Cjwvc3ZnPgs=
+
+
+
+ 17, 17
+
17, 17
diff --git a/app/DD-Record-Organizer/frmNodeNavigation.vb b/app/DD-Record-Organizer/frmNodeNavigation.vb
index 8e9d6d1..0098923 100644
--- a/app/DD-Record-Organizer/frmNodeNavigation.vb
+++ b/app/DD-Record-Organizer/frmNodeNavigation.vb
@@ -20,28 +20,20 @@ Imports System.Configuration
Public Class frmNodeNavigation
#Region "Laufzeitvariablen & Konstanten"
- Dim DT_STRUCTURE_NODES As DataTable
- Dim DT_ADDING_USERS As DataTable
- Dim DT_VWPMO_CONSTRUCTOR_FORMS As DataTable
+ Private DT_STRUCTURE_NODES As DataTable
+ Private DT_ADDING_USERS As DataTable
+ Private DT_VWPMO_CONSTRUCTOR_FORMS As DataTable
Private RunningTask As Task
Private RunningTaskTokenSource As New CancellationTokenSource
Private RunningTaskToken = RunningTaskTokenSource.Token
- Private oEntityID As Int16
- Private oConstructID As Int16
+ Private _EntityId As Short
+ Private oConstructID As Short
Private CONSTRUCTORID As Integer
- Private CONSTRUCTOR_DETAIL_ID As Int16
- Private oFilterActive As Boolean = False
- Private ROW_READ_ONLY As Boolean = False
+ Private CONSTRUCTOR_DETAIL_ID As Short
+ Private _FilterActive As Boolean = False
+ Private _RowReadOnly As Boolean = False
Private ADD_RECORDS_CONSTR As Boolean = True
Private TV_Collapse_ExpandState = "Collapse"
- Public CtrlBuilder As ClassControlBuilder
- Public CtrlCommandUI As ClassControlCommandsUI
- Public Enum EditState
- None
- Insert
- Update
- Delete
- End Enum
Private WindowsEx As WindowsEx
@@ -73,47 +65,63 @@ Public Class frmNodeNavigation
Private IW_USER As String
Private IW_COMMENT As String
Private INWORK_FILE As Boolean
- Private Const SEE_MASK_INVOKEIDLIST = &HC
- Private Const SEE_MASK_NOCLOSEPROCESS = &H40
- Private Const SEE_MASK_FLAG_NO_UI = &H400
- Public Const SW_SHOW As Short = 5
Private CONTROL_DOCTYPE_MATCH As Integer = 0
Private FocusedNode As TreeListNode
Private MyTreeListViewState As ClassTreeListViewState
-#End Region
-
+ Private AvailableConfigNodes As New List(Of frmNewNode.NodeConfig)
+ Private CurrentNodeConfigId As Integer = 0
Private DocList As ClassWindreamDocGrid
+ Public CtrlBuilder As ClassControlBuilder
+ Public CtrlCommandUI As ClassControlCommandsUI
+
+ Private ClassNodeLoader As ClassNodeLoader
+
+ Private Debug As Boolean = False
+
+ Public Enum EditState
+ None
+ Insert
+ Update
+ Delete
+ End Enum
+
+#End Region
+
Public Sub New(pEntityID As Int16, pConstructID As Int16)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
- oEntityID = pEntityID
+ _EntityId = pEntityID
oConstructID = pConstructID
DocList = New ClassWindreamDocGrid(GridViewDoc_Search)
WindowsEx = New WindowsEx(LOGCONFIG)
+ ClassNodeLoader = New ClassNodeLoader(LOGCONFIG, MYDB_ECM)
End Sub
+
Private Function Get_Splitter_Layout_Filename()
Dim Filename As String = String.Format("{0}-{1}-SplitterLayout.xml", CONSTRUCTOR_DETAIL_ID, CONSTRUCTOR_DETAIL_ID.ToString)
Return Path.Combine(Application.UserAppDataPath(), Filename)
End Function
+
Sub Save_Splitter_Layout()
Try
Dim XMLPath = Get_Splitter_Layout_Filename()
Dim layout As New ClassLayout(XMLPath)
- Dim settings As New System.Collections.Generic.List(Of ClassSetting)
-
- settings.Add(New ClassSetting("SplitViewDetailsSplitterPosition", SplitContainer1.SplitterDistance))
- settings.Add(New ClassSetting("SplitViewMainSplitterPosition", SplitContainerMain.SplitterPosition))
+ Dim settings As New List(Of ClassSetting) From {
+ New ClassSetting("SplitViewDetailsSplitterPosition", SplitContainer1.SplitterDistance),
+ New ClassSetting("SplitViewMainSplitterPosition", SplitContainerMain.SplitterPosition)
+ }
layout.Save(settings)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try
End Sub
+
Sub Load_Splitter_Layout()
Try
Dim XMLPath As String = Get_Splitter_Layout_Filename()
@@ -145,7 +153,7 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try
End Sub
- Private Sub frmNodeNavigation_Load(sender As Object, e As EventArgs) Handles Me.Load
+ Private Async Function frmNodeNavigation_Load(sender As Object, e As EventArgs) As Task Handles Me.Load
CONSTRUCTORID = CURRENT_CONSTRUCTOR_ID
Dim Sql = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " &
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, oConstructID)
@@ -187,73 +195,69 @@ Public Class frmNodeNavigation
Load_Datafor_Entity()
FORM_LOADED = True
- Catch ex As System.Exception
+ Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Loading Form part 4")
End Try
- Load_nodes()
- End Sub
- Private Sub Load_nodes()
+ Await Load_nodes()
+ End Function
+ Private Async Function Load_nodes() As Task
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
+ Dim oTable = Await ClassNodeLoader.LoadNodes(CURRENT_ENTITY_ID)
+ DT_STRUCTURE_NODES = oTable
+ 'Dim oToken = RunningTaskTokenSource.Token
+ 'Dim oStructureNodeSql = $"SELECT
+ ' T.GUID,
+ ' T.RECORD_ID,
+ ' T.NODE_CONFIG_ID,
+ ' T.NODE_CAPTION,
+ ' T.ID1,
+ ' T.BACK_COLOR,
+ ' T.PARENT_GUID,
+ ' T.SEQUENCE,
+ ' T.TYPE_NODE
+ ' FROM
+ ' VWPMO_STRUCTURE_NODES T
+ 'INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID
+ 'WHERE T.ENTITY_ID = {CURRENT_ENTITY_ID}"
+ 'DT_STRUCTURE_NODES = MYDB_ECM.GetDatatable(oStructureNodeSql)
- Dim oToken = RunningTaskTokenSource.Token
- Dim Sql = String.Format("select T.GUID,T.RECORD_ID, T.NODE_CONFIG_ID,T.NODE_CAPTION,T.ID1, T.BACK_COLOR,T.PARENT_GUID, T.SEQUENCE from VWPMO_STRUCTURE_NODES T
- INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
- DT_STRUCTURE_NODES = MYDB_ECM.GetDatatable(Sql)
- Sql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
- Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(Sql)
+ Dim oNodeConfigSql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
+ Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(oNodeConfigSql)
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
Try
- Dim bimage = row.Item("NODE_IMAGE")
- If Not IsDBNull(bimage) Then
- Dim Node_image = ByteArrayToBitmap(bimage)
- ImageCollection1.AddImage(Node_image, row.Item("GUID"))
+ Dim bimage = row.ItemEx(Of Object)("NODE_IMAGE", Nothing)
+ If bimage Is Nothing Then
+ Continue For
End If
+
+ Dim oNodeImage = ByteArrayToBitmap(bimage)
+ ImageCollection1.AddImage(oNodeImage, row.Item("GUID"))
Catch ex As Exception
-
End Try
-
Next
-
-
TreeListDevexpress.DataSource = DT_STRUCTURE_NODES
TreeListDevexpress.KeyFieldName = "GUID"
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
TreeListDevexpress.Columns("SEQUENCE").SortOrder = SortOrder.Ascending
TreeListDevexpress.StateImageList = ImageCollection1
- Try
- TreeListDevexpress.Columns.ColumnByName("colRECORD_ID").Visible = False
- Catch ex As Exception
+ Dim oVisibleColumns = New List(Of String) From {"NODE_CAPTION"}
+ For Each oColumn In TreeListDevexpress.Columns
+ If oVisibleColumns.Contains(oColumn.FieldName) = False Then
+ oColumn.Visible = False
+ End If
+ Next
- End Try
- Try
- TreeListDevexpress.Columns.ColumnByName("colNODE_CONFIG_ID").Visible = False
- Catch ex As Exception
-
- End Try
- Try
- TreeListDevexpress.Columns.ColumnByName("colBACK_COLOR").Visible = False
- TreeListDevexpress.Columns.ColumnByName("colID1").Visible = False
- Catch ex As Exception
-
- End Try
- Try
- TreeListDevexpress.Columns.ColumnByName("SEQUENCE").Visible = False
- Catch ex As Exception
-
- End Try
Catch ex As Exception
LOGGER.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
-
-
- End Sub
+ End Function
Private Sub TreeListDevexpress_ColumnFilterChanged(sender As Object, e As EventArgs)
Dim tree As TreeList = TryCast(sender, TreeList)
Dim filteredColumns As List(Of TreeListColumn) = tree.Columns.Cast(Of TreeListColumn)().Where(Function(c) c.FilterInfo.AutoFilterRowValue IsNot Nothing).ToList()
@@ -299,12 +303,12 @@ Public Class frmNodeNavigation
End Sub
End Class
-
-
Private Async Sub TreeListDevexpress_FocusedNodeChanged(sender As Object, e As FocusedNodeChangedEventArgs) Handles TreeListDevexpress.FocusedNodeChanged
FocusedNode = Nothing
- If oFilterActive Then
+ btnCreateNewNode.Enabled = False
+
+ If _FilterActive Then
Exit Sub
End If
@@ -328,18 +332,42 @@ Public Class frmNodeNavigation
Exit Sub
End If
- If oNodeId = 0 Then
- Exit Sub
- End If
+ 'If oNodeId = 0 Then
+ ' Exit Sub
+ 'End If
Dim oRowView As DataRowView = oRowObject
Dim oRow As DataRow = oRowView.Row
Dim oGuid = oRow.Item("GUID")
Dim oNodeCaption = oRow.Item("NODE_CAPTION")
+ Dim oNodeConfigId = oRow.Item("NODE_CONFIG_ID")
Dim oRecordId = oRow.ItemEx("RECORD_ID", 0)
Dim oHasRecordId = (oRecordId > 0)
+ Dim oIsConfigNode = (oNodeConfigId = 1000)
Dim oParentNode = e.Node.ParentNode
+ ' BEGIN NEW NODE
+ Dim oConfigNodeChildren = FocusedNode.Nodes.Where(Function(n) n.Item("TYPE_NODE") = 1000)
+ Dim oHasConfigNodeChildren = oConfigNodeChildren.Any()
+ Dim oConfigNodeChildrenList = oConfigNodeChildren.ToList()
+
+ CurrentNodeConfigId = oNodeConfigId
+
+ AvailableConfigNodes.Clear()
+ Dim oNodeConfigList = NODE_CONFIGURABLE_NODES_DT.Select($"PARENT_NODE = {oNodeConfigId}").
+ Cast(Of DataRow).
+ Select(Function(row) New frmNewNode.NodeConfig() With {
+ .Id = row.Item("GUID"),
+ .Name = row.Item("NAME")
+ }).ToList()
+ AvailableConfigNodes = oNodeConfigList
+
+ If AvailableConfigNodes.Count > 0 Then
+ btnCreateNewNode.Enabled = True
+ End If
+
+ ' END NEW NODE
+
If oHasRecordId Then
Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {oRecordId}", EditState.None)
Else
@@ -357,7 +385,7 @@ Public Class frmNodeNavigation
CURRENT_RECORD_ID = oRecordId
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
- CURRENT_ENTITY_ID = oEntityID
+ CURRENT_ENTITY_ID = _EntityId
CURRENT_NODE_GUID = oNodeId
SELECTED_NODE_CAPTION = oNodeCaption
CURRENT_SEARCH_TYPE = "RECORD"
@@ -365,12 +393,12 @@ Public Class frmNodeNavigation
' muss vor show selected record data kommen,
' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False
- ClassControlValues.LoadControlValuesListWithPlaceholders(oEntityID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, oEntityID)
+ ClassControlValues.LoadControlValuesListWithPlaceholders(_EntityId, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId)
CtrlBuilder.WatchRecordChanges = True
Await Show_Selected_Record_Data(CURRENT_RECORD_ID)
- ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, oEntityID)
+ ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
CONTROL_HANDLING()
@@ -474,10 +502,10 @@ Public Class frmNodeNavigation
Try
- If oEntityID <> CURRENT_ENTITY_ID Then
+ If _EntityId <> CURRENT_ENTITY_ID Then
LOGGER.Info("Entity-Data needs to be reloaded...")
- CURRENT_ENTITY_ID = oEntityID
+ CURRENT_ENTITY_ID = _EntityId
CURRENT_CONSTRUCTOR_ID = oConstructID
Load_Adding_users()
Load_Configurable_Nodes()
@@ -495,7 +523,7 @@ Public Class frmNodeNavigation
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
- Where form.Item("FORM_ID") = oEntityID).Single()
+ Where form.Item("FORM_ID") = _EntityId).Single()
CONSTRUCTOR_DETAIL_ID = result.Item("GUID")
' CONSTRUCT_EXPAND = result.Item("EXPAND")
Dim FORM_DATE_FORMAT = result.Item("DATE_FORMAT")
@@ -517,7 +545,7 @@ Public Class frmNodeNavigation
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") = oEntityID
+ Select _user Where _user.Item("ENTITY_ID") = _EntityId
Dim Rows1 = query1.ToList()
For Each _row In Rows1
FAU_AD_DOMAIN = _row.Item("AD_DOMAIN").ToString()
@@ -553,7 +581,7 @@ Public Class frmNodeNavigation
Dim expression As String
Dim sql
'Dim sql = "SELECT CONTROL_ID, CONTROL_READ_ONLY FROM VWPMO_CONTROL_SCREEN WHERE CTRLTYPE_ID NOT IN (1) AND CONTROL_ENTITY_ID = " & oEntityID
- DT_CONTROLS_ENTITY = ClassHelper.FILTER_DATATABLE(DT_VWPMO_CONTROL_SCREEN, "CTRLTYPE_ID NOT IN (1) AND CONTROL_ENTITY_ID = " & oEntityID, "")
+ DT_CONTROLS_ENTITY = ClassHelper.FILTER_DATATABLE(DT_VWPMO_CONTROL_SCREEN, "CTRLTYPE_ID NOT IN (1) AND CONTROL_ENTITY_ID = " & _EntityId, "")
expression = "CONTROL_READ_ONLY = " & 1
@@ -576,7 +604,7 @@ Public Class frmNodeNavigation
Dim resultDT_VWPMO_CONSTRUCTOR_FORMS = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
- Where form.Item("FORM_ID") = oEntityID).Single()
+ Where form.Item("FORM_ID") = _EntityId).Single()
CURRENT_CONSTRUCTOR_DETAIL_ID = resultDT_VWPMO_CONSTRUCTOR_FORMS.Item("GUID")
@@ -591,25 +619,25 @@ Public Class frmNodeNavigation
- expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}'", oEntityID, USER_LANGUAGE)
+ expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}'", _EntityId, USER_LANGUAGE)
DT_COLUMNS_GRID_ENTITY = ClassHelper.FILTER_DATATABLE(DT_DOCSEARCH_RESULTLIST_CONFIG, expression, "SEQUENCE")
- expression = String.Format("ENTITY_ID = {0} AND TYPE_ID = 10 AND LANGUAGE = '{1}'", oEntityID, USER_LANGUAGE)
+ expression = String.Format("ENTITY_ID = {0} AND TYPE_ID = 10 AND LANGUAGE = '{1}'", _EntityId, USER_LANGUAGE)
DT_DOCRESULT_DROPDOWN_ITEMS = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_DOCRESULT_DROPDOWN_ITEMS, expression, "SEQUENCE")
LOGGER.Debug($"Found {DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count} DT_DOCRESULT_DROPDOWN_ITEMS!")
- DT_RESULTLIST_OPTIONS = ClassHelper.FILTER_DATATABLE(CURRENT_VARIABLE_CONTROLS, "ENTITY_ID = " & oEntityID, "")
- expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}' AND COLUMN_VIEW LIKE 'VALUE%'", oEntityID, USER_LANGUAGE)
+ DT_RESULTLIST_OPTIONS = ClassHelper.FILTER_DATATABLE(CURRENT_VARIABLE_CONTROLS, "ENTITY_ID = " & _EntityId, "")
+ expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}' AND COLUMN_VIEW LIKE 'VALUE%'", _EntityId, USER_LANGUAGE)
DT_RESULTLIST_VARIABLE_VALUE = ClassHelper.FILTER_DATATABLE(DT_DOCSEARCH_RESULTLIST_CONFIG, expression, "SEQUENCE")
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
Select form
- Where form.Item("GUID") = oEntityID).Single()
+ Where form.Item("GUID") = _EntityId).Single()
'sql = String.Format("select * from TBPMO_RIGHT_USER WHERE USER_ID = {0} AND oEntityID = {1}", USER_GUID, oEntityID)
- DT_RIGHTS_USER = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_RIGHT_USER, "ENTITY_ID = " & oEntityID, "")
+ DT_RIGHTS_USER = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_RIGHT_USER, "ENTITY_ID = " & _EntityId, "")
expression = String.Format("")
- sql = String.Format("SELECT DISTINCT EDIT_REC,ADD_REC,DELETE_REC,ADD_DOC,VIEW_DOC,DELETE_DOC FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = {0} AND GROUP_ID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {1})", oEntityID, USER_GUID)
+ sql = String.Format("SELECT DISTINCT EDIT_REC,ADD_REC,DELETE_REC,ADD_DOC,VIEW_DOC,DELETE_DOC FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = {0} AND GROUP_ID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {1})", _EntityId, USER_GUID)
DT_RIGHTS_GROUP = MYDB_ECM.GetDatatable(sql)
- sql = String.Format("SELECT VIEW_ID FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID = {0} AND [ENTITY_ID] = {1} AND USER_ID = {2}", CURRENT_CONSTRUCTOR_DETAIL_ID, oEntityID, USER_GUID)
+ sql = String.Format("SELECT VIEW_ID FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID = {0} AND [ENTITY_ID] = {1} AND USER_ID = {2}", CURRENT_CONSTRUCTOR_DETAIL_ID, _EntityId, USER_GUID)
SELECTED_NODE_RECORD_ID = 0
@@ -617,26 +645,26 @@ Public Class frmNodeNavigation
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim result1 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
- Where form.Item("FORM_ID") = oEntityID).Single()
+ Where form.Item("FORM_ID") = _EntityId).Single()
CURRENT_PARENT_ENTITY_ID = 0
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim query = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
- Where form.Item("FORM_ID") = oEntityID
+ Where form.Item("FORM_ID") = _EntityId
Dim QuickViewSQL = query.Single().Item("SQL_QUICK_VIEW")
- CURRENT_ENTITYSQL = Get_Grid_Sql_NODE_NAV(CONSTRUCTORID, oEntityID, CURRENT_CONSTRUCTOR_DETAIL_ID, USER_GUID)
+ CURRENT_ENTITYSQL = Get_Grid_Sql_NODE_NAV(CONSTRUCTORID, _EntityId, CURRENT_CONSTRUCTOR_DETAIL_ID, USER_GUID)
' CURRENT_ENTITYSQL = GridSQL
'Anzahl der Datensätze
- ENTITY_RECORD_COUNT = MYDB_ECM.GetScalarValue("SELECT COUNT(*) FROM TBPMO_RECORD where PARENT_RECORD = 0 AND FORM_ID = " & oEntityID)
+ ENTITY_RECORD_COUNT = MYDB_ECM.GetScalarValue("SELECT COUNT(*) FROM TBPMO_RECORD where PARENT_RECORD = 0 AND FORM_ID = " & _EntityId)
- ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, oEntityID, SELECTED_NODE_RECORD_ID, True, True)
+ ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _EntityId, SELECTED_NODE_RECORD_ID, True, True)
- DT_TBPMO_FORM_VIEW = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_FORM_VIEW, "FORM_ID = " & oEntityID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, "")
+ DT_TBPMO_FORM_VIEW = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_FORM_VIEW, "FORM_ID = " & _EntityId & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, "")
CURRENT_ENTITYSTRING = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_TITLE")
FORMVIEW_ID = DT_TBPMO_FORM_VIEW.Rows(0).Item("GUID")
@@ -658,10 +686,10 @@ Public Class frmNodeNavigation
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in getting Entity-Data - Check logfile")
Else
- CURRENT_DT_ENTITY_RECORDS.TableName = "VWPMO_ENTITY_TABLE" & oEntityID
+ CURRENT_DT_ENTITY_RECORDS.TableName = "VWPMO_ENTITY_TABLE" & _EntityId
' Dim SQL_AutoValues = "SELECT GUID AS CONTROL_ID, CONNECTION_ID_1 AS CONNECTION_ID, SQL_COMMAND_1 AS SQL_COMMAND FROM TBPMO_CONTROL WHERE CONNECTION_ID_1 <> '' AND SQL_COMMAND_1 <> '' AND FORM_ID = " & oEntityID
- Dim DT_AUTOVALUES = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_CONTROL, "CONNECTION_ID_1 > 0 AND SQL_COMMAND_1 <> '' AND FORM_ID = " & oEntityID, "")
+ Dim DT_AUTOVALUES = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_CONTROL, "CONNECTION_ID_1 > 0 AND SQL_COMMAND_1 <> '' AND FORM_ID = " & _EntityId, "")
CURRENT_SQL_AUTO_VALUES_DT = DT_AUTOVALUES
@@ -684,7 +712,7 @@ Public Class frmNodeNavigation
CtrlBuilder.WatchRecordChanges = False
- ClassControlValues.LoadControlValuesList(oEntityID, CtrlBuilder.MasterPanel.Controls)
+ ClassControlValues.LoadControlValuesList(_EntityId, CtrlBuilder.MasterPanel.Controls)
CtrlBuilder.WatchRecordChanges = True
'Zurücksetzen
@@ -754,7 +782,7 @@ Public Class frmNodeNavigation
LOGGER.Debug("Show_Selected_Record_Data: " & Rec_ID.ToString)
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
Select form
- Where form.Item("GUID") = oEntityID).Single()
+ Where form.Item("GUID") = _EntityId).Single()
'Update_Status_Label(False, "")
LOGGER.Debug("RECORD ID: " & Rec_ID.ToString)
@@ -770,7 +798,7 @@ Public Class frmNodeNavigation
ENTITY_RELOAD_AFT_CONTROL_LOAD = False
CtrlBuilder.WatchRecordChanges = False
If pnlControls.Enabled = False Then pnlControls.Enabled = True
- ClassControlValues.LoadControlValues(SELECTED_NODE_RECORD_ID, 0, oEntityID, CtrlBuilder.AllControls, oEntityID)
+ ClassControlValues.LoadControlValues(SELECTED_NODE_RECORD_ID, 0, _EntityId, CtrlBuilder.AllControls, _EntityId)
CtrlBuilder.WatchRecordChanges = True
Dim sw As New SW("Show Selected RecordData 2")
@@ -799,14 +827,14 @@ Public Class frmNodeNavigation
Sub Load_Controls(frmview_id As Integer)
Dim sw As New SW("Load_Controls")
FORMVIEW_ID = frmview_id
- oEntityID = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_ID")
- CURRENT_ENTITY_ID = oEntityID
+ _EntityId = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_ID")
+ CURRENT_ENTITY_ID = _EntityId
CtrlBuilder = New ClassControlBuilder(pnlControls)
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
ContextMenuDetails,
AddressOf NewEditAppointment)
- CtrlCommandUI.LoadControls(oEntityID)
+ CtrlCommandUI.LoadControls(_EntityId)
Lock_RecordControls(True)
AddHandler CtrlBuilder.OnRecordChanged, AddressOf OnRecordChanged
@@ -929,7 +957,7 @@ Public Class frmNodeNavigation
Sub NewEditAppointment(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Try
Dim ctrl As Windows.Forms.Control = sender
- ClassFunctionCommandsUI.NewEditAppointment(ctrl.Name, oEntityID, SELECTED_NODE_RECORD_ID, pnlControls.Controls)
+ ClassFunctionCommandsUI.NewEditAppointment(ctrl.Name, _EntityId, SELECTED_NODE_RECORD_ID, pnlControls.Controls)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try
@@ -996,14 +1024,14 @@ Public Class frmNodeNavigation
' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False
- ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, oEntityID)
+ ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId)
CtrlBuilder.WatchRecordChanges = True
If CURRENT_RECORD_ID > 0 Then
Await Show_Selected_Record_Data(CURRENT_RECORD_ID)
End If
- ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, oEntityID)
+ ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
CONTROL_HANDLING()
@@ -1165,7 +1193,7 @@ Public Class frmNodeNavigation
' Abhängige Listen laden
CtrlBuilder.WatchRecordChanges = False
'ClassControlValues.LoadControlValuesListWithPlaceholders(ENTITY_ID, RECORD_ID, PARENT_ID, CtrlBuilder.AllControls, ENTITY_ID)
- ClassControlValues.Enable_Depending_Controls(oEntityID, SELECTED_NODE_RECORD_ID, 0, CtrlBuilder.AllControls, oEntityID)
+ ClassControlValues.Enable_Depending_Controls(_EntityId, SELECTED_NODE_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId)
CtrlBuilder.WatchRecordChanges = True
RECORD_ENABLED = True
@@ -1208,7 +1236,7 @@ Public Class frmNodeNavigation
'ActivateAllTabs()
End If
If RECORD_ENABLED = True Then
- ClassControlValues.UnloadControlValuesList(SELECTED_NODE_RECORD_ID, oEntityID, CtrlBuilder.AllControls)
+ ClassControlValues.UnloadControlValuesList(SELECTED_NODE_RECORD_ID, _EntityId, CtrlBuilder.AllControls)
End If
If Not IsNothing(CtrlCommandUI) Then
'If CtrlCommandUI.IsInsert Then
@@ -1304,7 +1332,7 @@ Public Class frmNodeNavigation
Public Sub TrySave_DoSave()
ERROR_WHILE_SAVING = False
' Record Speichern
- Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_NODE_RECORD_ID, oEntityID)
+ Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_NODE_RECORD_ID, _EntityId)
If ResultMessage <> "ERROR" Then
' Status anzeigen
Update_Status_Label(True, ResultMessage)
@@ -1397,12 +1425,12 @@ Public Class frmNodeNavigation
#End Region
Private Sub Customer_Run_Procedures()
Try
- Dim DT As DataTable = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_RUN_PROCEDURES WHERE FORM_ID = " & oEntityID)
+ Dim DT As DataTable = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_RUN_PROCEDURES WHERE FORM_ID = " & _EntityId)
If Not DT Is Nothing Then
For Each row As DataRow In DT.Rows
Dim prsql As String = row.Item("EXECUTE_COMMAND")
- prsql = prsql.ToUpper.Replace("@FORM_ID", oEntityID)
- prsql = prsql.ToUpper.Replace("@ENTITY_ID", oEntityID)
+ prsql = prsql.ToUpper.Replace("@FORM_ID", _EntityId)
+ prsql = prsql.ToUpper.Replace("@ENTITY_ID", _EntityId)
prsql = prsql.ToUpper.Replace("@RECORD_ID", SELECTED_NODE_RECORD_ID)
MYDB_ECM.ExecuteNonQuery(prsql)
Next
@@ -1439,7 +1467,7 @@ Public Class frmNodeNavigation
End If
Dim DT_RESULT As DataTable
- DT_RESULT = ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, oEntityID, SELECTED_NODE_RECORD_ID, True)
+ DT_RESULT = ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _EntityId, SELECTED_NODE_RECORD_ID, True)
If IsNothing(DT_RESULT) Then
Dim msg = "wrong DocSearch-Configuration or unexpected Error in Get_DOC_RESULTTABLE - Check logfile and contact Digital Data"
@@ -1569,7 +1597,7 @@ Public Class frmNodeNavigation
Private Sub RUN_ENTITY_DOC_SEARCH()
Dim sw As New SW("RUN_ENTITY_DOC_SEARCH")
Try
- Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {oEntityID}"
+ Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {_EntityId}"
CURRENT_DOCSEARCH_SQL = MYDB_ECM.GetScalarValue(oSQL)
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
Dim oText = $"Die Entität-weite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
@@ -1579,7 +1607,7 @@ Public Class frmNodeNavigation
MsgBox(oText, vbOKOnly, "Information")
- CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@ENTITY_ID", oEntityID)
+ CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@ENTITY_ID", _EntityId)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_LANGUAGE", USER_LANGUAGE)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_ECM_ID", USERID_FK_INT_ECM)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_ID", USER_GUID)
@@ -1821,7 +1849,7 @@ Public Class frmNodeNavigation
End Sub
Private Function Get_DocGrid_Layout_Filename()
Dim EntityRegex As New RegularExpressions.Regex("\s+\(\d+\)")
- Dim Filename As String = String.Format("GridViewDoc_Search_{0}_{1}_UserLayout.xml", "Entity" & oEntityID, CONSTRUCTOR_DETAIL_ID)
+ Dim Filename As String = String.Format("GridViewDoc_Search_{0}_{1}_UserLayout.xml", "Entity" & _EntityId, CONSTRUCTOR_DETAIL_ID)
LAYOUT_DOC_GRIDVIEW = System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
Return LAYOUT_DOC_GRIDVIEW
End Function
@@ -1862,7 +1890,7 @@ Public Class frmNodeNavigation
End Sub
#Region "Dropping Files"
Sub Drag_Enter(e As DragEventArgs)
- If oEntityID <> 0 Then
+ If _EntityId <> 0 Then
ClassDragDrop.Drag_enter(e)
Else
Update_Status_Label(True, "No entity selected", EditState.Insert)
@@ -1881,7 +1909,7 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Check Your windream-connection and restart ADDI afterwards.", "Could not create a windream session!")
Exit Function
End If
- If oEntityID <> 0 And (RIGHT_READ_ONLY_DOC = False And GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") Or RIGHT_ADD_DOC = True Then
+ If _EntityId <> 0 And (RIGHT_READ_ONLY_DOC = False And GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") Or RIGHT_ADD_DOC = True Then
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
Dim count_DT = MYDB_ECM.GetScalarValue(sql)
If count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID = 0 Then
@@ -2201,7 +2229,7 @@ Public Class frmNodeNavigation
Dim oSelectedDocument = oSelectedDocs.First
Dim Result = ClassDOC_SEARCH.Get_File_Rights(oSelectedDocument.DocId)
If Not IsNothing(Result) Then
- ROW_READ_ONLY = False
+ _RowReadOnly = False
Select Case Result.ToString
Case "R"
ContextMenu_Read()
@@ -2215,7 +2243,7 @@ Public Class frmNodeNavigation
Else
LOGGER.Warn("FileRight is '' but User is Admin!! - Check the configuration!")
End If
- ROW_READ_ONLY = True
+ _RowReadOnly = True
End Select
CURRENT_FILE_RIGHT = Result.ToString
Else
@@ -2223,7 +2251,7 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Getting rights - check the log")
e.Cancel = True
End If
- If ROW_READ_ONLY = False Then
+ If _RowReadOnly = False Then
If RIGHT_READ_ONLY_DOC = True Then
If USER_IS_ADMIN = False Then
ContextMenu_Read()
@@ -2510,8 +2538,8 @@ Public Class frmNodeNavigation
End Sub
Private Sub frmNodeNavigation_Click(sender As Object, e As EventArgs) Handles MyBase.Click
- If CURRENT_ENTITY_ID <> oEntityID Then
- CURRENT_ENTITY_ID = oEntityID
+ If CURRENT_ENTITY_ID <> _EntityId Then
+ CURRENT_ENTITY_ID = _EntityId
CURRENT_RECORD_ID = 0
End If
End Sub
@@ -2698,15 +2726,15 @@ Public Class frmNodeNavigation
RUN_ENTITY_DOC_SEARCH()
End Sub
- Private Sub bbtnitmReloadView_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmReloadView.ItemClick
- ReloadTreeView()
- End Sub
- Sub ReloadTreeView()
+ Private Async Function bbtnitmReloadView_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) As Task Handles bbtnitmReloadView.ItemClick
+ Await ReloadTreeView()
+ End Function
+ Async Function ReloadTreeView() As Task
TreeListDevexpress.Nodes.Clear()
- Load_nodes()
- End Sub
+ Await Load_nodes()
+ End Function
- Private Sub UnterknotenNeuOrdnenToolStripMenuItem_Click(sender As Object, e As EventArgs)
+ Private Async Function UnterknotenNeuOrdnenToolStripMenuItem_Click(sender As Object, e As EventArgs) As Task
MyTreeListViewState = New ClassTreeListViewState(TreeListDevexpress)
Dim oQuestion = "Wollen Sie die gesamte Struktur unterhalb dieses Knotens neu ordnen lassen?" & vbNewLine & "Nein, wenn nur die direkten Unterknoten neu geordnet werden sollen!"
If USER_LANGUAGE <> "de-DE" Then
@@ -2718,7 +2746,7 @@ Public Class frmNodeNavigation
If result = MsgBoxResult.Yes Then
oSubnodes = "1"
ElseIf result = MsgBoxResult.Cancel Then
- Exit Sub
+ Exit Function
End If
Cursor = Cursors.WaitCursor
Dim oSQL = $"EXEC PRCUST_REORDER_CHILD_NODES "
@@ -2733,7 +2761,7 @@ Public Class frmNodeNavigation
oNodeGUID = oID
oSQL += $" {oNodeGUID},{oSubnodes} "
MYDB_ECM.ExecuteNonQuery(oSQL)
- ReloadTreeView()
+ Await ReloadTreeView()
MyTreeListViewState.LoadState()
TreeListDevexpress.FocusedNode = FocusedNode
@@ -2741,7 +2769,7 @@ Public Class frmNodeNavigation
Cursor = Cursors.Default
- End Sub
+ End Function
'Private Sub TreeListDevexpress_MouseUp(sender As Object, e As MouseEventArgs) Handles TreeListDevexpress.MouseUp
' Dim tree As TreeList = TryCast(sender, TreeList)
@@ -2828,7 +2856,7 @@ Public Class frmNodeNavigation
'End If
End Sub
- Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnitmNodeReorder.ItemClick
+ Private Async Function BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) As Task Handles BbtnitmNodeReorder.ItemClick
MyTreeListViewState = New ClassTreeListViewState(TreeListDevexpress)
Dim oQuestion = "Wollen Sie die gesamte Struktur unterhalb dieses Knotens neu ordnen lassen?" & vbNewLine & "Nein, wenn nur die direkten Unterknoten neu geordnet werden sollen!"
If USER_LANGUAGE <> "de-DE" Then
@@ -2840,7 +2868,7 @@ Public Class frmNodeNavigation
If result = MsgBoxResult.Yes Then
oSubnodes = "1"
ElseIf result = MsgBoxResult.Cancel Then
- Exit Sub
+ Exit Function
End If
Cursor = Cursors.WaitCursor
Dim oSQL = $"EXEC PRCUST_REORDER_CHILD_NODES "
@@ -2855,14 +2883,14 @@ Public Class frmNodeNavigation
oNodeGUID = oID
oSQL += $" {oNodeGUID},{oSubnodes} "
MYDB_ECM.ExecuteNonQuery(oSQL)
- ReloadTreeView()
+ Await ReloadTreeView()
MyTreeListViewState.LoadState()
TreeListDevexpress.FocusedNode = FocusedNode
Update_Status_Label(True, "Nodes reordered")
End If
Cursor = Cursors.Default
- End Sub
+ End Function
Private Sub bbtnItm_TV_Collape_Expand_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnItm_TV_Collape_Expand.ItemClick
If TV_Collapse_ExpandState = "Collapse" Then
@@ -2893,4 +2921,28 @@ Public Class frmNodeNavigation
DocumentViewer.CloseDocument()
End If
End Sub
+
+ Private Async Sub btnCreateNewNode_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCreateNewNode.ItemClick
+ Dim oForm As New frmNewNode() With {
+ .NodeConfigTypes = AvailableConfigNodes
+ }
+
+ If oForm.ShowDialog() <> DialogResult.OK Then
+ Exit Sub
+ End If
+
+ Dim oParentNodeGuid As Integer = FocusedNode.Item("GUID")
+ Dim oIsExpanded As Boolean = FocusedNode.Expanded
+ Dim oNodeCreator = New ClassNodeCreator(LOGCONFIG, ImageCollection1)
+ oNodeCreator.AddNode(_EntityId, oForm.Title, oParentNodeGuid, oForm.Id)
+
+ Await ReloadTreeView()
+
+ Dim oNode = TreeListDevexpress.FindNodeByFieldValue("GUID", oParentNodeGuid)
+ Dim oNodeIndex = TreeListDevexpress.MakeNodeVisible(oNode)
+ TreeListDevexpress.SetFocusedNode(oNode)
+ If oIsExpanded Then
+ oNode.Expand()
+ End If
+ End Sub
End Class
\ No newline at end of file
diff --git a/app/DD-Record-Organizer/frmStructureNodeConfig.Designer.vb b/app/DD-Record-Organizer/frmStructureNodeConfig.Designer.vb
index 19d8af1..54ae1e3 100644
--- a/app/DD-Record-Organizer/frmStructureNodeConfig.Designer.vb
+++ b/app/DD-Record-Organizer/frmStructureNodeConfig.Designer.vb
@@ -331,8 +331,9 @@ Partial Class frmStructureNodeConfig
'
Me.TYPE_NODENumericUpDown.DataBindings.Add(New System.Windows.Forms.Binding("Value", Me.TBPMO_STRUCTURE_NODES_CONFIGURATIONBindingSource, "TYPE_NODE", True))
Me.TYPE_NODENumericUpDown.Location = New System.Drawing.Point(659, 153)
+ Me.TYPE_NODENumericUpDown.Maximum = New Decimal(New Integer() {1000, 0, 0, 0})
Me.TYPE_NODENumericUpDown.Name = "TYPE_NODENumericUpDown"
- Me.TYPE_NODENumericUpDown.Size = New System.Drawing.Size(39, 22)
+ Me.TYPE_NODENumericUpDown.Size = New System.Drawing.Size(55, 22)
Me.TYPE_NODENumericUpDown.TabIndex = 6
Me.TYPE_NODENumericUpDown.Value = New Decimal(New Integer() {1, 0, 0, 0})
'
diff --git a/app/DD-Record-Organizer/frmStructureNodeConfig.resx b/app/DD-Record-Organizer/frmStructureNodeConfig.resx
index 0e231cb..57b9b93 100644
--- a/app/DD-Record-Organizer/frmStructureNodeConfig.resx
+++ b/app/DD-Record-Organizer/frmStructureNodeConfig.resx
@@ -154,7 +154,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
+ wAAADsABataJCQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
@@ -172,7 +172,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
+ wAAADsABataJCQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
@@ -184,7 +184,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
+ wAAADsABataJCQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
@@ -195,7 +195,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
+ wAAADsABataJCQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
@@ -204,7 +204,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
+ wAAADsABataJCQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
@@ -213,7 +213,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
+ wAAADsABataJCQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
@@ -224,7 +224,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
+ wAAADsABataJCQAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
diff --git a/app/DD-Record-Organizer/frmStructureNodeConfig.vb b/app/DD-Record-Organizer/frmStructureNodeConfig.vb
index b13a7e5..f0c01e2 100644
--- a/app/DD-Record-Organizer/frmStructureNodeConfig.vb
+++ b/app/DD-Record-Organizer/frmStructureNodeConfig.vb
@@ -402,6 +402,11 @@
Private Sub frmStructureNodeConfig_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Load_Image()
+
+ If cmbEntity.Items.Count > 0 Then
+ cmbEntity.SelectedIndex = 0
+ LoadData()
+ End If
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
@@ -420,12 +425,15 @@
End Sub
Private Sub cmbEntity_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbEntity.SelectedIndexChanged
+ LoadData()
+ End Sub
+
+ Private Sub LoadData()
If cmbEntity.SelectedIndex <> -1 Then
Me.TBPMO_STRUCTURE_NODES_CONFIGURATIONTableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_STRUCTURE_NODES_CONFIGURATION, cmbEntity.SelectedValue)
If DD_DMSDataSet.TBPMO_STRUCTURE_NODES_CONFIGURATION.Rows.Count > 0 Then
Load_TreeView()
End If
-
End If
End Sub