Add new nodes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user