Vererbung Tabelle Finalisierung

This commit is contained in:
Developer01
2026-01-30 09:01:47 +01:00
parent c249aa890d
commit 72b1e4acba
7 changed files with 539 additions and 424 deletions

View File

@@ -352,8 +352,8 @@ Namespace ControlCreator
End If
Dim oColumnData As DataRow = pColumnDefinition.
Select($"SPALTENNAME = '{pArgs.Column.FieldName}'").
FirstOrDefault()
Select($"SPALTENNAME = '{pArgs.Column.FieldName}'").
FirstOrDefault()
If oColumnData Is Nothing Then
Return
@@ -386,25 +386,25 @@ Namespace ControlCreator
If affectedRowsCount > 0 AndAlso confirmationEntry.Count < InheritanceMsgAmount Then
Dim confirmMessage As String = String.Format(
"Möchten Sie den Wert '{0}' an {1} nachfolgende Zeile(n) vererben?",
valueToApply,
affectedRowsCount)
"Möchten Sie den Wert '{0}' an {1} nachfolgende Zeile(n) vererben?",
valueToApply,
affectedRowsCount)
If USER_LANGUAGE <> "de-DE" Then
confirmMessage = String.Format(
"Do you want to inherit the value '{0}' to {1} subsequent row(s)?",
valueToApply,
affectedRowsCount)
"Do you want to inherit the value '{0}' to {1} subsequent row(s)?",
valueToApply,
affectedRowsCount)
End If
Dim confirmTitle As String = "Wertevererbung bestätigen"
If USER_LANGUAGE <> "de-DE" Then
confirmTitle = "Confirm Value Inheritance"
End If
Dim result = MessageBox.Show(
confirmMessage,
confirmTitle,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1)
confirmMessage,
confirmTitle,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1)
If result <> DialogResult.Yes Then
_Logger.Debug("User cancelled value inheritance")
@@ -414,9 +414,39 @@ Namespace ControlCreator
confirmationEntry.Count += 1
CONFIG.Save()
_Logger.Info("User confirmed value inheritance. Confirmation count: {0}", confirmationEntry.Count)
ElseIf affectedRowsCount > 0 AndAlso confirmationEntry.Count = InheritanceMsgAmount Then
' Schwellenwert erreicht - User fragen, ob er weiterhin gefragt werden möchte
Dim continueAskingMessage As String = "Sie haben diese Bestätigung bereits mehrfach durchgeführt. Möchten Sie in Zukunft weiterhin gefragt werden?"
If USER_LANGUAGE <> "de-DE" Then
continueAskingMessage = "You have confirmed this action multiple times. Do you want to continue being asked in the future?"
End If
Dim continueAskingTitle As String = "Bestätigungen fortsetzen?"
If USER_LANGUAGE <> "de-DE" Then
continueAskingTitle = "Continue Confirmations?"
End If
Dim continueResult = MessageBox.Show(
continueAskingMessage,
continueAskingTitle,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2)
If continueResult = DialogResult.Yes Then
' User möchte weiterhin gefragt werden - Counter zurücksetzen
confirmationEntry.Count = 0
CONFIG.Save()
_Logger.Info("User wants to continue being asked. Counter reset to 0.")
Else
' User möchte nicht mehr gefragt werden - Counter erhöhen
confirmationEntry.Count += 1
CONFIG.Save()
_Logger.Info("User does not want to be asked anymore. Counter increased to {0}.", confirmationEntry.Count)
End If
ElseIf affectedRowsCount > 0 Then
_Logger.Info("Skipping confirmation dialog (already confirmed {0} times)", confirmationEntry.Count)
End If
isApplyingInheritedValue = True
Try
_Logger.Info(String.Format("Inherit Value is active for column. So inheritting the value [{0}]...", valueToApply))

View File

@@ -143,7 +143,6 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable
Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String)

View File

