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