Add config items, clear documents and controls when no record id is available

This commit is contained in:
Jonathan Jenne 2023-09-28 10:49:14 +02:00
parent b06a399eaa
commit a7dc616690
7 changed files with 316 additions and 361 deletions

View File

@ -5,7 +5,12 @@ Public Class ClassConfig
' Global Settings (from computerconfig, overridable by userconfig) ' Global Settings (from computerconfig, overridable by userconfig)
<ConnectionString> <ConnectionString>
Public Property ConnectionString As String = "" Public Property ConnectionString As String = ""
' Misc Settings ' Misc Settings
Public Property DEBUG As Boolean = False Public Property DEBUG As Boolean = False
Public Property MyFormsDesign As String = "Office 2016 Colorful" Public Property FormsDesign As String = "Office 2016 Colorful"
Public Property DocumentViewerSplitterWidth As Integer = 0
Public Property TreeListSplitterWidth As Integer = 0
Public Property DocumentSearchSplitterWidth As Integer = 0
End Class End Class

View File

@ -155,6 +155,10 @@ Public Class ClassControlValues
Try Try
Dim sw As New SW("LoadControlValues1") Dim sw As New SW("LoadControlValues1")
If RecordId = 0 Then
Exit Sub
End If
'Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId) 'Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId)
Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordId) Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordId)
Dim DT_ControlValues As DataTable = MYDB_ECM.GetDatatable(SQL) Dim DT_ControlValues As DataTable = MYDB_ECM.GetDatatable(SQL)

View File

@ -10,7 +10,6 @@ Module ModuleMySettings
Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig2.xml") Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig2.xml")
Public MyConnectionString As String = "" Public MyConnectionString As String = ""
Public MyFormsDesign As String = ""
Public DEBUG As Boolean = False Public DEBUG As Boolean = False
Public Sett_TaskOverviewKeepInFront As Boolean = True Public Sett_TaskOverviewKeepInFront As Boolean = True
@ -221,10 +220,6 @@ Module ModuleMySettings
Else Else
MY_ADDON_PATH = Row.Item("Value") MY_ADDON_PATH = Row.Item("Value")
End If End If
Case "MyFormsDesign"
If Row.Item("Value") <> String.Empty Then
MyFormsDesign = Row.Item("Value")
End If
Case "GridDocResult_BestFitColumns" Case "GridDocResult_BestFitColumns"
GridDocResult_BestFitColumns = CBool(Row.Item("Value")) GridDocResult_BestFitColumns = CBool(Row.Item("Value"))
@ -280,13 +275,6 @@ Module ModuleMySettings
DT.Rows.Add(newRow) DT.Rows.Add(newRow)
DT.WriteXml(ConfigPath) DT.WriteXml(ConfigPath)
End If End If
If rowresult.Contains("MyFormsDesign") = False Then
Dim newRow As DataRow = DT.NewRow()
newRow("ConfigName") = "MyFormsDesign"
newRow("Value") = ""
DT.Rows.Add(newRow)
DT.WriteXml(ConfigPath)
End If
If rowresult.Contains("GridDocResult_BestFitColumns") = False Then If rowresult.Contains("GridDocResult_BestFitColumns") = False Then
Dim newRow As DataRow = DT.NewRow() Dim newRow As DataRow = DT.NewRow()
newRow("ConfigName") = "GridDocResult_BestFitColumns" newRow("ConfigName") = "GridDocResult_BestFitColumns"

View File

@ -165,7 +165,7 @@ Public Class frmConfig_Basic
cmbConstructor.Enabled = False cmbConstructor.Enabled = False
End If End If
cmbDesign.Text = MyFormsDesign cmbDesign.Text = CONFIG.Config.FormsDesign
'Catch ex As Exception 'Catch ex As Exception
' MsgBox("Fehler in FormLoad: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) ' MsgBox("Fehler in FormLoad: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@ -536,23 +536,19 @@ Public Class frmConfig_Basic
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If cmbDesign.SelectedIndex <> -1 Then If cmbDesign.SelectedIndex <> -1 Then
UserLookAndFeel.Default.SetSkinStyle(cmbDesign.Text) UserLookAndFeel.Default.SetSkinStyle(cmbDesign.Text)
SaveMySettingsValue("MyFormsDesign", cmbDesign.Text, "ConfigMain") CONFIG.Config.FormsDesign = cmbDesign.Text
CONFIG.Save()
End If End If
End Sub
Private Sub cmbLanguage_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbLanguage.SelectedIndexChanged
End Sub End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim exists Dim oExists = False
If rbUser.Checked Then If rbUser.Checked Then
exists = clsWD_GET.WM_USER_EXISTS(txtObjectExists.Text) oExists = clsWD_GET.WM_USER_EXISTS(txtObjectExists.Text)
ElseIf rbGruppe.Checked Then ElseIf rbGruppe.Checked Then
exists = clsWD_GET.WM_GROUP_EXISTS(txtObjectExists.Text) oExists = clsWD_GET.WM_GROUP_EXISTS(txtObjectExists.Text)
End If End If
If exists = True Then If oExists = True Then
MsgBox("Object exists in windream!") MsgBox("Object exists in windream!")
Else Else
MsgBox("Object is not existing in windream!", MsgBoxStyle.Critical) MsgBox("Object is not existing in windream!", MsgBoxStyle.Critical)

View File

@ -72,7 +72,7 @@ Public Class frmMain
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmMain") ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmMain")
Dim i = My.Application.UICulture.ToString() Dim i = My.Application.UICulture.ToString()
UserLookAndFeel.Default.SetSkinStyle(MyFormsDesign) UserLookAndFeel.Default.SetSkinStyle(CONFIG.Config.FormsDesign)
' GetIPv4Address() ' GetIPv4Address()

View File