@@ -255,6 +255,7 @@ Partial Class frmMain
'GridControlWorkflows
'
resources.ApplyResources(Me.GridControlWorkflows, "GridControlWorkflows")
Me.GridControlWorkflows.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlWorkflows.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlWorkflows.MainView = Me.GridViewWorkflows
Me.GridControlWorkflows.MenuManager = Me.RibbonControl1
Me.GridControlWorkflows.Name = "GridControlWorkflows"
@@ -272,6 +273,7 @@ Partial Class frmMain
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseForeColor = True
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseTextOptions = True
Me.GridViewWorkflows.Appearance.ViewCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near
Me.GridViewWorkflows.DetailHeight = 442
Me.GridViewWorkflows.GridControl = Me.GridControlWorkflows
Me.GridViewWorkflows.Name = "GridViewWorkflows"
Me.GridViewWorkflows.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
@@ -291,11 +293,13 @@ Partial Class frmMain
'
'RibbonControl1
'
Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(37, 38, 37, 38)
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 57
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.OptionsMenuMinWidth = 403
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize})
Me.RibbonControl1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.Office2013
@@ -985,7 +989,6 @@ Partial Class frmMain
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlBottom)
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlLeft)
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlRight)
Me.DocumentViewerBarManager1.DockWindowTabFont = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.DocumentViewerBarManager1.Form = Me
Me.DocumentViewerBarManager1.ImageStream = CType(resources.GetObject("DocumentViewerBarManager1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.DocumentViewerBarManager1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.PrintPreviewStaticItem1, Me.ProgressBarEditItem1, Me.PrintPreviewBarItem1, Me.PrintPreviewStaticItem2, Me.ZoomTrackBarEditItem1, Me.bbiDocumentMap, Me.bbiParameters, Me.bbiThumbnails, Me.bbiFind, Me.bbiHighlightEditingFields, Me.bbiCustomize, Me.bbiOpen, Me.bbiSave, Me.bbiPrint, Me.bbiPrintDirect, Me.bbiPageSetup, Me.bbiEditPageHF, Me.bbiScale, Me.bbiHandTool, Me.bbiMagnifier, Me.bbiZoomOut, Me.bbiZoom, Me.bbiZoomIn, Me.bbiShowFirstPage, Me.bbiShowPrevPage, Me.bbiShowNextPage, Me.bbiShowLastPage, Me.bbiMultiplePages, Me.bbiFillBackground, Me.bbiWatermark, Me.bbiExportFile, Me.bbiSendFile, Me.bbiClosePreview, Me.miFile, Me.miView, Me.miBackground, Me.miPageLayout, Me.miPageLayoutFacing, Me.miPageLayoutContinuous, Me.miToolbars, Me.PrintPreviewBarCheckItem1, Me.PrintPreviewBarCheckItem2, Me.PrintPreviewBarCheckItem3, Me.PrintPreviewBarCheckItem4, Me.PrintPreviewBarCheckItem5, Me.PrintPreviewBarCheckItem6, Me.PrintPreviewBarCheckItem7, Me.PrintPreviewBarCheckItem8, Me.PrintPreviewBarCheckItem9, Me.PrintPreviewBarCheckItem10, Me.PrintPreviewBarCheckItem11, Me.PrintPreviewBarCheckItem12, Me.PrintPreviewBarCheckItem13, Me.PrintPreviewBarCheckItem14, Me.PrintPreviewBarCheckItem15, Me.PrintPreviewBarCheckItem16, Me.PrintPreviewBarCheckItem17, Me.PrintPreviewBarCheckItem18, Me.PrintPreviewBarCheckItem19})

View File

@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
CAAAAk1TRnQBSQFMAgEBAgEAAXgBCwF4AQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAAYABCwGAAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -176,9 +176,12 @@
<data name="GridControlWorkflows.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlWorkflows.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="GridControlWorkflows.Location" type="System.Drawing.Point, System.Drawing">
<value>233, 24</value>
<value>285, 30</value>
</data>
<data name="GridViewWorkflows.Appearance.FooterPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 8.25pt</value>
@@ -186,6 +189,9 @@
<data name="GridViewWorkflows.Appearance.ViewCaption.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 12pt</value>
</data>
<data name="GridControlWorkflows.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="bbtniRefresh.Caption" xml:space="preserve">
<value>Aktualisieren</value>
</data>
@@ -1496,9 +1502,39 @@
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="RibbonControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Allgemein</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Auswertungen</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Verwaltung</value>
</data>
<data name="RibbonPageGroupBasicConf.Text" xml:space="preserve">
<value>Grundeinstellungen</value>
</data>
<data name="RibbonPageGroup7.Text" xml:space="preserve">
<value>Workflow</value>
</data>
<data name="RibbonPageGroup4.Text" xml:space="preserve">
<value>Funktionen/App Start</value>
</data>
<data name="RibbonPageGroupAHW.Text" xml:space="preserve">
<value>Ad Hoc Workflows</value>
</data>
<data name="RibbonPageStart.Text" xml:space="preserve">
<value>Start</value>
</data>
<data name="RibbonPageGroup6.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPageGroup5.Text" xml:space="preserve">
<value>Workflow Tabelle</value>
</data>
<data name="RibbonPageTabelle.Text" xml:space="preserve">
<value>Tabelle</value>
</data>
@@ -1506,13 +1542,16 @@
<value>Aktionen</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 158</value>
<value>1440, 194</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 666</value>
<value>0, 841</value>
</data>
<data name="RibbonStatusBar1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 22</value>
<value>1440, 28</value>
</data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value>
@@ -1539,7 +1578,7 @@
<value>4</value>
</data>
<data name="GridControlWorkflows.Size" type="System.Drawing.Size, System.Drawing">
<value>945, 484</value>
<value>1155, 617</value>
</data>
<data name="GridControlWorkflows.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -1556,6 +1595,27 @@
<data name="&gt;&gt;GridControlWorkflows.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblCaptionMainGrid.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblCaptionMainGrid.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 9.75pt, style=Bold</value>
</data>
<data name="lblCaptionMainGrid.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 4</value>
</data>
<data name="lblCaptionMainGrid.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblCaptionMainGrid.Size" type="System.Drawing.Size, System.Drawing">
<value>169, 21</value>
</data>
<data name="lblCaptionMainGrid.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblCaptionMainGrid.Text" xml:space="preserve">
<value>Choose a profile ...</value>
</data>
<data name="&gt;&gt;lblCaptionMainGrid.Name" xml:space="preserve">
<value>lblCaptionMainGrid</value>
</data>
@@ -1572,10 +1632,13 @@
<value>Top</value>
</data>
<data name="Panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>233, 0</value>
<value>285, 0</value>
</data>
<data name="Panel2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="Panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>945, 24</value>
<value>1155, 30</value>
</data>
<data name="Panel2.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -1647,8 +1710,14 @@
<metadata name="cmsNavPane.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>863, 17</value>
</metadata>
<data name="tsmiValidationProfil.Size" type="System.Drawing.Size, System.Drawing">
<value>261, 26</value>
</data>
<data name="tsmiValidationProfil.Text" xml:space="preserve">
<value>Starte Validierung für Profil</value>
</data>
<data name="cmsNavPane.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 30</value>
<value>262, 30</value>
</data>
<data name="&gt;&gt;cmsNavPane.Name" xml:space="preserve">
<value>cmsNavPane</value>
@@ -1778,11 +1847,14 @@
<data name="NavBarControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="NavBarControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="resource.ExpandedWidth" type="System.Int32, mscorlib">
<value>233</value>
<value>285</value>
</data>
<data name="NavBarControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>233, 508</value>
<value>285, 647</value>
</data>
<data name="NavBarControl1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -1809,10 +1881,13 @@
<value>Tahoma, 9pt</value>
</data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 158</value>
<value>0, 194</value>
</data>
<data name="Panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 508</value>
<value>1440, 647</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -1829,69 +1904,6 @@
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Allgemein</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Auswertungen</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Verwaltung</value>
</data>
<data name="RibbonPageGroupBasicConf.Text" xml:space="preserve">
<value>Grundeinstellungen</value>
</data>
<data name="RibbonPageGroup7.Text" xml:space="preserve">
<value>Workflow</value>
</data>
<data name="RibbonPageGroup4.Text" xml:space="preserve">
<value>Funktionen/App Start</value>
</data>
<data name="RibbonPageGroupAHW.Text" xml:space="preserve">
<value>Ad Hoc Workflows</value>
</data>
<data name="RibbonPageGroup6.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPageGroup5.Text" xml:space="preserve">
<value>Workflow Tabelle</value>
</data>
<data name="lblCaptionMainGrid.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblCaptionMainGrid.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 9.75pt, style=Bold</value>
</data>
<data name="lblCaptionMainGrid.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="lblCaptionMainGrid.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 16</value>
</data>
<data name="lblCaptionMainGrid.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblCaptionMainGrid.Text" xml:space="preserve">
<value>Choose a profile ...</value>
</data>
<data name="&gt;&gt;lblCaptionMainGrid.Name" xml:space="preserve">
<value>lblCaptionMainGrid</value>
</data>
<data name="&gt;&gt;lblCaptionMainGrid.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblCaptionMainGrid.Parent" xml:space="preserve">
<value>Panel2</value>
</data>
<data name="&gt;&gt;lblCaptionMainGrid.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tsmiValidationProfil.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 26</value>
</data>
<data name="tsmiValidationProfil.Text" xml:space="preserve">
<value>Starte Validierung für Profil</value>
</data>
<metadata name="bindsourcegrid.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
@@ -1901,8 +1913,29 @@
<metadata name="ContextMenuNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>250, 56</value>
</metadata>
<data name="PopupErinnerungInaktivierenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>348, 30</value>
</data>
<data name="PopupErinnerungInaktivierenToolStripMenuItem.Text" xml:space="preserve">
<value>Popup Erinnerung deaktivieren</value>
</data>
<data name="ToolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>345, 6</value>
</data>
<data name="AnzeigenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>348, 30</value>
</data>
<data name="AnzeigenToolStripMenuItem.Text" xml:space="preserve">
<value>In den Vordergrund</value>
</data>
<data name="OutOfRangePMFixierenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>348, 30</value>
</data>
<data name="OutOfRangePMFixierenToolStripMenuItem.Text" xml:space="preserve">
<value>Out of Range - Fenster wiederherstellen</value>
</data>
<data name="ContextMenuNotifyIcon.Size" type="System.Drawing.Size, System.Drawing">
<value>291, 100</value>
<value>349, 100</value>
</data>
<data name="&gt;&gt;ContextMenuNotifyIcon.Name" xml:space="preserve">
<value>ContextMenuNotifyIcon</value>
@@ -1996,27 +2029,6 @@
<data name="NotifyIcon1.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="PopupErinnerungInaktivierenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>290, 30</value>
</data>
<data name="PopupErinnerungInaktivierenToolStripMenuItem.Text" xml:space="preserve">
<value>Popup Erinnerung deaktivieren</value>
</data>
<data name="ToolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>287, 6</value>
</data>
<data name="AnzeigenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>290, 30</value>
</data>
<data name="AnzeigenToolStripMenuItem.Text" xml:space="preserve">
<value>In den Vordergrund</value>
</data>
<data name="OutOfRangePMFixierenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>290, 30</value>
</data>
<data name="OutOfRangePMFixierenToolStripMenuItem.Text" xml:space="preserve">
<value>Out of Range - Fenster wiederherstellen</value>
</data>
<metadata name="TimerRefresh.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>605, 17</value>
</metadata>
@@ -2042,10 +2054,13 @@
<value>Bottom</value>
</data>
<data name="barDockControlBottom.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 688</value>
<value>0, 869</value>
</data>
<data name="barDockControlBottom.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="barDockControlBottom.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 0</value>
<value>1440, 0</value>
</data>
<data name="&gt;&gt;barDockControlBottom.Name" xml:space="preserve">
<value>barDockControlBottom</value>
@@ -2065,8 +2080,11 @@
<data name="barDockControlLeft.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="barDockControlLeft.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="barDockControlLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 688</value>
<value>0, 869</value>
</data>
<data name="&gt;&gt;barDockControlLeft.Name" xml:space="preserve">
<value>barDockControlLeft</value>
@@ -2084,10 +2102,13 @@
<value>Right</value>
</data>
<data name="barDockControlRight.Location" type="System.Drawing.Point, System.Drawing">
<value>1178, 0</value>
<value>1440, 0</value>
</data>
<data name="barDockControlRight.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="barDockControlRight.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 688</value>
<value>0, 869</value>
</data>
<data name="&gt;&gt;barDockControlRight.Name" xml:space="preserve">
<value>barDockControlRight</value>
@@ -2108,10 +2129,10 @@
<value>147</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>9, 19</value>
<value>11, 24</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1178, 688</value>
<value>1440, 869</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 12pt</value>
@@ -2283,7 +2304,7 @@
</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
<value>5, 6, 5, 6</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
@@ -3444,9 +3465,6 @@
<data name="miView.Caption" xml:space="preserve">
<value>&amp;Ansicht</value>
</data>
<data name="miBackground.Caption" xml:space="preserve">
<value>&amp;Hintergrund</value>
</data>
<data name="miPageLayout.Caption" xml:space="preserve">
<value>&amp;Seiten Layout</value>
</data>
@@ -3459,6 +3477,9 @@
<data name="miToolbars.Caption" xml:space="preserve">
<value>Bars</value>
</data>
<data name="miBackground.Caption" xml:space="preserve">
<value>&amp;Hintergrund</value>
</data>
<data name="PrintPreviewBarCheckItem1.Caption" xml:space="preserve">
<value>PDF Dokument</value>
</data>
@@ -3573,8 +3594,11 @@
<data name="PrintPreviewBarCheckItem19.Hint" xml:space="preserve">
<value>Graphisches Dokument</value>
</data>
<data name="barDockControlTop.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="barDockControlTop.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 0</value>
<value>1440, 0</value>
</data>
<data name="&gt;&gt;barDockControlTop.Name" xml:space="preserve">
<value>barDockControlTop</value>

View File

@@ -799,6 +799,7 @@ Public Class frmMain
Sub LoadNavBar()
Dim profileGroupOpen As Boolean = False
If Not IsNothing(CurrNavBarGroup) Then
NavBarControl1.BeginUpdate() ' <-- Hinzufügen
Try
profileGroupOpen = CurrNavBarGroup.Expanded
Try
@@ -810,8 +811,10 @@ Public Class frmMain
End Try
Catch ex As Exception
Finally
NavBarControl1.EndUpdate() ' <-- Hinzufügen
End Try
End If
Try

View File

@@ -488,6 +488,24 @@
<data name="SplitContainer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="PanelValidatorControl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="PanelValidatorControl.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="PanelValidatorControl.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 72</value>
</data>
<data name="PanelValidatorControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="PanelValidatorControl.Size" type="System.Drawing.Size, System.Drawing">
<value>823, 279</value>
</data>
<data name="PanelValidatorControl.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;PanelValidatorControl.Name" xml:space="preserve">
<value>PanelValidatorControl</value>
</data>
@@ -500,6 +518,31 @@
<data name="&gt;&gt;PanelValidatorControl.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="DESCRIPTIONLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="DESCRIPTIONLabel.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9.75pt</value>
</data>
<assembly alias="DevExpress.XtraEditors.v21.2" name="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="DESCRIPTIONLabel.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v21.2">
<value>None</value>
</data>
<data name="DESCRIPTIONLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 41</value>
</data>
<data name="DESCRIPTIONLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="DESCRIPTIONLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>824, 32</value>
</data>
<data name="DESCRIPTIONLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="DESCRIPTIONLabel.Text" xml:space="preserve">
<value>LabelControl1</value>
</data>
<data name="&gt;&gt;DESCRIPTIONLabel.Name" xml:space="preserve">
<value>DESCRIPTIONLabel</value>
</data>
@@ -512,6 +555,30 @@
<data name="&gt;&gt;DESCRIPTIONLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TITLELabel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="TITLELabel1.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 12pt, style=Bold</value>
</data>
<data name="TITLELabel1.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v21.2">
<value>None</value>
</data>
<data name="TITLELabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="TITLELabel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TITLELabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>824, 35</value>
</data>
<data name="TITLELabel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="TITLELabel1.Text" xml:space="preserve">
<value>LabelControl1</value>
</data>
<data name="&gt;&gt;TITLELabel1.Name" xml:space="preserve">
<value>TITLELabel1</value>
</data>
@@ -623,109 +690,6 @@
<data name="&gt;&gt;SplitContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="PanelValidatorControl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="PanelValidatorControl.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="PanelValidatorControl.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 72</value>
</data>
<data name="PanelValidatorControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="PanelValidatorControl.Size" type="System.Drawing.Size, System.Drawing">
<value>823, 279</value>
</data>
<data name="PanelValidatorControl.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;PanelValidatorControl.Name" xml:space="preserve">
<value>PanelValidatorControl</value>
</data>
<data name="&gt;&gt;PanelValidatorControl.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraScrollableControl, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;PanelValidatorControl.Parent" xml:space="preserve">
<value>pnlMain</value>
</data>
<data name="&gt;&gt;PanelValidatorControl.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="DESCRIPTIONLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="DESCRIPTIONLabel.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9.75pt</value>
</data>
<assembly alias="DevExpress.XtraEditors.v21.2" name="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="DESCRIPTIONLabel.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v21.2">
<value>None</value>
</data>
<data name="DESCRIPTIONLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 41</value>
</data>
<data name="DESCRIPTIONLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="DESCRIPTIONLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>824, 32</value>
</data>
<data name="DESCRIPTIONLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="DESCRIPTIONLabel.Text" xml:space="preserve">
<value>LabelControl1</value>
</data>
<data name="&gt;&gt;DESCRIPTIONLabel.Name" xml:space="preserve">
<value>DESCRIPTIONLabel</value>
</data>
<data name="&gt;&gt;DESCRIPTIONLabel.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;DESCRIPTIONLabel.Parent" xml:space="preserve">
<value>pnlMain</value>
</data>
<data name="&gt;&gt;DESCRIPTIONLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TITLELabel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="TITLELabel1.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 12pt, style=Bold</value>
</data>
<data name="TITLELabel1.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v21.2">
<value>None</value>
</data>
<data name="TITLELabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="TITLELabel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TITLELabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>824, 35</value>
</data>
<data name="TITLELabel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="TITLELabel1.Text" xml:space="preserve">
<value>LabelControl1</value>
</data>
<data name="&gt;&gt;TITLELabel1.Name" xml:space="preserve">
<value>TITLELabel1</value>
</data>
<data name="&gt;&gt;TITLELabel1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;TITLELabel1.Parent" xml:space="preserve">
<value>pnlMain</value>
</data>
<data name="&gt;&gt;TITLELabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<metadata name="BarManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1514, 26</value>
</metadata>
@@ -1315,6 +1279,39 @@
<data name="RibbonControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="RibbonPageFile.Text" xml:space="preserve">
<value>Datei</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Daten</value>
</data>
<data name="RbnPgGrpActions.Text" xml:space="preserve">
<value>Aktionen</value>
</data>
<data name="rbnPgGroupHinweise.Text" xml:space="preserve">
<value>Hinweise</value>
</data>
<data name="rbnPgGroupAttmt.Text" xml:space="preserve">
<value>Anhänge</value>
</data>
<data name="RibbonPageGroupCustom.Text" xml:space="preserve">
<value>Anhänge zu Beleg</value>
</data>
<data name="RibbonPageGroup2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAASZJREFUWEfN
l7ERwjAMRZmAinFeT8cMDMAgbENLyRZ0dKxAG+5zhAuKBDYOiOLd5YykPBJbdmZd180yGQ38mscF8I45
sAK2wB44AZc7utaYflOMYm3+EzUCC2ADHICuEMUqR7m2XpXAEtg5NyhFuaph6xYJrIGjU7QW1VCtKgEl
nJ1in6JaTxKvBPTIpvjnFtV8vI5IQJOm5Z2/Q7VvEzMS0My1SVOje7gCWrvFS63PG+SPYgJ0j7knoAZi
g0MaBMTKE1AXs4EhjQJbT0Ct1AaGNArsPQH1cxsY0ihw8gS0qdjAkEaBy18KpL+C9EmYvgyrGlEjbiNK
b8WieDNqEAg3I5G+HYvUA0lP6pFsKDHFk/joUNqTeizvSf0wGfLdT7MsRgO/5go/tJcKezdCSgAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Information</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>Start</value>
</data>
@@ -2207,39 +2204,6 @@
<data name="PdfExactZoomListBarSubItem2.Caption" xml:space="preserve">
<value>Zoom</value>
</data>
<data name="PdfExactZoomListBarSubItem2.SuperTip" type="DevExpress.Utils.SuperToolTip, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
ZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
AAAAAAAAiwEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAApw4RuZGVybiBkZXIg
Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E
cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz
LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO
AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL
</value>
</data>
<data name="PdfZoom10CheckItem2.Caption" xml:space="preserve">
<value>10 %</value>
</data>
@@ -2282,6 +2246,39 @@
<data name="PdfSetFitVisibleZoomModeCheckItem2.Caption" xml:space="preserve">
<value>sichtbare einpassen</value>
</data>
<data name="PdfExactZoomListBarSubItem2.SuperTip" type="DevExpress.Utils.SuperToolTip, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
ZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
AAAAAAAAiwEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAApw4RuZGVybiBkZXIg
Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E
cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz
LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO
AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL
</value>
</data>
<data name="BarButtonItem1.Caption" xml:space="preserve">
<value>BarButtonItem1</value>
</data>
@@ -2300,39 +2297,6 @@
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>232, 128</value>
</metadata>
<data name="RibbonPageFile.Text" xml:space="preserve">
<value>Datei</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Daten</value>
</data>
<data name="RbnPgGrpActions.Text" xml:space="preserve">
<value>Aktionen</value>
</data>
<data name="rbnPgGroupHinweise.Text" xml:space="preserve">
<value>Hinweise</value>
</data>
<data name="rbnPgGroupAttmt.Text" xml:space="preserve">
<value>Anhänge</value>
</data>
<data name="RibbonPageGroupCustom.Text" xml:space="preserve">
<value>Anhänge zu Beleg</value>
</data>
<data name="RibbonPageGroup2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAASZJREFUWEfN
l7ERwjAMRZmAinFeT8cMDMAgbENLyRZ0dKxAG+5zhAuKBDYOiOLd5YykPBJbdmZd180yGQ38mscF8I45
sAK2wB44AZc7utaYflOMYm3+EzUCC2ADHICuEMUqR7m2XpXAEtg5NyhFuaph6xYJrIGjU7QW1VCtKgEl
nJ1in6JaTxKvBPTIpvjnFtV8vI5IQJOm5Z2/Q7VvEzMS0My1SVOje7gCWrvFS63PG+SPYgJ0j7knoAZi
g0MaBMTKE1AXs4EhjQJbT0Ct1AaGNArsPQH1cxsY0ihw8gS0qdjAkEaBy18KpL+C9EmYvgyrGlEjbiNK
b8WieDNqEAg3I5G+HYvUA0lP6pFsKDHFk/joUNqTeizvSf0wGfLdT7MsRgO/5go/tJcKezdCSgAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Information</value>
</data>
<data name="RibbonPage2.Text" xml:space="preserve">
<value>RibbonPage2</value>
</data>

View File

@@ -29,7 +29,7 @@ Imports DigitalData.Modules.Interfaces
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.ZooFlow.Constants
Imports System.Collections.Generic
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox
@@ -124,8 +124,9 @@ Public Class frmValidator
Private listofControls As New List(Of String)
Private frmMessages As frmValidator_Messages
Private Class S
Private ReadOnly _SqlDataCache As New Dictionary(Of String, DataTable)(StringComparer.OrdinalIgnoreCase)
Private ReadOnly _SqlScalarCache As New Dictionary(Of String, Object)(StringComparer.OrdinalIgnoreCase)
Private Class Translation_Strings
Inherits My.Resources.frmValidator_Strings
End Class
@@ -316,6 +317,15 @@ Public Class frmValidator
_step = 6
MyValidationLogger.Debug("Step 6")
Dim profileLangAll = CURRENT_DT_PROFILE_LANGUAGE.AsEnumerable().
GroupBy(Function(r) r.Field(Of String)("TITLE")).
ToDictionary(Function(g) g.Key, Function(g) g.First())
Dim profileLangUser = CURRENT_DT_PROFILE_LANGUAGE.AsEnumerable().
Where(Function(r) r.Field(Of String)("LANGUAGE") = USER_LANGUAGE).
GroupBy(Function(r) r.Field(Of String)("TITLE")).
ToDictionary(Function(g) g.Key, Function(g) g.First())
' === MESSPUNKT 6: Profile-Properties verarbeiten ===
For Each oProfileRow As DataRow In CURRENT_DT_PROFILE.Rows
PROFIL_FINISH_SQL = oProfileRow.Item("SQL_BTN_FINISH")
@@ -334,28 +344,28 @@ Public Class frmValidator
perfLastCheck = DateTime.Now
End If
' === MESSPUNKT 7: Language-Strings laden (potentiell langsam) ===
' === MESSPUNKT 7: Language-Strings laden (optimiert) ===
Dim oProfileTitle As String = ""
Dim oProfileDescription As String = ""
For Each oRow As DataRow In CURRENT_DT_PROFILE_LANGUAGE.Rows
Console.WriteLine(oRow.Item("TITLE"))
If oRow.Item("TITLE") = $"PROFILE_TITLE{CURRENT_ProfilGUID}" Then
oProfileTitle = oRow.Item("STRING1")
ElseIf oRow.Item("TITLE") = $"PROFILE_DESCRIPTION{CURRENT_ProfilGUID}" Then
oProfileDescription = oRow.Item("STRING1")
ElseIf oRow.Item("TITLE") = $"PROFILE_FINAL_TEXT{CURRENT_ProfilGUID}" And oRow.Item("LANGUAGE") = USER_LANGUAGE Then
If oRow.Item("STRING1") <> "" Then
oProfileFinalText = oRow.Item("STRING1")
End If
ElseIf oRow.Item("TITLE") = $"PROFILE_REJECTION_CAPT{CURRENT_ProfilGUID}" Then
oProfileRejectionText = oRow.Item("STRING1")
ElseIf oRow.Item("TITLE") = $"PROFILE_NOT_RESPONSIBLE_CAPT{CURRENT_ProfilGUID}" And oRow.Item("LANGUAGE") = USER_LANGUAGE Then
oProfileNotResponsibleText = oRow.Item("STRING1")
ElseIf oRow.Item("TITLE") = $"PROFILE_NOT_RESPONSIBLE_QUEST{CURRENT_ProfilGUID}" And oRow.Item("LANGUAGE") = USER_LANGUAGE Then
oProfileNotResponsibleQuestion = oRow.Item("STRING1")
End If
Next
Dim titleKey = $"PROFILE_TITLE{CURRENT_ProfilGUID}"
Dim descKey = $"PROFILE_DESCRIPTION{CURRENT_ProfilGUID}"
Dim finalKey = $"PROFILE_FINAL_TEXT{CURRENT_ProfilGUID}"
Dim rejectKey = $"PROFILE_REJECTION_CAPT{CURRENT_ProfilGUID}"
Dim notRespKey = $"PROFILE_NOT_RESPONSIBLE_CAPT{CURRENT_ProfilGUID}"
Dim notRespQKey = $"PROFILE_NOT_RESPONSIBLE_QUEST{CURRENT_ProfilGUID}"
Dim row As DataRow = Nothing
If profileLangAll.TryGetValue(titleKey, row) Then oProfileTitle = row.Item("STRING1")
If profileLangAll.TryGetValue(descKey, row) Then oProfileDescription = row.Item("STRING1")
If profileLangAll.TryGetValue(rejectKey, row) Then oProfileRejectionText = row.Item("STRING1")
If profileLangUser.TryGetValue(finalKey, row) Then
If row.Item("STRING1").ToString <> "" Then oProfileFinalText = row.Item("STRING1")
End If
If profileLangUser.TryGetValue(notRespKey, row) Then oProfileNotResponsibleText = row.Item("STRING1")
If profileLangUser.TryGetValue(notRespQKey, row) Then oProfileNotResponsibleQuestion = row.Item("STRING1")
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach Language-Loop ({CURRENT_DT_PROFILE_LANGUAGE.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
@@ -556,7 +566,6 @@ Public Class frmValidator
End Try
End Sub
Private Sub frmValidation_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Try
_FormClosing = True
@@ -583,24 +592,20 @@ Public Class frmValidator
End Try
Try
Dim oDel = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID}"
Dim oSQL As String
If CURRENT_DOC_GUID <> 0 Then
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};" & vbNewLine &
$"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID};"
Else
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};"
End If
DatabaseFallback.ExecuteNonQueryECM(oDel)
DatabaseFallback.ExecuteNonQueryECM(oSQL)
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
If CURRENT_DOC_GUID <> 0 Then
Try
Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
DatabaseFallback.ExecuteNonQueryECM(sql)
'PRTF_PROFILE_FILES_WORK("FreeFile")
Catch ex As Exception
MyValidationLogger.Error(ex)
End Try
End If
Reset_CurrentReferences()
Try
@@ -764,10 +769,6 @@ Public Class frmValidator
Dim oGUID As String = row.Item("GUID")
Dim oReadOnly As Boolean = row.Item("READ_ONLY")
MyValidationLogger.Debug($"LoadSQLData for Control [{name}] with GUID [{oGUID}] ...")
'If clsPatterns.HasComplexPatterns(row.Item("SQL_UEBERPRUEFUNG")) Then
' Logger.Debug($"SQL [{row.Item("SQL_UEBERPRUEFUNG")}] has complex patterns - GUID: {oGUID}")
' Continue For
'End If
If oReadOnly = True Then
MyValidationLogger.Debug("Control for Index [{0}] is read-only. Continuing.")
@@ -786,15 +787,9 @@ Public Class frmValidator
Dim oSQLStatement As String = row.Item("SQL_UEBERPRUEFUNG")
Dim oConnectionId As Integer = row.Item("CONNECTION_ID")
'If clsPatterns.HasComplexPatterns(sqlStatement) Then
' Continue For
'End If
If IsNothing(oSQLStatement) Then
Continue For
End If
'oSql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID)
'oSql = clsPatterns.ReplaceInternalValues(oSql)
oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, PanelValidatorControl, True)
If IsNothing(oSQLStatement) Then
@@ -805,18 +800,22 @@ Public Class frmValidator
Continue For
End If
Dim oDTContent As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSQLStatement, DatabaseType.ECM) With {
.ConnectionId = oConnectionId
})
Dim oDTContent As DataTable = Nothing
Dim cacheKey = $"{oConnectionId}|{oSQLStatement}"
If IsNothing(oDTContent) Then
MyValidationLogger.Warn($"SQL-Query [{oSQLStatement}] for control {control.Name} is invalid.")
Exit Sub
If Not _SqlDataCache.TryGetValue(cacheKey, oDTContent) Then
oDTContent = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSQLStatement, DatabaseType.ECM) With {
.ConnectionId = oConnectionId
})
If IsNothing(oDTContent) Then
MyValidationLogger.Warn($"SQL-Query [{oSQLStatement}] for control {control.Name} is invalid.")
Exit Sub
End If
_SqlDataCache(cacheKey) = oDTContent
End If
Dim oValue
' Because LookupControl is a subtype of TextEdit,
' we need to check for LookupControl first!
If TypeOf control Is LookupControl3 Then
Try
Dim lookup As LookupControl3 = control
@@ -865,13 +864,10 @@ Public Class frmValidator
Dim oDataSource As DataTable = dataGridView.DataSource
If oDataSource Is Nothing OrElse oDataSource.Rows.Count = 0 Then
'dataGridView.DataSource = dt
Dim oDatatable As DataTable = oDTContent.Clone()
For Each oColumn As DataColumn In oDatatable.Columns
If oDataSource.Columns(oColumn.ColumnName) Is Nothing Then
'oDataSource.Columns.Add(oColumn)
oDataSource.Columns.Add(oColumn.ColumnName, oColumn.DataType)
End If
Next
@@ -1343,10 +1339,9 @@ Public Class frmValidator
Try
Dim CONTROL_ID = DirectCast(oTextBox.Tag, ClassControlCreator.ControlMetadata).Guid
Dim oSql = String.Format("SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oTextBox.Name)
Dim DTCONTROLS_UEBP As DataTable
DTCONTROLS_UEBP = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS_SQL_UEP", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
.FilterExpression = $"PROFIL_ID = {CURRENT_ProfilGUID} AND SQL_UEBERPRUEFUNG LIKE '%{oTextBox.Name}%'"
})
Dim oFilter = $"PROFIL_ID = {CURRENT_ProfilGUID} AND SQL_UEBERPRUEFUNG LIKE '%{oTextBox.Name}%'"
Dim DTCONTROLS_UEBP As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS_SQL_UEP", oSql, oFilter)
If Not IsNothing(DTCONTROLS_UEBP) AndAlso DTCONTROLS_UEBP.Rows.Count > 0 Then
For Each oRow As DataRow In DTCONTROLS_UEBP.Rows
@@ -1366,9 +1361,7 @@ Public Class frmValidator
MyValidationLogger.Error(ex)
MyValidationLogger.Info("Unexpected Error in Display SQL result for control: " & oRow.Item("NAME") & " - ERROR: " & ex.Message)
End Try
Next
End If
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
@@ -1549,9 +1542,9 @@ Public Class frmValidator
Try
Dim CONTROL_ID = DirectCast(dgv.Tag, ClassControlCreator.ControlMetadata).Guid
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
Dim DT As DataTable = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS", New GetDatatableOptions(sql, DatabaseType.ECM) With {
.FilterExpression = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
})
Dim oFilter = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
Dim DT As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS", sql, oFilter)
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
For Each ROW As DataRow In DT.Rows
@@ -1561,39 +1554,32 @@ Public Class frmValidator
Dim sql_Statement = ROW.Item("SQL_UEBERPRUEFUNG")
Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString()
sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue)
'Dim resultDT: DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1), $"oControlID[{CONTROL_ID}")
Dim resultDT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(sql_Statement, DatabaseType.ECM) With {
.ConnectionId = ROW.Item("CONNECTION_ID")
})
'Dim resultDT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(sql_Statement, DatabaseType.ECM) With {
' .ConnectionId = ROW.Item("CONNECTION_ID")
'})
Dim resultDT As DataTable = GetCachedDatatable(sql_Statement, ROW.Item("CONNECTION_ID"))
If resultDT.Rows.Count >= 1 Then
'Nur dediziert einen Wert zurückerhalten
For Each row1 As DataRow In resultDT.Rows
Dim result = row1.Item(0)
If Not IsNothing(result) Then
PanelValidatorControl.Controls(displayboxname).Text = result.ToString
Exit For
Else
PanelValidatorControl.Controls(displayboxname).Text = "RESULT = NOTHING"
Exit For
End If
Next
Else
PanelValidatorControl.Controls(displayboxname).Text = "NO RESULT"
End If
End If
Catch ex As Exception
MyValidationLogger.Error(ex)
MyValidationLogger.Info("Unexpected Error in Display SQL result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message)
End Try
Next
End If
Catch ex As Exception
@@ -1749,9 +1735,7 @@ Public Class frmValidator
oControlDataSql = clsPatterns.ReplaceAllValues(oControlDataSql, PanelValidatorControl, True)
Dim oControlDataResult As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oControlDataSql, DatabaseType.ECM) With {
.ConnectionId = oConnectionId
})
Dim oControlDataResult As DataTable = GetCachedDatatable(oControlDataSql, oConnectionId)
If oControlDataResult Is Nothing Then
Exit Sub
@@ -1962,9 +1946,10 @@ Public Class frmValidator
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_DependingControl_In_Action = True
'Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"LookupControl_DependingControls - oControlID: {oControlID}")
Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
})
'Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
' .ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
'})
Dim oDTDEPENDING_RESULT As DataTable = GetCachedDatatable(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"))
If Not IsNothing(oDTDEPENDING_RESULT) Then
Try
Dim oFound As Boolean = False
@@ -2090,11 +2075,10 @@ Public Class frmValidator
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_DependingControl_In_Action = True
MyValidationLogger.Debug($"_DependingControl_In_Action: Control {oDEPENDING_CtrlName} ...")
'Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"CheckBox_DependingControls - oControlID: {oControlID}")
Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
})
'Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
' .ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
'})
Dim oDTDEPENDING_RESULT As DataTable = GetCachedDatatable(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"))
Try
Dim oFound As Boolean = False
'Dim oDependingLookup As LookupControl3 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault()
@@ -2211,11 +2195,10 @@ Public Class frmValidator
_DependingColumn_In_Action = True
Try
'Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"LookupControl_DependingColumn - oDEPENDING_CONTROL_ID: {oDEPENDING_CONTROL_ID}")
Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oCONNID
})
'Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
' .ConnectionId = oCONNID
'})
Dim oDTDEPENDING_RESULT As DataTable = GetCachedDatatable(oSqlCommand, oCONNID)
If Not IsNothing(oDTDEPENDING_RESULT) Then
MyValidationLogger.Debug($"Trying to fill the DropDown (DC) for ControlID [{oDEPENDING_CONTROL_ID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ")
For Each oControl As Control In PanelValidatorControl.Controls
@@ -2284,7 +2267,6 @@ Public Class frmValidator
Public Sub OnCmbselectedIndex(sender As System.Object, e As System.EventArgs)
Dim oCombobox As Windows.Forms.ComboBox = sender
If oCombobox.SelectedIndex <> -1 And _Indexe_Loaded = True Then
' Dirty-Flag setzen
Dim oMeta As ClassControlCreator.ControlMetadata = oCombobox.Tag
oMeta.IsDirty = True
MyValidationLogger.Debug($"ComboBox [{oMeta.Name}] marked as dirty")
@@ -2294,9 +2276,10 @@ Public Class frmValidator
Try
Dim CONTROL_ID = DirectCast(oCombobox.Tag, ClassControlCreator.ControlMetadata).Guid
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
Dim DT As DataTable = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS", New GetDatatableOptions(sql, DatabaseType.ECM) With {
.FilterExpression = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
})
Dim oFilter = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
Dim DT As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS", sql, oFilter)
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
If _DependingControl_In_Action = True Then
Exit Sub
@@ -2318,7 +2301,6 @@ Public Class frmValidator
Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1))
_Step = 5
_DependingControl_In_Action = False
End If
Catch ex As Exception
MyValidationLogger.Error(ex)
@@ -2372,8 +2354,10 @@ Public Class frmValidator
Dim oConnectionId As Integer = oRowEnablingControl.Item("CONNECTION_ID")
Dim oENABLERESULT As Boolean = False
oENABLERESULT = DatabaseFallback.GetScalarValueWithConnection(oSqlCommand, oConnectionId)
Dim oResult = GetCachedScalar(oSqlCommand, oConnectionId)
If oResult IsNot Nothing AndAlso Not IsDBNull(oResult) Then
oENABLERESULT = CBool(oResult)
End If
Try
Dim oFound As Boolean = False
@@ -2444,14 +2428,11 @@ Public Class frmValidator
If oENABLE_GUID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid Then
MyValidationLogger.Debug($"Found the Control on panel which needs to be checked [{oENABLE_GUID}]...")
'Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD")), "", oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD"))
'Dim oConID = oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID")
Dim oConnectionId As Integer = oRowEnablingControl.ItemEx("CONNECTION_ID", 0)
Dim oSqlCommand = oRowEnablingControl.ItemEx("SQL_ENABLE_ON_LOAD", String.Empty)
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
Dim oResult = DatabaseFallback.GetScalarValueWithConnection(oSqlCommand, oConnectionId)
Dim oResult = GetCachedScalar(oSqlCommand, oConnectionId)
Try
MyValidationLogger.Debug($"Result of Enable SQL [{oResult}]...")
@@ -2547,6 +2528,48 @@ Public Class frmValidator
End If
End If
End Sub
Private Function GetControlMetaBySql(tableName As String, sql As String, filter As String) As DataTable
Dim dt As DataTable = Nothing
Dim cacheKey = $"META|{tableName}|{sql}|{filter}"
If Not _SqlDataCache.TryGetValue(cacheKey, dt) Then
dt = DatabaseFallback.GetDatatable(tableName, New GetDatatableOptions(sql, DatabaseType.ECM) With {
.FilterExpression = filter
})
If dt IsNot Nothing Then
_SqlDataCache(cacheKey) = dt
End If
End If
Return dt
End Function
Private Function GetCachedDatatable(sql As String, connectionId As Integer) As DataTable
Dim dt As DataTable = Nothing
Dim cacheKey = $"{connectionId}|{sql}"
If Not _SqlDataCache.TryGetValue(cacheKey, dt) Then
dt = DatabaseFallback.GetDatatable(New GetDatatableOptions(sql, DatabaseType.ECM) With {
.ConnectionId = connectionId
})
If dt IsNot Nothing Then
_SqlDataCache(cacheKey) = dt
End If
End If
Return dt
End Function
Private Function GetCachedScalar(sql As String, connectionId As Integer) As Object
Dim result As Object = Nothing
Dim cacheKey = $"SCALAR|{connectionId}|{sql}"
If Not _SqlScalarCache.TryGetValue(cacheKey, result) Then
result = DatabaseFallback.GetScalarValueWithConnection(sql, connectionId)
_SqlScalarCache(cacheKey) = result
End If
Return result
End Function
Private Function CheckValueExists(ByVal control As Control)
Try
@@ -2696,26 +2719,37 @@ Public Class frmValidator
Dim oResult As String
WMDocPathWindows = String.Empty
If OPERATION_MODE_FS <> ClassConstants.OpModeFS_ZF Then
Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})"
oResult = DatabaseFallback.GetScalarValueECM(oSQL)
MyValidationLogger.Debug($"First Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH({CURRENT_DOC_GUID},{_CheckStandard}) AS PATH0, dbo.FNPM_GET_FILEPATH({CURRENT_DOC_GUID},1) AS PATH1"
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
If oDT Is Nothing OrElse oDT.Rows.Count = 0 Then
MyValidationLogger.Warn("GetDocPathWindows: No result for file paths!")
Return False
End If
Dim path0 = ObjectEx.NotNull(oDT.Rows(0).Item("PATH0"), String.Empty).ToString
Dim path1 = ObjectEx.NotNull(oDT.Rows(0).Item("PATH1"), String.Empty).ToString
MyValidationLogger.Debug($"First Checking file [{path0}] exists?...")
If path0 <> String.Empty AndAlso File.Exists(path0) Then
oResult = path0
Else
MyValidationLogger.Info($"Getting filepath with standard 1 ...")
oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({CURRENT_DOC_GUID},1)"
oResult = DatabaseFallback.GetScalarValueECM(oSQL)
MyValidationLogger.Debug($"Second Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
MyValidationLogger.Info($"Second FileExists also returned false [{oResult}]!")
DocPathWindows = oResult
MyValidationLogger.Warn($"GetDocPathWindows: File [{oResult}] not existing!")
MyValidationLogger.Debug($"Second Checking file [{path1}] exists?...")
If path1 <> String.Empty AndAlso File.Exists(path1) Then
oResult = path1
Else
MyValidationLogger.Info($"Second FileExists also returned false [{path1}]!")
DocPathWindows = path1
MyValidationLogger.Warn($"GetDocPathWindows: File [{path1}] not existing!")
Return False
End If
End If
DocPathWindows = oResult
DocPathWindows = oResult
Else
oResult = ClassConstants.OpModeFS_ZF
MyValidationLogger.Debug($"GetDocPathWindows: Filestore is {ClassConstants.OpModeFS_ZF}")
@@ -2750,7 +2784,8 @@ Public Class frmValidator
Sub Load_Next_Document(first As Boolean)
_SqlDataCache.Clear()
_SqlScalarCache.Clear()
CURRENT_WMFILE = Nothing
activate_controls(False)
oErrMsgMissingInput = ""
@@ -2816,7 +2851,7 @@ Public Class frmValidator
' ############ Infos eintragen #################
If Amount_Docs2Validate > 1 Then
Dim omsg = String.Format(S.Verbleibende_Vorgänge___0_, Amount_Docs2Validate)
Dim omsg = String.Format(Translation_Strings.Verbleibende_Vorgänge___0_, Amount_Docs2Validate)
bsiInformation.Caption = omsg
bsiInformation.Caption = omsg
@@ -2908,7 +2943,7 @@ Public Class frmValidator
errormessage = oErrMsgMissingInput
frmError.ShowDialog()
Else
Dim oMsg = S.Ende_des_Profils___Keine_weiteren_Vorgänge
Dim oMsg = Translation_Strings.Ende_des_Profils___Keine_weiteren_Vorgänge
MyValidationLogger.Info(oMsg)
MyValidationLogger.Debug(oMsg)
activate_controls(True)
@@ -4335,6 +4370,10 @@ Public Class frmValidator
End Sub
Private Function ForceGridValidation()
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
Dim perfLastCheck As DateTime = perfStart
If LOG_HOTSPOTS Then MyValidationLogger.Info("[PERF] ForceGridValidation START")
Dim oValidation As Boolean = True
Dim oGrids = (From oControl In PanelValidatorControl.Controls
Where TypeOf oControl Is GridControl
@@ -4357,11 +4396,23 @@ Public Class frmValidator
MyValidationLogger.Debug("Validation of Grid [{0}] ended with Result: [{1}]", oGrid.Name, oValidation)
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Grid {oGrid.Name}: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
End If
If oValidation = False Then
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] ForceGridValidation ABORT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If
Return False
End If
Next
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] ForceGridValidation GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If
Return True
End Function
@@ -4460,6 +4511,7 @@ Public Class frmValidator
Return False
End Try
End Function
Sub Finish_WFStep(Optional includeFI As Boolean = True)
btnSave.Enabled = False
MyValidationLogger.Debug("Abschluss für DocID " & CURRENT_DOC_ID & " wird gestartet ...")
@@ -5235,7 +5287,7 @@ Public Class frmValidator
Case oControl.GetType = GetType(DevExpress.XtraEditors.TextEdit) Or oControl.GetType = GetType(MemoEdit)
Try
Dim oWrongInputMessage = S.Falsche_Eingabe
Dim oWrongInputMessage = Translation_Strings.Falsche_Eingabe
Dim oDevexpressTextEdit As DevExpress.XtraEditors.TextEdit = oControl
MyValidationLogger.Debug("Validating Textbox..")
@@ -5986,20 +6038,37 @@ Public Class frmValidator
End Sub
Sub Datei_ueberspringen()
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
Dim perfLastCheck As DateTime = perfStart
If LOG_HOTSPOTS Then MyValidationLogger.Info("[PERF] Datei_ueberspringen START")
Try
MyValidationLogger.Debug("Skipping document....(Datei_ueberspringen)")
'Das Dokument freigeben
'PRTF_PROFILE_FILES_WORK("FreeFile")
Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
DatabaseFallback.ExecuteNonQueryECM(sql)
Dim oSQL = $"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID}"
Dim oSQL = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID};" & vbNewLine &
$"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID};"
DatabaseFallback.ExecuteNonQueryECM(oSQL)
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach UPDATE+PRPM_FILES_NOT_INDEXED: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
End If
MyValidationLogger.Debug($"Skipped DocGUID {CURRENT_DOC_GUID}")
Load_Next_Document(False)
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach Load_Next_Document: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
End If
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Fehler bei Überspringen:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Finally
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Datei_ueberspringen GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If
End Try
End Sub
Private Function PRTF_PROFILE_FILES_WORK(ByVal pMode As String) As Boolean
@@ -6164,7 +6233,7 @@ Public Class frmValidator
My.Settings.Save()
End Sub
Private Sub btnSave_MouseHover(sender As Object, e As EventArgs)
ToolTip1.Show(S.F2_für_Speichern, btnSave)
ToolTip1.Show(Translation_Strings.F2_für_Speichern, btnSave)
End Sub
Sub Reload_Controls(SingleAttribute As String)
@@ -6232,7 +6301,7 @@ Public Class frmValidator
Private Sub bbtniRefresh_ItemClick(sender As Object, e As ItemClickEventArgs) Handles bbtniRefresh.ItemClick
Reload_Controls("")
Try
btnSave.Text = S.Speichern___Nächster_Vorgang__F2_
btnSave.Text = Translation_Strings.Speichern___Nächster_Vorgang__F2_
Catch ex As Exception
End Try
@@ -6241,9 +6310,32 @@ Public Class frmValidator
End Sub
Private Sub bbtniNext_ItemClick(sender As Object, e As ItemClickEventArgs) Handles bbtniNext.ItemClick
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
Dim perfLastCheck As DateTime = perfStart
If LOG_HOTSPOTS Then MyValidationLogger.Info("[PERF] bbtniNext_ItemClick START")
If ForceGridValidation() = True Then
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach ForceGridValidation: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
End If
Reset_CurrentReferences()
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach Reset_CurrentReferences: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
End If
Datei_ueberspringen()
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach Datei_ueberspringen: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
End If
End If
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] bbtniNext_ItemClick GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If
End Sub
@@ -6266,7 +6358,7 @@ Public Class frmValidator
If ForceGridValidation() = True Then
Dim oRESULT As String
'oRESULT = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("InputSaved")
oRESULT = S.Eingaben_gespeichert
oRESULT = Translation_Strings.Eingaben_gespeichert
If Check_UpdateIndexe() = True Then
SetStatusLabel($"Data saved", "LimeGreen")