@ -51,10 +51,9 @@ Partial Class frmNodeNavigation
Me.RPGNodes = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RPGNodes = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.SplitContainerMain = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerTreeList = New DevExpress.XtraEditors.SplitContainerControl()
Me.TreeListDevexpress = New DevExpress.XtraTreeList.TreeList() Me.TreeListDevexpress = New DevExpress.XtraTreeList.TreeList()
Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components) Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components)
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
Me.pnlControls = New System.Windows.Forms.Panel() Me.pnlControls = New System.Windows.Forms.Panel()
Me.GridControlDocSearch = New DevExpress.XtraGrid.GridControl() Me.GridControlDocSearch = New DevExpress.XtraGrid.GridControl()
Me.GridViewDoc_Search = New DevExpress.XtraGrid.Views.Grid.GridView() Me.GridViewDoc_Search = New DevExpress.XtraGrid.Views.Grid.GridView()
@ -78,6 +77,7 @@ Partial Class frmNodeNavigation
Me.tsmiFileRenameFilename = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileRenameFilename = New System.Windows.Forms.ToolStripMenuItem()
Me.tsmiFileRenameDisplayname = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileRenameDisplayname = New System.Windows.Forms.ToolStripMenuItem()
Me.tsmiFileVersion = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileVersion = New System.Windows.Forms.ToolStripMenuItem()
Me.DokumentartÄndernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.tsmiFileRightsShow = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileRightsShow = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
Me.tsmiFileDelete = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileDelete = New System.Windows.Forms.ToolStripMenuItem()
@ -85,20 +85,16 @@ Partial Class frmNodeNavigation
Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components) Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components)
Me.SplitContainerDocView = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerDocView = New DevExpress.XtraEditors.SplitContainerControl()
Me.DocumentViewer = New DigitalData.Controls.DocumentViewer.DocumentViewer() Me.DocumentViewer = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.DokumentartÄndernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SplitContainerDocumentSearch = New DevExpress.XtraEditors.SplitContainerControl()
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.Panel1.SuspendLayout() Me.SplitContainerTreeList.Panel1.SuspendLayout()
CType(Me.SplitContainerMain.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerTreeList.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.Panel2.SuspendLayout() Me.SplitContainerTreeList.Panel2.SuspendLayout()
Me.SplitContainerMain.SuspendLayout() Me.SplitContainerTreeList.SuspendLayout()
CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer1.Panel1.SuspendLayout()
Me.SplitContainer1.Panel2.SuspendLayout()
Me.SplitContainer1.SuspendLayout()
CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).BeginInit()
Me.cmsResultFilesBasic.SuspendLayout() Me.cmsResultFilesBasic.SuspendLayout()
@ -109,6 +105,12 @@ Partial Class frmNodeNavigation
CType(Me.SplitContainerDocView.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerDocView.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerDocView.Panel2.SuspendLayout() Me.SplitContainerDocView.Panel2.SuspendLayout()
Me.SplitContainerDocView.SuspendLayout() Me.SplitContainerDocView.SuspendLayout()
CType(Me.SplitContainerDocumentSearch, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerDocumentSearch.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerDocumentSearch.Panel1.SuspendLayout()
CType(Me.SplitContainerDocumentSearch.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerDocumentSearch.Panel2.SuspendLayout()
Me.SplitContainerDocumentSearch.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'ribbonNodeNavigation 'ribbonNodeNavigation
@ -316,24 +318,24 @@ Partial Class frmNodeNavigation
Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2"
' '
'SplitContainerMain 'SplitContainerTreeList
' '
Me.SplitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainerTreeList.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerMain.Location = New System.Drawing.Point(0, 0) Me.SplitContainerTreeList.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerMain.Name = "SplitContainerMain" Me.SplitContainerTreeList.Name = "SplitContainerTreeList"
' '
'SplitContainerMain.Panel1 'SplitContainerTreeList.Panel1
' '
Me.SplitContainerMain.Panel1.Controls.Add(Me.TreeListDevexpress) Me.SplitContainerTreeList.Panel1.Controls.Add(Me.TreeListDevexpress)
Me.SplitContainerMain.Panel1.Text = "Panel1" Me.SplitContainerTreeList.Panel1.Text = "Panel1"
' '
'SplitContainerMain.Panel2 'SplitContainerTreeList.Panel2
' '
Me.SplitContainerMain.Panel2.Controls.Add(Me.SplitContainer1) Me.SplitContainerTreeList.Panel2.Controls.Add(Me.SplitContainerDocumentSearch)
Me.SplitContainerMain.Panel2.Text = "Panel2" Me.SplitContainerTreeList.Panel2.Text = "Panel2"
Me.SplitContainerMain.Size = New System.Drawing.Size(1297, 510) Me.SplitContainerTreeList.Size = New System.Drawing.Size(1297, 510)
Me.SplitContainerMain.SplitterPosition = 289 Me.SplitContainerTreeList.SplitterPosition = 289
Me.SplitContainerMain.TabIndex = 2 Me.SplitContainerTreeList.TabIndex = 2
' '
'TreeListDevexpress 'TreeListDevexpress
' '
@ -377,25 +379,6 @@ Partial Class frmNodeNavigation
' '
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer) Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
' '
'SplitContainer1
'
Me.SplitContainer1.AllowDrop = True
Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainer1.Location = New System.Drawing.Point(0, 0)
Me.SplitContainer1.Name = "SplitContainer1"
Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal
'
'SplitContainer1.Panel1
'
Me.SplitContainer1.Panel1.Controls.Add(Me.pnlControls)
'
'SplitContainer1.Panel2
'
Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainer1.Size = New System.Drawing.Size(998, 510)
Me.SplitContainer1.SplitterDistance = 163
Me.SplitContainer1.TabIndex = 0
'
'pnlControls 'pnlControls
' '
Me.pnlControls.AllowDrop = True Me.pnlControls.AllowDrop = True
@ -403,7 +386,7 @@ Partial Class frmNodeNavigation
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlControls.Location = New System.Drawing.Point(0, 0) Me.pnlControls.Location = New System.Drawing.Point(0, 0)
Me.pnlControls.Name = "pnlControls" Me.pnlControls.Name = "pnlControls"
Me.pnlControls.Size = New System.Drawing.Size(998, 163) Me.pnlControls.Size = New System.Drawing.Size(998, 246)
Me.pnlControls.TabIndex = 0 Me.pnlControls.TabIndex = 0
' '
'GridControlDocSearch 'GridControlDocSearch
@ -416,7 +399,7 @@ Partial Class frmNodeNavigation
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0) Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch" Me.GridControlDocSearch.Name = "GridControlDocSearch"
Me.GridControlDocSearch.Size = New System.Drawing.Size(998, 343) Me.GridControlDocSearch.Size = New System.Drawing.Size(998, 254)
Me.GridControlDocSearch.TabIndex = 8 Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search}) Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@ -475,7 +458,7 @@ Partial Class frmNodeNavigation
' '
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLink_ShowAll, Me.tsmiFileLinkRemove, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.tsmiFileVersion, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete}) Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLink_ShowAll, Me.tsmiFileLinkRemove, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.tsmiFileVersion, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles" Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles"
Me.cmsResultFileDetail.Size = New System.Drawing.Size(240, 320) Me.cmsResultFileDetail.Size = New System.Drawing.Size(240, 298)
' '
'tsmiFileProperties 'tsmiFileProperties
' '
@ -572,6 +555,12 @@ Partial Class frmNodeNavigation
Me.tsmiFileVersion.Size = New System.Drawing.Size(239, 22) Me.tsmiFileVersion.Size = New System.Drawing.Size(239, 22)
Me.tsmiFileVersion.Text = "Datei versionieren" Me.tsmiFileVersion.Text = "Datei versionieren"
' '
'DokumentartÄndernToolStripMenuItem
'
Me.DokumentartÄndernToolStripMenuItem.Name = "DokumentartÄndernToolStripMenuItem"
Me.DokumentartÄndernToolStripMenuItem.Size = New System.Drawing.Size(239, 22)
Me.DokumentartÄndernToolStripMenuItem.Text = "Dokumentart ändern"
'
'tsmiFileRightsShow 'tsmiFileRightsShow
' '
Me.tsmiFileRightsShow.Image = CType(resources.GetObject("tsmiFileRightsShow.Image"), System.Drawing.Image) Me.tsmiFileRightsShow.Image = CType(resources.GetObject("tsmiFileRightsShow.Image"), System.Drawing.Image)
@ -609,7 +598,7 @@ Partial Class frmNodeNavigation
' '
'SplitContainerDocView.Panel1 'SplitContainerDocView.Panel1
' '
Me.SplitContainerDocView.Panel1.Controls.Add(Me.SplitContainerMain) Me.SplitContainerDocView.Panel1.Controls.Add(Me.SplitContainerTreeList)
Me.SplitContainerDocView.Panel1.Text = "Panel1" Me.SplitContainerDocView.Panel1.Text = "Panel1"
' '
'SplitContainerDocView.Panel2 'SplitContainerDocView.Panel2
@ -629,11 +618,25 @@ Partial Class frmNodeNavigation
Me.DocumentViewer.Size = New System.Drawing.Size(0, 0) Me.DocumentViewer.Size = New System.Drawing.Size(0, 0)
Me.DocumentViewer.TabIndex = 0 Me.DocumentViewer.TabIndex = 0
' '
'DokumentartÄndernToolStripMenuItem 'SplitContainerDocumentSearch
' '
Me.DokumentartÄndernToolStripMenuItem.Name = "DokumentartÄndernToolStripMenuItem" Me.SplitContainerDocumentSearch.Dock = System.Windows.Forms.DockStyle.Fill
Me.DokumentartÄndernToolStripMenuItem.Size = New System.Drawing.Size(239, 22) Me.SplitContainerDocumentSearch.Horizontal = False
Me.DokumentartÄndernToolStripMenuItem.Text = "Dokumentart ändern" Me.SplitContainerDocumentSearch.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerDocumentSearch.Name = "SplitContainerDocumentSearch"
'
'SplitContainerDocumentSearch.SplitContainerDocumentSearch_Panel1
'
Me.SplitContainerDocumentSearch.Panel1.Controls.Add(Me.pnlControls)
Me.SplitContainerDocumentSearch.Panel1.Text = "Panel1"
'
'SplitContainerDocumentSearch.SplitContainerDocumentSearch_Panel2
'
Me.SplitContainerDocumentSearch.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainerDocumentSearch.Panel2.Text = "Panel2"
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(998, 510)
Me.SplitContainerDocumentSearch.SplitterPosition = 246
Me.SplitContainerDocumentSearch.TabIndex = 1
' '
'frmNodeNavigation 'frmNodeNavigation
' '
@ -649,18 +652,14 @@ Partial Class frmNodeNavigation
Me.StatusBar = Me.RibbonStatusBar1 Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmNodeNavigation" Me.Text = "frmNodeNavigation"
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerMain.Panel1.ResumeLayout(False) Me.SplitContainerTreeList.Panel1.ResumeLayout(False)
CType(Me.SplitContainerMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerTreeList.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerMain.Panel2.ResumeLayout(False) Me.SplitContainerTreeList.Panel2.ResumeLayout(False)
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerMain.ResumeLayout(False) Me.SplitContainerTreeList.ResumeLayout(False)
CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainer1.Panel1.ResumeLayout(False)
Me.SplitContainer1.Panel2.ResumeLayout(False)
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainer1.ResumeLayout(False)
CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).EndInit()
Me.cmsResultFilesBasic.ResumeLayout(False) Me.cmsResultFilesBasic.ResumeLayout(False)
@ -671,6 +670,12 @@ Partial Class frmNodeNavigation
Me.SplitContainerDocView.Panel2.ResumeLayout(False) Me.SplitContainerDocView.Panel2.ResumeLayout(False)
CType(Me.SplitContainerDocView, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerDocView, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDocView.ResumeLayout(False) Me.SplitContainerDocView.ResumeLayout(False)
CType(Me.SplitContainerDocumentSearch.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDocumentSearch.Panel1.ResumeLayout(False)
CType(Me.SplitContainerDocumentSearch.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDocumentSearch.Panel2.ResumeLayout(False)
CType(Me.SplitContainerDocumentSearch, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDocumentSearch.ResumeLayout(False)
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@ -681,8 +686,7 @@ Partial Class frmNodeNavigation
Friend WithEvents RibbonPageGroupRecord As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroupRecord As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents SplitContainerMain As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents SplitContainerTreeList As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents SplitContainer1 As SplitContainer
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents TreeListDevexpress As DevExpress.XtraTreeList.TreeList Friend WithEvents TreeListDevexpress As DevExpress.XtraTreeList.TreeList
Friend WithEvents bbtnitmRecEdit As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtnitmRecEdit As DevExpress.XtraBars.BarButtonItem
@ -737,4 +741,5 @@ Partial Class frmNodeNavigation
Friend WithEvents checkShowPreview As DevExpress.XtraBars.BarCheckItem Friend WithEvents checkShowPreview As DevExpress.XtraBars.BarCheckItem
Friend WithEvents btnCreateNewNode As DevExpress.XtraBars.BarButtonItem Friend WithEvents btnCreateNewNode As DevExpress.XtraBars.BarButtonItem
Friend WithEvents DokumentartÄndernToolStripMenuItem As ToolStripMenuItem Friend WithEvents DokumentartÄndernToolStripMenuItem As ToolStripMenuItem
Friend WithEvents SplitContainerDocumentSearch As DevExpress.XtraEditors.SplitContainerControl
End Class End Class

View File

@ -18,64 +18,57 @@ Imports DigitalData.Modules.Database
Public Class frmNodeNavigation Public Class frmNodeNavigation
#Region "Laufzeitvariablen & Konstanten" #Region "Laufzeitvariablen & Konstanten"
Private DT_STRUCTURE_NODES As DataTable Private Property DT_STRUCTURE_NODES As DataTable
Private DT_ADDING_USERS As DataTable Private Property DT_ADDING_USERS As DataTable
Private DT_VWPMO_CONSTRUCTOR_FORMS As DataTable Private Property DT_VWPMO_CONSTRUCTOR_FORMS As DataTable
Private RunningTask As Task Private Property RunningTaskTokenSource As New CancellationTokenSource
Private RunningTaskTokenSource As New CancellationTokenSource Private Property _EntityId As Short
Private RunningTaskToken = RunningTaskTokenSource.Token Private Property oConstructID As Short
Private _EntityId As Short Private Property CONSTRUCTORID As Integer
Private oConstructID As Short Private Property CONSTRUCTOR_DETAIL_ID As Short
Private CONSTRUCTORID As Integer Private Property _RowReadOnly As Boolean = False
Private CONSTRUCTOR_DETAIL_ID As Short Private Property ADD_RECORDS_CONSTR As Boolean = True
Private _FilterActive As Boolean = False Private Property TV_Collapse_ExpandState = "Collapse"
Private _RowReadOnly As Boolean = False
Private ADD_RECORDS_CONSTR As Boolean = True
Private TV_Collapse_ExpandState = "Collapse"
Private WindowsEx As WindowsEx Private Property WindowsEx As WindowsEx
Private DT_CONTROLS_ENTITY As DataTable Private Property DT_CONTROLS_ENTITY As DataTable
Private DT_COLUMNS_GRID_ENTITY As DataTable Private Property DT_COLUMNS_GRID_ENTITY As DataTable
Private DT_DOCRESULT_DROPDOWN_ITEMS As DataTable Private Property DT_DOCRESULT_DROPDOWN_ITEMS As DataTable
Private DT_RESULTLIST_OPTIONS As DataTable Private Property DT_RESULTLIST_OPTIONS As DataTable
Private DT_RESULTLIST_VARIABLE_VALUE As DataTable Private Property DT_RESULTLIST_VARIABLE_VALUE As DataTable
Private DT_ENTITY_DATA As DataTable Private Property DT_ENTITY_DATA As DataTable
Private DT_TBPMO_FORM_VIEW As DataTable Private Property DT_TBPMO_FORM_VIEW As DataTable
Private DT_CONSTRUCT_VIEW As DataTable Private Property DT_CONSTRUCT_VIEW As DataTable
Private COUNT_RO_CONTROLS As Integer = 0 Private Property COUNT_RO_CONTROLS As Integer = 0
Private SELECTED_NODE_RECORD_ID As Integer Private Property SELECTED_NODE_RECORD_ID As Integer
Private SELECTED_NODE_CAPTION As String Private Property SELECTED_NODE_CAPTION As String
Private ENTITY_RECORD_COUNT As Integer = 0 Private Property FORMVIEW_ID As Integer
Private FORMVIEW_ID As Integer Private Property FORM_LOADED As Boolean = False
Private FORM_LOADED As Boolean = False Private Property FORM_SHOWN As Boolean = False
Private FORM_SHOWN As Boolean = False Private Property SAVE_ROUTINE_ACTIVE As Boolean = False
Private SAVE_ROUTINE_ACTIVE As Boolean = False
Private ENTITY_LOADING_PROCESS As Boolean = False Private Property ENTITY_LOADING_PROCESS As Boolean = False
Private RECORD_ENABLED As Boolean = False Private Property RECORD_ENABLED As Boolean = False
Private BACKGROUND_HELPER As ClassBackgroundHelper Private Property Node_AfterSelect As Boolean = False
Private Node_AfterSelect As Boolean = False Private Property EDIT_STATE As EditState = EditState.None
Private EDIT_STATE As EditState = EditState.None Private Property ERROR_WHILE_SAVING As Boolean = False
Private POS_ENABLED As Boolean = False Private Property IW_USER As String
Private ERROR_WHILE_SAVING As Boolean = False Private Property IW_COMMENT As String
Private taskToken As CancellationTokenSource Private Property INWORK_FILE As Boolean
Private IW_USER As String Private Property CONTROL_DOCTYPE_MATCH As Integer = 0
Private IW_COMMENT As String Private Property FocusedNode As TreeListNode
Private INWORK_FILE As Boolean Private Property MyTreeListViewState As ClassTreeListViewState
Private CONTROL_DOCTYPE_MATCH As Integer = 0
Private FocusedNode As TreeListNode
Private MyTreeListViewState As ClassTreeListViewState
Private AvailableConfigNodes As New List(Of frmNewNode.NodeConfig) Private Property AvailableConfigNodes As New List(Of frmNewNode.NodeConfig)
Private CurrentNodeConfigId As Integer = 0 Private Property CurrentNodeConfigId As Integer = 0
Private DocList As ClassWindreamDocGrid Private Property DocList As ClassWindreamDocGrid
Public CtrlBuilder As ClassControlBuilder Public CtrlBuilder As ClassControlBuilder
Public CtrlCommandUI As ClassControlCommandsUI Public CtrlCommandUI As ClassControlCommandsUI
Private ClassNodeCommands As ClassNodeCommands Private Property ClassNodeCommands As ClassNodeCommands
Private Debug As Boolean = False Private Debug As Boolean = False
@ -101,20 +94,13 @@ Public Class frmNodeNavigation
ClassNodeCommands = New ClassNodeCommands(LOGCONFIG, MYDB_ECM) ClassNodeCommands = New ClassNodeCommands(LOGCONFIG, MYDB_ECM)
End Sub 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() Sub Save_Splitter_Layout()
Try Try
Dim XMLPath = Get_Splitter_Layout_Filename()
Dim layout As New ClassLayout(XMLPath) CONFIG.Config.TreeListSplitterWidth = SplitContainerTreeList.SplitterPosition
Dim settings As New List(Of ClassSetting) From { CONFIG.Config.DocumentViewerSplitterWidth = SplitContainerDocView.SplitterPosition
New ClassSetting("SplitViewDetailsSplitterPosition", SplitContainer1.SplitterDistance), CONFIG.Config.DocumentSearchSplitterWidth = SplitContainerDocumentSearch.SplitterPosition
New ClassSetting("SplitViewMainSplitterPosition", SplitContainerMain.SplitterPosition)
}
layout.Save(settings)
Catch ex As Exception Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try End Try
@ -122,31 +108,17 @@ Public Class frmNodeNavigation
Sub Load_Splitter_Layout() Sub Load_Splitter_Layout()
Try Try
Dim XMLPath As String = Get_Splitter_Layout_Filename() If CONFIG.Config.TreeListSplitterWidth > 0 Then
Dim layout As New ClassLayout(XMLPath) SplitContainerTreeList.SplitterPosition = CONFIG.Config.TreeListSplitterWidth
Dim settings As System.Collections.Generic.List(Of ClassSetting) End If
settings = layout.Load()
'If settings.Count = 0 Then If CONFIG.Config.DocumentViewerSplitterWidth > 0 Then
' settings.Add(New ClassSetting("SplitViewTopSplitterPosition", SplitContainerTop.SplitterPosition)) SplitContainerDocView.SplitterPosition = CONFIG.Config.DocumentViewerSplitterWidth
' If CONSTRUCTOR_DETAIL_ID > 0 Then End If
' settings.Add(New ClassSetting("SplitViewMainSplitterPosition_" & CONSTRUCTOR_DETAIL_ID.ToString, SplitContainerMain.SplitterPosition))
' Else
' settings.Add(New ClassSetting("SplitViewMainSplitterPosition_0", SplitContainerMain.SplitterPosition))
' End If
' settings.Add(New ClassSetting("SplitViewDetailsSplitterPosition_" & CONSTRUCTOR_DETAIL_ID.ToString, SplitContainerDetails.SplitterPosition)) If CONFIG.Config.DocumentSearchSplitterWidth > 0 Then
' layout.Save(settings) SplitContainerDocumentSearch.SplitterPosition = CONFIG.Config.DocumentSearchSplitterWidth
'End If End If
For Each setting As ClassSetting In settings
Select Case setting._name
Case "SplitViewMainSplitterPosition"
SplitContainerMain.SplitterPosition = Integer.Parse(setting._value)
Case "SplitViewDetailsSplitterPosition"
SplitContainer1.SplitterDistance = Integer.Parse(setting._value)
End Select
Next
Catch ex As Exception Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try End Try
@ -326,6 +298,8 @@ Public Class frmNodeNavigation
Dim oNodeId = e.Node.Id Dim oNodeId = e.Node.Id
Console.Write($"Node ID: {oNodeId}") Console.Write($"Node ID: {oNodeId}")
Dim oRowObject = TreeListDevexpress.GetRow(oNodeId) Dim oRowObject = TreeListDevexpress.GetRow(oNodeId)
If TypeOf oRowObject IsNot DataRowView Then If TypeOf oRowObject IsNot DataRowView Then
@ -346,6 +320,11 @@ Public Class frmNodeNavigation
Dim oIsConfigNode = (oNodeConfigId = 1000) Dim oIsConfigNode = (oNodeConfigId = 1000)
Dim oParentNode = e.Node.ParentNode Dim oParentNode = e.Node.ParentNode
CURRENT_NODE_GUID = oNodeId
CURRENT_RECORD_ID = oRecordId
CURRENT_ENTITY_ID = _EntityId
SELECTED_NODE_CAPTION = oNodeCaption
' BEGIN NEW NODE ' BEGIN NEW NODE
Dim oConfigNodeChildren = FocusedNode.Nodes.Where(Function(n) n.Item("TYPE_NODE") = 1000) Dim oConfigNodeChildren = FocusedNode.Nodes.Where(Function(n) n.Item("TYPE_NODE") = 1000)
Dim oHasConfigNodeChildren = oConfigNodeChildren.Any() Dim oHasConfigNodeChildren = oConfigNodeChildren.Any()
@ -370,24 +349,12 @@ Public Class frmNodeNavigation
If oHasRecordId Then If oHasRecordId Then
Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {oRecordId}", EditState.None) Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {oRecordId}", EditState.None)
Else
Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None)
End If
If oHasRecordId Then
'oNodeInfo += $" - RecordID {oRecordId}"
Node_AfterSelect = True Node_AfterSelect = True
'Dim sw As New SW("TreeViewMain_AfterSelect1")
' Dim swAll As New SW("TreeViewMain_AfterSelect")
DisableEditMode()
' ClassNodeNavigation.Check_NODE_CONFIG_ID(oEntityID, SelectedNode)
CURRENT_RECORD_ID = oRecordId
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID) ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
CURRENT_ENTITY_ID = _EntityId
CURRENT_NODE_GUID = oNodeId
SELECTED_NODE_CAPTION = oNodeCaption
CURRENT_SEARCH_TYPE = "RECORD" CURRENT_SEARCH_TYPE = "RECORD"
DisableEditMode() DisableEditMode()
' muss vor show selected record data kommen, ' muss vor show selected record data kommen,
@ -397,33 +364,30 @@ Public Class frmNodeNavigation
CtrlBuilder.WatchRecordChanges = True CtrlBuilder.WatchRecordChanges = True
Await Show_Selected_Record_Data(CURRENT_RECORD_ID) Await Show_Selected_Record_Data(CURRENT_RECORD_ID)
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId) ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
CONTROL_HANDLING() CONTROL_HANDLING()
If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then
If CURRENT_RECORD_ID > 0 Then If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then
If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then
If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then
bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False
Else
bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True)
End If
End If
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
bbtnitmRecEdit.Enabled = False bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False bbtnitmRecSave.Enabled = False
btnCreateNewNode.Enabled = False
Else Else
bbtnitmRecEdit.Enabled = True bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True) In_Visible_Record_Group(True)
btnCreateNewNode.Enabled = True
End If End If
End If End If
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False
btnCreateNewNode.Enabled = False
Else
bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True)
btnCreateNewNode.Enabled = True
End If
If RIGHT_READ_ONLY_DOC = False Then If RIGHT_READ_ONLY_DOC = False Then
Doc_ReadOnlyHandler(True) Doc_ReadOnlyHandler(True)
@ -438,9 +402,89 @@ Public Class frmNodeNavigation
'swAll.Done() 'swAll.Done()
Node_AfterSelect = False Node_AfterSelect = False
Else
Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None)
ClassControlValues.ClearControlValues(pnlControls.Controls)
Await Show_Selected_Record_Data(0)
End If End If
End Sub End Sub
Public Sub Update_Document_Label(pDocumentCount As Integer)
Dim oMessage
If pDocumentCount = 0 Then
oMessage = "Keine Dateien für '"
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage &= " Entität gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for entity: "
End If
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
oMessage &= SELECTED_NODE_CAPTION & "' gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for object '" & SELECTED_NODE_CAPTION & "'"
End If
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for record " & SELECTED_NODE_RECORD_ID
End If
ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
oMessage = "Keine Dateien für Knotenunterstruktur gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found in Node-Substructure"
End If
Else
oMessage = "Keine Dateien für Volltextsuche (" & CURRENT_FULLTEXT_PATTERN & ") gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for fulltext-search (" & CURRENT_FULLTEXT_PATTERN & ")"
End If
End If
Else
oMessage = "Dateien für Record: " & SELECTED_NODE_RECORD_ID
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage = "Dateien für Entität: "
If USER_LANGUAGE <> "de-DE" Then
oMessage = "files for entity: "
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
oMessage = String.Format("Dateien für Objekt '{0}' ", SELECTED_NODE_CAPTION)
If USER_LANGUAGE <> "de-DE" Then
oMessage = String.Format("Files for Object '{0}'", SELECTED_NODE_CAPTION)
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
oMessage = "Dateien für Knotenunterstruktur"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "files found in Node-Substructure"
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
Else
oMessage = String.Format("Ergebnis der Volltextsuche")
If USER_LANGUAGE <> "de-DE" Then
oMessage = String.Format("Result of Fulltext-Search")
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
End If
End If
GridViewDoc_Search.ViewCaption = oMessage
End Sub
Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None) Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None)
bsiInfo.Caption = text bsiInfo.Caption = text
If visible = True Then If visible = True Then
@ -658,13 +702,9 @@ Public Class frmNodeNavigation
Dim QuickViewSQL = query.Single().Item("SQL_QUICK_VIEW") Dim QuickViewSQL = query.Single().Item("SQL_QUICK_VIEW")
CURRENT_ENTITYSQL = Get_Grid_Sql_NODE_NAV(CONSTRUCTORID, _EntityId, 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 = " & _EntityId)
ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _EntityId, 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 = " & _EntityId & " 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") CURRENT_ENTITYSTRING = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_TITLE")
@ -706,12 +746,6 @@ Public Class frmNodeNavigation
LOGGER.Warn("Could not set the primary Key(Record-ID): " & ex.Message) LOGGER.Warn("Could not set the primary Key(Record-ID): " & ex.Message)
End Try End Try
CtrlBuilder.WatchRecordChanges = False CtrlBuilder.WatchRecordChanges = False
ClassControlValues.LoadControlValuesList(_EntityId, CtrlBuilder.MasterPanel.Controls) ClassControlValues.LoadControlValuesList(_EntityId, CtrlBuilder.MasterPanel.Controls)
CtrlBuilder.WatchRecordChanges = True CtrlBuilder.WatchRecordChanges = True
@ -720,8 +754,6 @@ Public Class frmNodeNavigation
ENTITY_LOADING_PROCESS = True ENTITY_LOADING_PROCESS = True
Dim RecLoaded As Boolean = False Dim RecLoaded As Boolean = False
End If End If
Load_Splitter_Layout() Load_Splitter_Layout()
sw.Done() sw.Done()
@ -776,24 +808,22 @@ Public Class frmNodeNavigation
End Try End Try
End Sub End Sub
Private Async Function Show_Selected_Record_Data(Rec_ID As Integer) As Threading.Tasks.Task Private Async Function Show_Selected_Record_Data(pRecordId As Integer) As Task
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me) Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try Try
LOGGER.Debug("Show_Selected_Record_Data: " & Rec_ID.ToString) LOGGER.Debug("Show_Selected_Record_Data: " & pRecordId.ToString)
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable() Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
Select form Select form
Where form.Item("GUID") = _EntityId).Single() Where form.Item("GUID") = _EntityId).Single()
'Update_Status_Label(False, "") 'Update_Status_Label(False, "")
LOGGER.Debug("RECORD ID: " & Rec_ID.ToString) LOGGER.Debug("RECORD ID: " & pRecordId.ToString)
'Me.pnlControls.Visible = True 'Me.pnlControls.Visible = True
SELECTED_NODE_RECORD_ID = Rec_ID SELECTED_NODE_RECORD_ID = pRecordId
CURRENT_PARENT_RECORD_ID = 0 CURRENT_PARENT_RECORD_ID = 0
RIGHT_CONTROL_CHANGED = False RIGHT_CONTROL_CHANGED = False
ENTITY_RELOAD_AFT_CONTROL_LOAD = False ENTITY_RELOAD_AFT_CONTROL_LOAD = False
@ -808,12 +838,14 @@ Public Class frmNodeNavigation
'Refresh_Navpane() 'Refresh_Navpane()
Update_Record_Label(SELECTED_NODE_RECORD_ID) Update_Record_Label(SELECTED_NODE_RECORD_ID)
Dim oDocumentsFounnd = Await RUN_WDSEARCH_GRID(True) Dim oDocumentsFound = Await RUN_WDSEARCH_GRID(True)
If oDocumentsFounnd = 0 Then If oDocumentsFound = 0 Then
DocumentViewer.CloseDocument() DocumentViewer.CloseDocument()
End If End If
Update_Document_Label(oDocumentsFound)
sw.Done() sw.Done()
Catch ex As Exception Catch ex As Exception
@ -821,7 +853,6 @@ Public Class frmNodeNavigation
Finally Finally
SplashScreenManager.CloseOverlayForm(oHandle) SplashScreenManager.CloseOverlayForm(oHandle)
End Try End Try
End Function End Function
#Region "Controls" #Region "Controls"
@ -1011,84 +1042,84 @@ Public Class frmNodeNavigation
LastFindFilterText = oFilterText LastFindFilterText = oFilterText
End Sub End Sub
Private Async Sub LoadRecord(pRecord As Integer) 'Private Async Sub LoadRecord(pRecord As Integer)
Try ' Try
CURRENT_RECORD_ID = pRecord ' CURRENT_RECORD_ID = pRecord
CURRENT_SEARCH_TYPE = "RECORD" ' CURRENT_SEARCH_TYPE = "RECORD"
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID) ' ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
'Wird jetzt bei BeforeRowChange überprüft ' 'Wird jetzt bei BeforeRowChange überprüft
DisableEditMode() ' DisableEditMode()
' muss vor show selected record data kommen, ' ' muss vor show selected record data kommen,
' sodass die datasource für die angehakten werte existiert (checked list box) ' ' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False ' CtrlBuilder.WatchRecordChanges = False
ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId) ' ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId)
CtrlBuilder.WatchRecordChanges = True ' CtrlBuilder.WatchRecordChanges = True
If CURRENT_RECORD_ID > 0 Then ' If CURRENT_RECORD_ID > 0 Then
Await Show_Selected_Record_Data(CURRENT_RECORD_ID) ' Await Show_Selected_Record_Data(CURRENT_RECORD_ID)
End If ' End If
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId) ' ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
CONTROL_HANDLING() ' CONTROL_HANDLING()
If CURRENT_RECORD_ID > 0 Then ' If CURRENT_RECORD_ID > 0 Then
If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then ' If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then
If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then ' If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then
bbtnitmRecEdit.Enabled = False ' bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False ' bbtnitmRecSave.Enabled = False
'tsButtonDelete.Enabled = False ' 'tsButtonDelete.Enabled = False
Else ' Else
' bbtnitmEditRec.Enabled = True ' ' bbtnitmEditRec.Enabled = True
End If ' End If
End If ' End If
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then ' If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else ' Else
' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Always ' ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Always ' ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Always ' ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Always ' ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If ' End If
'tsButtonAdd.Enabled = False ' 'tsButtonAdd.Enabled = False
'MsgBox(SplitContainerFORM.Collapsed) ' 'MsgBox(SplitContainerFORM.Collapsed)
'MsgBox(SplitContainerMain.Collapsed) ' 'MsgBox(SplitContainerMain.Collapsed)
'MsgBox(SplitContainerTop.Collapsed) ' 'MsgBox(SplitContainerTop.Collapsed)
End If ' End If
'Liste der geänderten Control Values leeren ' 'Liste der geänderten Control Values leeren
CtrlBuilder.ControlsChanged.Clear() ' CtrlBuilder.ControlsChanged.Clear()
Catch ex As Exception ' Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error:", ex.Message & vbNewLine & ex.StackTrace) ' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error:", ex.Message & vbNewLine & ex.StackTrace)
End Try ' End Try
End Sub 'End Sub
Private Sub DateiÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiÖffnenToolStripMenuItem.Click Private Sub DateiÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiÖffnenToolStripMenuItem.Click
Open_File() Open_File()
End Sub End Sub
Private Sub frmNodeNavigation_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing Private Sub frmNodeNavigation_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If TrySave_Automatic() = False Then If TrySave_Automatic() = False Then
e.Cancel = True e.Cancel = True
End If End If
Save_Splitter_Layout()
ClassWindowLocation.SaveFormLocationSize(Me, CONSTRUCTORID, CURRENT_SCREEN_ID, "NODE_NAVIGATION") ClassWindowLocation.SaveFormLocationSize(Me, CONSTRUCTORID, CURRENT_SCREEN_ID, "NODE_NAVIGATION")
CURRENT_OPEN_CONSTRUCTOR_FORMS.Remove(CONSTRUCTORID) CURRENT_OPEN_CONSTRUCTOR_FORMS.Remove(CONSTRUCTORID)
@ -1115,13 +1146,13 @@ Public Class frmNodeNavigation
Private Sub GridControlDocSearch_MouseDown(sender As Object, e As MouseEventArgs) Handles GridControlDocSearch.MouseDown Private Sub GridControlDocSearch_MouseDown(sender As Object, e As MouseEventArgs) Handles GridControlDocSearch.MouseDown
In_Visible_Record_Group(False) In_Visible_Record_Group(False)
End Sub End Sub
Private Sub pnlControls_MouseDown(sender As Object, e As MouseEventArgs) Handles pnlControls.MouseDown
End Sub
Sub In_Visible_Record_Group(oBool As Boolean) Sub In_Visible_Record_Group(oBool As Boolean)
RibbonPageGroupRecord.Visible = oBool RibbonPageGroupRecord.Visible = oBool
RibbonPageGroupRecord.Enabled = oBool RibbonPageGroupRecord.Enabled = oBool
End Sub End Sub
Private Sub bbtnitmEditRec_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecEdit.ItemClick Private Sub bbtnitmEditRec_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecEdit.ItemClick
If RECORD_ENABLED = False Then If RECORD_ENABLED = False Then
EnableEditMode() EnableEditMode()
@ -1132,6 +1163,7 @@ Public Class frmNodeNavigation
End If End If
End If End If
End Sub End Sub
Sub EnableEditMode() Sub EnableEditMode()
Dim EditingUser = ClassRecordState.IsRecordLocked(SELECTED_NODE_RECORD_ID) Dim EditingUser = ClassRecordState.IsRecordLocked(SELECTED_NODE_RECORD_ID)
' Überprüfen, ob der Record gerade bearbeitet wird ' Überprüfen, ob der Record gerade bearbeitet wird
@ -1222,7 +1254,6 @@ Public Class frmNodeNavigation
Lock_RecordControls(True) Lock_RecordControls(True)
RECORD_ENABLED = False RECORD_ENABLED = False
POS_ENABLED = False
CURRENT_RECORD_ENABLED = False CURRENT_RECORD_ENABLED = False
@ -1444,13 +1475,18 @@ Public Class frmNodeNavigation
Dim oHandle As IOverlaySplashScreenHandle Dim oHandle As IOverlaySplashScreenHandle
If pShowSplashscreen Then If pShowSplashscreen Then
oHandle = SplashScreenManager.ShowOverlayForm(Me) oHandle = SplashScreenManager.ShowOverlayForm(Me)
taskToken = New CancellationTokenSource()
End If End If
Dim sw As New SW("RUN_WDSEARCH_GRID") Dim sw As New SW("RUN_WDSEARCH_GRID")
Dim oFilesFound As Integer = 0 Dim oFilesFound As Integer = 0
Try Try
If CURRENT_RECORD_ID = 0 Then
GridControlDocSearch.DataSource = Nothing
Return 0
End If
bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Always bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
@ -1477,41 +1513,6 @@ Public Class frmNodeNavigation
Else Else
If DT_RESULT.Rows.Count > 0 Then 'Es gibt Suchergebnisse If DT_RESULT.Rows.Count > 0 Then 'Es gibt Suchergebnisse
Dim msg = "Dateien für Record: " & SELECTED_NODE_RECORD_ID
If CURRENT_SEARCH_TYPE = "ENTITY" Then
msg = "Dateien für Entität: "
If USER_LANGUAGE <> "de-DE" Then
msg = "files for entity: "
End If
msg &= " (" & DT_RESULT.Rows.Count.ToString & ")"
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
'If NODE_TEXT.Contains(" (") Then
' NODE_TEXT = NODE_TEXT.Substring(0, NODE_TEXT.IndexOf("(") - 1)
' End If
msg = String.Format("Dateien für Objekt '{0}' ", SELECTED_NODE_CAPTION)
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("Files for Object '{0}'", SELECTED_NODE_CAPTION)
End If
msg &= " (" & DT_RESULT.Rows.Count.ToString & ")"
ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
msg = "Dateien für Knotenunterstruktur"
If USER_LANGUAGE <> "de-DE" Then
msg = "files found in Node-Substructure"
End If
msg &= " (" & DT_RESULT.Rows.Count.ToString & ")"
Else
msg = String.Format("Ergebnis der Volltextsuche")
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("Result of Fulltext-Search")
End If
msg &= " (" & DT_RESULT.Rows.Count.ToString & ")"
End If
GridViewDoc_Search.ViewCaption = msg
If DT_RESULT.Rows.Count > 0 Then If DT_RESULT.Rows.Count > 0 Then
If CURRENT_SEARCH_TYPE = "FULLTEXT" Then If CURRENT_SEARCH_TYPE = "FULLTEXT" Then
GridViewDoc_Search.ShowFindPanel() GridViewDoc_Search.ShowFindPanel()
@ -1541,47 +1542,11 @@ Public Class frmNodeNavigation
oFilesFound = DT_RESULT.Rows.Count oFilesFound = DT_RESULT.Rows.Count
Else Else
Dim msg = "Keine Dateien für '"
If CURRENT_SEARCH_TYPE = "ENTITY" Then
msg &= " Entität gefunden"
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found for entity: "
End If
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
'If NODE_TEXT.Contains(" (") Then
' NODE_TEXT = NODE_TEXT.Substring(0, NODE_TEXT.IndexOf("(") - 1)
' End If
msg &= SELECTED_NODE_CAPTION & "' gefunden"
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found for object '" & SELECTED_NODE_CAPTION & "'"
End If
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found for record " & SELECTED_NODE_RECORD_ID
End If
ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
msg = "Keine Dateien für Knotenunterstruktur gefunden"
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found in Node-Substructure"
End If
Else
msg = "Keine Dateien für Volltextsuche (" & CURRENT_FULLTEXT_PATTERN & ") gefunden"
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found for fulltext-search (" & CURRENT_FULLTEXT_PATTERN & ")"
End If
End If
GridViewDoc_Search.ViewCaption = msg
GridControlDocSearch.DataSource = Nothing GridControlDocSearch.DataSource = Nothing
'Clear_Windream_ResultList()
oFilesFound = 0 oFilesFound = 0
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Run WD-Search Database: ", ex.Message) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Run WD-Search Database: ", ex.Message)
Finally Finally
@ -1779,13 +1744,6 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in OnCheckboxValueChanged: ", ex.Message) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in OnCheckboxValueChanged: ", ex.Message)
End Try End Try
End Sub End Sub
Private Sub SplitContainer1_SplitterMoved(sender As Object, e As SplitterEventArgs) Handles SplitContainer1.SplitterMoved
If FORM_LOADED Then
Save_Splitter_Layout()
End If
End Sub
#Region "GridViewEvents" #Region "GridViewEvents"
Private Sub GridViewDoc_Search_LayoutSave(sender As Object, e As EventArgs) Handles GridViewDoc_Search.ColumnFilterChanged, GridViewDoc_Search.ColumnWidthChanged, GridViewDoc_Search.ColumnPositionChanged Private Sub GridViewDoc_Search_LayoutSave(sender As Object, e As EventArgs) Handles GridViewDoc_Search.ColumnFilterChanged, GridViewDoc_Search.ColumnWidthChanged, GridViewDoc_Search.ColumnPositionChanged
Save_DocGrid_Layout() Save_DocGrid_Layout()
@ -2091,11 +2049,11 @@ Public Class frmNodeNavigation
Private Sub pnlControls_DragEnter(sender As Object, e As DragEventArgs) Handles pnlControls.DragEnter Private Sub pnlControls_DragEnter(sender As Object, e As DragEventArgs) Handles pnlControls.DragEnter
Drag_Enter(e) Drag_Enter(e)
End Sub End Sub
Private Sub SplitContainer1_DragEnter(sender As Object, e As DragEventArgs) Handles SplitContainer1.DragEnter Private Sub SplitContainer1_DragEnter(sender As Object, e As DragEventArgs)
Drag_Enter(e) Drag_Enter(e)
End Sub End Sub
Private Async Sub SplitContainer1_DragDrop(sender As Object, e As DragEventArgs) Handles SplitContainer1.DragDrop Private Async Sub SplitContainer1_DragDrop(sender As Object, e As DragEventArgs)
Await Drag_Drop(e) Await Drag_Drop(e)
End Sub End Sub
#End Region #End Region
@ -2989,5 +2947,4 @@ Public Class frmNodeNavigation
.Name = pRow.ItemEx("NAME", "") .Name = pRow.ItemEx("NAME", "")
} }
End Function End Function
End Class End Class