2.7.9 an WISAG ausgegeben
This commit is contained in:
@@ -22,7 +22,6 @@ Public Class ClassConfig
|
|||||||
|
|
||||||
' Digital Data Settings
|
' Digital Data Settings
|
||||||
Public Property UserManagerPath As String = ""
|
Public Property UserManagerPath As String = ""
|
||||||
Public Property UserInheritance_ConfirmationByColumn As New List(Of UserInheritanceConfirmation)
|
|
||||||
|
|
||||||
' File Settings
|
' File Settings
|
||||||
Public Property VersionDelimiter As String = "~"
|
Public Property VersionDelimiter As String = "~"
|
||||||
@@ -52,9 +51,4 @@ Public Class ClassConfig
|
|||||||
Public Property ShowFile As Boolean = True
|
Public Property ShowFile As Boolean = True
|
||||||
Public Property ShowSearchesDirect As Boolean = True
|
Public Property ShowSearchesDirect As Boolean = True
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class UserInheritanceConfirmation
|
|
||||||
Public Property ColumnName As String = ""
|
|
||||||
Public Property Count As Integer
|
|
||||||
End Class
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
Imports System.ComponentModel
|
Imports System.ComponentModel
|
||||||
Imports System.Text.RegularExpressions
|
Imports System.Text.RegularExpressions
|
||||||
Imports DD_LIB_Standards
|
|
||||||
Imports DevExpress.Utils
|
Imports DevExpress.Utils
|
||||||
Imports DevExpress.XtraEditors
|
Imports DevExpress.XtraEditors
|
||||||
Imports DevExpress.XtraEditors.Controls
|
Imports DevExpress.XtraEditors.Controls
|
||||||
@@ -11,13 +10,10 @@ Imports DevExpress.XtraGrid.Columns
|
|||||||
Imports DevExpress.XtraGrid.Views.Base
|
Imports DevExpress.XtraGrid.Views.Base
|
||||||
Imports DevExpress.XtraGrid.Views.Grid
|
Imports DevExpress.XtraGrid.Views.Grid
|
||||||
Imports DigitalData.Controls.LookupGrid
|
Imports DigitalData.Controls.LookupGrid
|
||||||
Imports DigitalData.Modules.Language.Utils
|
|
||||||
Imports DigitalData.GUIs.Common
|
Imports DigitalData.GUIs.Common
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Language
|
|
||||||
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
|
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
|
||||||
Imports DigitalData.Modules.EDMI.API.Constants
|
Imports DigitalData.Modules.EDMI.API.Constants
|
||||||
Imports DigitalData.Modules.Language.DataTableEx
|
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
|
|
||||||
Public Class ClassControlCreator
|
Public Class ClassControlCreator
|
||||||
@@ -362,7 +358,7 @@ Public Class ClassControlCreator
|
|||||||
Try
|
Try
|
||||||
oControl.Text = row.Item("CTRL_CAPTION_LANG")
|
oControl.Text = row.Item("CTRL_CAPTION_LANG")
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Warn("Label [{0}] does not have a translation!", oControl.Name)
|
Logger.Warn("⚠️ Label [{0}] does not have a translation!", oControl.Name)
|
||||||
oControl.Text = row.Item("CTRL_TEXT")
|
oControl.Text = row.Item("CTRL_TEXT")
|
||||||
End Try
|
End Try
|
||||||
Dim oAlignment = row.ItemEx("TEXT_ALIGNMENT", "Near")
|
Dim oAlignment = row.ItemEx("TEXT_ALIGNMENT", "Near")
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ Public Class ClassFinalizeDoc
|
|||||||
End If
|
End If
|
||||||
Return indexierung_erfolgreich
|
Return indexierung_erfolgreich
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Warn("Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString)
|
LOGGER.Warn("⚠️ Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString)
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
Imports DLLLicenseManager
|
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
||||||
Imports DigitalData.Modules.Logging
|
|
||||||
Imports DigitalData.Modules.Config
|
Imports DigitalData.Modules.Config
|
||||||
Imports DigitalData.Modules.EDMI.API
|
|
||||||
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
|
|
||||||
Imports DigitalData.Modules.EDMI.API.Constants
|
|
||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
Imports DigitalData.Modules.EDMI.API
|
||||||
|
Imports DigitalData.Modules.EDMI.API.Constants
|
||||||
|
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports DLLLicenseManager
|
||||||
|
Imports DocumentFormat.OpenXml.Spreadsheet
|
||||||
|
|
||||||
Public Class ClassInit
|
Public Class ClassInit
|
||||||
Public _lizenzManager As ClassLicenseManager
|
Public _lizenzManager As ClassLicenseManager
|
||||||
@@ -20,21 +21,16 @@ Public Class ClassInit
|
|||||||
My.Application.Info.CompanyName,
|
My.Application.Info.CompanyName,
|
||||||
My.Application.Info.ProductName)
|
My.Application.Info.ProductName)
|
||||||
|
|
||||||
|
|
||||||
LOGGER = LOGCONFIG.GetLogger("taskFLOW")
|
LOGGER = LOGCONFIG.GetLogger("taskFLOW")
|
||||||
|
|
||||||
LOGGER.Info("## taskFLOW started - {0}", Now)
|
LOGGER.Info("## taskFLOW started - {0}", Now)
|
||||||
Try
|
Try
|
||||||
Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log")
|
Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log")
|
||||||
|
|
||||||
For Each file As IO.FileInfo In directory.GetFiles
|
For Each file As IO.FileInfo In directory.GetFiles
|
||||||
If (Now - file.CreationTime).Days > 29 Then
|
If (Now - file.CreationTime).Days > 29 Then
|
||||||
file.Delete()
|
file.Delete()
|
||||||
Else
|
Else
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|
||||||
@@ -59,6 +55,15 @@ Public Class ClassInit
|
|||||||
|
|
||||||
CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
|
CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
|
||||||
LOGGER.Info("ConfigManager loaded")
|
LOGGER.Info("ConfigManager loaded")
|
||||||
|
LOGGER.Info($"oUserAppDataPath will be: {oUserAppDataPath}")
|
||||||
|
|
||||||
|
If oStartupPath <> oCommonAppDataPath Then
|
||||||
|
LOGGER.Info($"oCommonAppDataPath will be: {oCommonAppDataPath}")
|
||||||
|
LOGGER.Info($"oStartupPath will be: {oStartupPath}")
|
||||||
|
Else
|
||||||
|
LOGGER.Info($"oStartupPath is the same as oCommonAppDataPath: {oCommonAppDataPath}")
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
|
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
|
||||||
LOGGER.Debug("Test Connection String loaded")
|
LOGGER.Debug("Test Connection String loaded")
|
||||||
@@ -85,11 +90,11 @@ Public Class ClassInit
|
|||||||
|
|
||||||
LOGGER.Info($"EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
|
LOGGER.Info($"EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
|
||||||
Else
|
Else
|
||||||
LOGGER.Warn($"#### !!! Could not Connect to APPServer [{CONFIG.Config.EDMIAppServer}]!!! ###")
|
LOGGER.Warn($"#### ⚠️ !!! Could not Connect to APPServer [{CONFIG.Config.EDMIAppServer}]!!! ###")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Warn($"Could not initialize the AppServer: {ex.Message}")
|
LOGGER.Warn($"⚠️ Could not initialize the AppServer: {ex.Message}")
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
Else
|
Else
|
||||||
@@ -244,12 +249,12 @@ Public Class ClassInit
|
|||||||
Try
|
Try
|
||||||
oLICDATE = CDate(split(1))
|
oLICDATE = CDate(split(1))
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Warn($"Error Converting Value {split(1)} to DATE")
|
LOGGER.Warn($"⚠️ Error Converting Value {split(1)} to DATE")
|
||||||
Try
|
Try
|
||||||
Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
||||||
oLICDATE = expenddt
|
oLICDATE = expenddt
|
||||||
Catch ex1 As Exception
|
Catch ex1 As Exception
|
||||||
LOGGER.Warn($"Second Error Converting DATE with ParseExact - Setting Date = Today")
|
LOGGER.Warn($"⚠️Second Error Converting DATE with ParseExact - Setting Date = Today")
|
||||||
oLICDATE = Now.Date
|
oLICDATE = Now.Date
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
@@ -356,6 +361,7 @@ Public Class ClassInit
|
|||||||
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
|
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
|
||||||
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
|
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
|
||||||
|
|
||||||
|
USER_MODULE_ID = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ID")
|
||||||
|
|
||||||
|
|
||||||
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
|
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
|
||||||
@@ -385,7 +391,7 @@ Public Class ClassInit
|
|||||||
USER_RIGHT_FILE_DELETE = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL")), False, DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL"))
|
USER_RIGHT_FILE_DELETE = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL")), False, DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL"))
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Warn("Error in USER_RIGHT_FILE_DELETE: " & ex.Message)
|
LOGGER.Warn("⚠️ Error in USER_RIGHT_FILE_DELETE: " & ex.Message)
|
||||||
USER_RIGHT_FILE_DELETE = False
|
USER_RIGHT_FILE_DELETE = False
|
||||||
End Try
|
End Try
|
||||||
USER_DATE_FORMAT = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT")
|
USER_DATE_FORMAT = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT")
|
||||||
@@ -525,7 +531,10 @@ Public Class ClassInit
|
|||||||
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
|
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
|
||||||
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
|
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
oStopWatch.Done()
|
oStopWatch.Done()
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Error(ex)
|
LOGGER.Error(ex)
|
||||||
LOGGER.Info($"Unexpected Error in InitBasics - last Step [{oStep}]: {ex.Message}", True)
|
LOGGER.Info($"Unexpected Error in InitBasics - last Step [{oStep}]: {ex.Message}", True)
|
||||||
@@ -546,6 +555,48 @@ Public Class ClassInit
|
|||||||
LOGGER.Warn($"no profiles for user: '{USER_USERNAME}' configured - Check SQL [{oSql}]!", False)
|
LOGGER.Warn($"no profiles for user: '{USER_USERNAME}' configured - Check SQL [{oSql}]!", False)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
oSql = "SELECT KEY_NAME, VALUE_TEXT1
|
||||||
|
FROM TBDD_USER_KEY_VALUE_PAIR
|
||||||
|
WHERE FK_USER_ID = " & USER_ID & " And [FK_MODULE_ID] = '" & USER_MODULE_ID & "'"
|
||||||
|
|
||||||
|
Dim oDT_USER_KEY_VALUE_PAIR As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSql, DatabaseType.ECM))
|
||||||
|
If UserInheritance_ConfirmationByColumn Is Nothing Then
|
||||||
|
UserInheritance_ConfirmationByColumn = New List(Of UserInheritanceConfirmation)()
|
||||||
|
End If
|
||||||
|
If Not IsNothing(oDT_USER_KEY_VALUE_PAIR) Then
|
||||||
|
For Each row As DataRow In oDT_USER_KEY_VALUE_PAIR.Rows
|
||||||
|
Dim keyName As String = row("KEY_NAME").ToString()
|
||||||
|
|
||||||
|
' Prüfe ob es sich um einen Inheritance-Key handelt
|
||||||
|
If keyName.StartsWith("INHERITANCE_CONFIRM_") Then
|
||||||
|
Dim columnName As String = keyName.Replace("INHERITANCE_CONFIRM_", "")
|
||||||
|
Dim countValue As Integer = Integer.Parse(row("VALUE_TEXT1").ToString())
|
||||||
|
|
||||||
|
Dim existingEntry = UserInheritance_ConfirmationByColumn.FirstOrDefault(
|
||||||
|
Function(e) String.Equals(e.ColumnName, columnName, StringComparison.OrdinalIgnoreCase))
|
||||||
|
|
||||||
|
If existingEntry IsNot Nothing Then
|
||||||
|
existingEntry.Count = countValue
|
||||||
|
Else
|
||||||
|
UserInheritance_ConfirmationByColumn.Add(
|
||||||
|
New UserInheritanceConfirmation With {
|
||||||
|
.ColumnName = columnName,
|
||||||
|
.Count = countValue
|
||||||
|
})
|
||||||
|
End If
|
||||||
|
|
||||||
|
LOGGER.Debug("Loaded inheritance confirmation for column [{0}] with count [{1}]", columnName, countValue)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
LOGGER.Warn("⚠️ oDT_USER_KEY_VALUE_PAIR is nothing")
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
oStopWatch.Done()
|
oStopWatch.Done()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Error(ex)
|
LOGGER.Error(ex)
|
||||||
|
|||||||
@@ -232,9 +232,12 @@ Public Class ClassParamRefresh
|
|||||||
Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
|
Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
|
||||||
Try
|
Try
|
||||||
If CBool(oParam) = True Then
|
If CBool(oParam) = True Then
|
||||||
LOGGER.Info("InheritanceMsgAmount wird auf 0 zurückgesetzt")
|
LOGGER.Info("Inheritance_Counts werden auf 0 zurückgesetzt bzw gelöscht")
|
||||||
|
Dim oDELETESQL = "DELETE FROM TBDD_USER_KEY_VALUE_PAIR
|
||||||
|
WHERE FK_USER_ID = " & USER_ID & " And [FK_MODULE_ID] = '" & USER_MODULE_ID & "' AND KEY_NAME LIKE 'INHERITANCE_CONFIRM_%'"
|
||||||
|
DatabaseECM.ExecuteNonQuery(oDELETESQL)
|
||||||
|
|
||||||
CONFIG.Config.UserInheritance_ConfirmationByColumn = Nothing
|
UserInheritance_ConfirmationByColumn = Nothing
|
||||||
CONFIG.Save()
|
CONFIG.Save()
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ LOGGER.Error(ex)
|
|||||||
Public Function GetTypeOfIndex(ByVal indexname As String) As Integer
|
Public Function GetTypeOfIndex(ByVal indexname As String) As Integer
|
||||||
Try
|
Try
|
||||||
If IsNothing(Me.oSession) Then
|
If IsNothing(Me.oSession) Then
|
||||||
LOGGER.Warn("GetTypeOfIndex: WMSession is nothing")
|
LOGGER.Warn("⚠️ GetTypeOfIndex: WMSession is nothing")
|
||||||
Return Nothing
|
Return Nothing
|
||||||
End If
|
End If
|
||||||
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname)
|
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname)
|
||||||
@@ -272,7 +272,7 @@ LOGGER.Error(ex)
|
|||||||
Public Function GetIndicesByObjecttype(ByVal Objecttype_name As String) As String()
|
Public Function GetIndicesByObjecttype(ByVal Objecttype_name As String) As String()
|
||||||
Try
|
Try
|
||||||
If IsNothing(Me.oSession) Then
|
If IsNothing(Me.oSession) Then
|
||||||
LOGGER.Warn("GetIndicesByObjecttype: WMSession is nothing")
|
LOGGER.Warn("⚠️ GetIndicesByObjecttype: WMSession is nothing")
|
||||||
Return Nothing
|
Return Nothing
|
||||||
End If
|
End If
|
||||||
Dim oObjectType As WMObject
|
Dim oObjectType As WMObject
|
||||||
@@ -325,7 +325,7 @@ LOGGER.Error(ex)
|
|||||||
Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject
|
Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject
|
||||||
Try
|
Try
|
||||||
If IsNothing(Me.oSession) Then
|
If IsNothing(Me.oSession) Then
|
||||||
LOGGER.Warn("GetObjecttypeByName: WMSession is nothing")
|
LOGGER.Warn("⚠️ GetObjecttypeByName: WMSession is nothing")
|
||||||
Return Nothing
|
Return Nothing
|
||||||
End If
|
End If
|
||||||
' alle Objekttypen auslesen
|
' alle Objekttypen auslesen
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ Namespace ControlCreator
|
|||||||
Dim oConnectionId As Integer = oRow.ItemEx("CONNECTION_ID", 0)
|
Dim oConnectionId As Integer = oRow.ItemEx("CONNECTION_ID", 0)
|
||||||
Dim oSqlCommand As String = oRow.ItemEx("SQL_COMMAND", "")
|
Dim oSqlCommand As String = oRow.ItemEx("SQL_COMMAND", "")
|
||||||
|
|
||||||
If oConnectionId > 0 And oSqlCommand <> "" Then
|
If oSqlCommand <> "" Then
|
||||||
Try
|
Try
|
||||||
Dim oComboboxDataTable As DataTable = Nothing
|
Dim oComboboxDataTable As DataTable = Nothing
|
||||||
Dim oColumnName As String = oRow.Item("SPALTENNAME")
|
Dim oColumnName As String = oRow.Item("SPALTENNAME")
|
||||||
@@ -93,7 +93,7 @@ Namespace ControlCreator
|
|||||||
_GridTables.Item(pControlId).Add(oColumnName, oRepositoryItem)
|
_GridTables.Item(pControlId).Add(oColumnName, oRepositoryItem)
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Warn("Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), pControlName)
|
_Logger.Warn("⚠️ Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), pControlName)
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
End If
|
End If
|
||||||
@@ -321,7 +321,7 @@ Namespace ControlCreator
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Warn("Error in CustomRowCellEdit for [{0}]", e.CellValue)
|
_Logger.Warn("⚠️ Error in CustomRowCellEdit for [{0}]", e.CellValue)
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
@@ -484,16 +484,17 @@ Namespace ControlCreator
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function GetInheritanceConfirmationEntry(columnName As String) As ClassConfig.UserInheritanceConfirmation
|
Private Function GetInheritanceConfirmationEntry(columnName As String) As UserInheritanceConfirmation
|
||||||
Dim entries = CONFIG.Config.UserInheritance_ConfirmationByColumn
|
Dim entries = UserInheritance_ConfirmationByColumn
|
||||||
|
|
||||||
If entries Is Nothing Then
|
If entries Is Nothing Then
|
||||||
entries = New List(Of ClassConfig.UserInheritanceConfirmation)()
|
entries = New List(Of UserInheritanceConfirmation)()
|
||||||
CONFIG.Config.UserInheritance_ConfirmationByColumn = entries
|
UserInheritance_ConfirmationByColumn = entries
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim entry = entries.FirstOrDefault(Function(item) String.Equals(item.ColumnName, columnName, StringComparison.OrdinalIgnoreCase))
|
Dim entry = entries.FirstOrDefault(Function(item) String.Equals(item.ColumnName, columnName, StringComparison.OrdinalIgnoreCase))
|
||||||
If entry Is Nothing Then
|
If entry Is Nothing Then
|
||||||
entry = New ClassConfig.UserInheritanceConfirmation With {
|
entry = New UserInheritanceConfirmation With {
|
||||||
.ColumnName = columnName,
|
.ColumnName = columnName,
|
||||||
.Count = 0
|
.Count = 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
Imports WINDREAMLib
|
Imports DigitalData.Modules.Config
|
||||||
Imports DigitalData.Modules.Config
|
|
||||||
Imports DigitalData.Modules.Logging
|
|
||||||
Imports DigitalData.Modules.EDMI.API
|
|
||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.ZooFlow
|
Imports DigitalData.Modules.EDMI.API
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Windream
|
Imports DigitalData.Modules.Windream
|
||||||
|
Imports DigitalData.Modules.ZooFlow
|
||||||
|
Imports taskFLOW.ClassConfig
|
||||||
|
Imports WINDREAMLib
|
||||||
|
|
||||||
Module ModuleRuntimeVariables
|
Module ModuleRuntimeVariables
|
||||||
|
|
||||||
@@ -62,6 +63,7 @@ Module ModuleRuntimeVariables
|
|||||||
|
|
||||||
Public Property USER_IS_ADMIN As Boolean = False
|
Public Property USER_IS_ADMIN As Boolean = False
|
||||||
Public Property USER_ID = 0
|
Public Property USER_ID = 0
|
||||||
|
Public Property USER_MODULE_ID = 0
|
||||||
Public Property USER_PRENAME = ""
|
Public Property USER_PRENAME = ""
|
||||||
Public Property USER_SURNAME = ""
|
Public Property USER_SURNAME = ""
|
||||||
Public Property USER_SHORTNAME = ""
|
Public Property USER_SHORTNAME = ""
|
||||||
@@ -80,6 +82,11 @@ Module ModuleRuntimeVariables
|
|||||||
Public Property USER_USERNAME_ORG As String = ""
|
Public Property USER_USERNAME_ORG As String = ""
|
||||||
Public Property USER_GHOST_MODE_ACTIVE As Boolean = False
|
Public Property USER_GHOST_MODE_ACTIVE As Boolean = False
|
||||||
Public Property USER_GHOST_MODE_USRNAME As String = ""
|
Public Property USER_GHOST_MODE_USRNAME As String = ""
|
||||||
|
Public Class UserInheritanceConfirmation
|
||||||
|
Public Property ColumnName As String = ""
|
||||||
|
Public Property Count As Integer
|
||||||
|
End Class
|
||||||
|
Public Property UserInheritance_ConfirmationByColumn As New List(Of UserInheritanceConfirmation)
|
||||||
|
|
||||||
Public Property FORCE_LAYOUT_OVERVIEW As Boolean = False
|
Public Property FORCE_LAYOUT_OVERVIEW As Boolean = False
|
||||||
Public Property SHOW_CHARTS As Boolean = True
|
Public Property SHOW_CHARTS As Boolean = True
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ Public Class Validator
|
|||||||
' Logger.Error(ex)
|
' Logger.Error(ex)
|
||||||
' Dim st As New StackTrace(True)
|
' Dim st As New StackTrace(True)
|
||||||
' st = New StackTrace(ex, True)
|
' st = New StackTrace(ex, True)
|
||||||
' Logger.Warn("Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True)
|
' LOGGER.Warn("⚠️ Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True)
|
||||||
' Return False
|
' Return False
|
||||||
' End Try
|
' End Try
|
||||||
'End Function
|
'End Function
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ Imports DevExpress.XtraGrid
|
|||||||
Imports DevExpress.XtraGrid.Views.Grid
|
Imports DevExpress.XtraGrid.Views.Grid
|
||||||
Imports DevExpress.XtraGrid.Columns
|
Imports DevExpress.XtraGrid.Columns
|
||||||
Imports DevExpress.XtraEditors
|
Imports DevExpress.XtraEditors
|
||||||
Imports DigitalData.Modules.Language
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Defines common Functions for Checking for and replacing placeholders.
|
''' Defines common Functions for Checking for and replacing placeholders.
|
||||||
''' This Class also includes a child class `Pattern` for passing around Patterns.
|
''' This Class also includes a child class `Pattern` for passing around Patterns.
|
||||||
@@ -72,7 +71,72 @@ Public Class clsPatterns
|
|||||||
_ControlLookupCache = Nothing
|
_ControlLookupCache = Nothing
|
||||||
LOGGER.Debug("Control cache cleared")
|
LOGGER.Debug("Control cache cleared")
|
||||||
End Sub
|
End Sub
|
||||||
|
''' <summary>
|
||||||
|
''' Aktualisiert den Wert eines Controls im Cache
|
||||||
|
''' </summary>
|
||||||
|
Public Shared Sub UpdateControlInCache(controlName As String, newValue As Object)
|
||||||
|
SyncLock _ControlLookupCache ' Thread-Safety
|
||||||
|
If _ControlLookupCache Is Nothing OrElse Not _ControlLookupCache.ContainsKey(controlName) Then
|
||||||
|
LOGGER.Warn($"Control [{controlName}] not found in cache for update")
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Hole das Control aus dem Cache
|
||||||
|
Dim ctrl As Control = _ControlLookupCache(controlName)
|
||||||
|
|
||||||
|
' Aktualisiere den WERT des Controls basierend auf seinem Typ
|
||||||
|
Try
|
||||||
|
Select Case ctrl.GetType
|
||||||
|
Case GetType(TextEdit), GetType(MemoEdit)
|
||||||
|
DirectCast(ctrl, BaseEdit).EditValue = newValue
|
||||||
|
|
||||||
|
Case GetType(LookupControl3)
|
||||||
|
Dim lookup = DirectCast(ctrl, LookupControl3)
|
||||||
|
If TypeOf newValue Is List(Of String) Then
|
||||||
|
lookup.Properties.SelectedValues = DirectCast(newValue, List(Of String))
|
||||||
|
ElseIf TypeOf newValue Is String Then
|
||||||
|
lookup.Properties.SelectedValues = New List(Of String) From {newValue.ToString()}
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case GetType(Windows.Forms.ComboBox)
|
||||||
|
DirectCast(ctrl, ComboBox).Text = newValue?.ToString()
|
||||||
|
|
||||||
|
Case GetType(CheckBox)
|
||||||
|
If TypeOf newValue Is Boolean Then
|
||||||
|
DirectCast(ctrl, CheckBox).Checked = CBool(newValue)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case GetType(DateTimePicker)
|
||||||
|
If TypeOf newValue Is Date Then
|
||||||
|
DirectCast(ctrl, DateTimePicker).Value = CDate(newValue)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
LOGGER.Warn($"Unsupported control type for cache update: {ctrl.GetType.Name}")
|
||||||
|
End Select
|
||||||
|
|
||||||
|
LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]")
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
LOGGER.Error(ex)
|
||||||
|
LOGGER.Warn($"Failed to update control [{controlName}]: {ex.Message}")
|
||||||
|
End Try
|
||||||
|
End SyncLock
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Batch-Update für mehrere Controls
|
||||||
|
''' </summary>
|
||||||
|
Public Shared Sub UpdateMultipleControlsInCache(updates As Dictionary(Of String, Object))
|
||||||
|
If updates Is Nothing OrElse updates.Count = 0 Then Return
|
||||||
|
|
||||||
|
SyncLock _ControlLookupCache
|
||||||
|
For Each kvp In updates
|
||||||
|
UpdateControlInCache(kvp.Key, kvp.Value)
|
||||||
|
Next
|
||||||
|
LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
|
||||||
|
End SyncLock
|
||||||
|
End Sub
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Wraps a pattern-type and -value in the common format: {#type#value}
|
''' Wraps a pattern-type and -value in the common format: {#type#value}
|
||||||
''' </summary>
|
''' </summary>
|
||||||
@@ -206,14 +270,16 @@ Public Class clsPatterns
|
|||||||
End Sub
|
End Sub
|
||||||
Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String
|
Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String
|
||||||
Dim oResult = pInput
|
Dim oResult = pInput
|
||||||
' Cache beim ersten Aufruf erstellen:
|
' Cache beim ersten Aufruf erstellen mit Lock
|
||||||
If _ControlLookupCache Is Nothing Then
|
SyncLock GetType(clsPatterns) ' Class-Level Lock
|
||||||
_ControlLookupCache = New Dictionary(Of String, Control)()
|
If _ControlLookupCache Is Nothing Then
|
||||||
For Each ctrl As Control In oPanel.Controls
|
_ControlLookupCache = New Dictionary(Of String, Control)()
|
||||||
RecursiveAddToCache(ctrl, _ControlLookupCache)
|
For Each ctrl As Control In oPanel.Controls
|
||||||
Next
|
RecursiveAddToCache(ctrl, _ControlLookupCache)
|
||||||
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
|
Next
|
||||||
End If
|
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
|
||||||
|
End If
|
||||||
|
End SyncLock
|
||||||
Try
|
Try
|
||||||
|
|
||||||
Dim oTryCounter = 0
|
Dim oTryCounter = 0
|
||||||
@@ -236,14 +302,23 @@ Public Class clsPatterns
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
|
LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
|
||||||
|
' Beim Cache-Zugriff Lock verwenden
|
||||||
Dim oControl As Control = Nothing
|
Dim oControl As Control = Nothing
|
||||||
If Not _ControlLookupCache.TryGetValue(oControlName, oControl) Then
|
SyncLock _ControlLookupCache
|
||||||
LOGGER.Warn($"Control [{oControlName}] not found in cache!")
|
If Not _ControlLookupCache.TryGetValue(oControlName, oControl) Then
|
||||||
' Fallback: Rekursive Suche als letzte Maßnahme
|
LOGGER.Warn($"Control [{oControlName}] not found in cache!")
|
||||||
|
' Fallback außerhalb des Lock
|
||||||
|
End If
|
||||||
|
End SyncLock
|
||||||
|
|
||||||
|
' Fallback außerhalb des Lock
|
||||||
|
If oControl Is Nothing Then
|
||||||
oControl = oPanel.Controls.Find(oControlName, True).FirstOrDefault()
|
oControl = oPanel.Controls.Find(oControlName, True).FirstOrDefault()
|
||||||
If oControl IsNot Nothing Then
|
If oControl IsNot Nothing Then
|
||||||
LOGGER.Info($"Control [{oControlName}] found via fallback search. Adding to cache.")
|
LOGGER.Info($"Control [{oControlName}] found via fallback. Adding to cache.")
|
||||||
_ControlLookupCache(oControlName) = oControl
|
SyncLock _ControlLookupCache
|
||||||
|
_ControlLookupCache(oControlName) = oControl
|
||||||
|
End SyncLock
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -308,7 +383,7 @@ Public Class clsPatterns
|
|||||||
Dim oView As GridView = oGrid.FocusedView
|
Dim oView As GridView = oGrid.FocusedView
|
||||||
|
|
||||||
If oColumnName = String.Empty Then
|
If oColumnName = String.Empty Then
|
||||||
LOGGER.Warn("Used placeholder for Table [{0}] but without Column Name!", oControlName)
|
LOGGER.Warn("⚠️ Used placeholder for Table [{0}] but without Column Name!", oControlName)
|
||||||
oReplaceValue = ERROR_REPLACE_VALUE
|
oReplaceValue = ERROR_REPLACE_VALUE
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -317,7 +392,7 @@ Public Class clsPatterns
|
|||||||
SingleOrDefault()
|
SingleOrDefault()
|
||||||
|
|
||||||
If oColumn?.SummaryItem?.SummaryValue Is Nothing Then
|
If oColumn?.SummaryItem?.SummaryValue Is Nothing Then
|
||||||
LOGGER.Warn("Column [{0}] not found in Grid!", oColumnName)
|
LOGGER.Warn("⚠️ Column [{0}] not found in Grid!", oColumnName)
|
||||||
oReplaceValue = ERROR_REPLACE_VALUE
|
oReplaceValue = ERROR_REPLACE_VALUE
|
||||||
Else
|
Else
|
||||||
oReplaceValue = oColumn.SummaryItem.SummaryValue
|
oReplaceValue = oColumn.SummaryItem.SummaryValue
|
||||||
@@ -333,7 +408,7 @@ Public Class clsPatterns
|
|||||||
End If
|
End If
|
||||||
oResult = ReplacePattern(oResult, PATTERN_CTRL, oReplaceValue)
|
oResult = ReplacePattern(oResult, PATTERN_CTRL, oReplaceValue)
|
||||||
Else
|
Else
|
||||||
LOGGER.Warn("Could not get a Control for [{0}].", oControlName)
|
LOGGER.Warn("⚠️ Could not get a Control for [{0}].", oControlName)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
oTryCounter += 1
|
oTryCounter += 1
|
||||||
@@ -341,7 +416,7 @@ Public Class clsPatterns
|
|||||||
Return oResult
|
Return oResult
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Error(ex)
|
LOGGER.Error(ex)
|
||||||
LOGGER.Warn("Error in ReplaceControlValues:" & ex.Message)
|
LOGGER.Warn("⚠️ Error in ReplaceControlValues:" & ex.Message)
|
||||||
Return oResult
|
Return oResult
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
2
app/TaskFlow/frmMain.Designer.vb
generated
2
app/TaskFlow/frmMain.Designer.vb
generated
@@ -246,7 +246,7 @@ Partial Class frmMain
|
|||||||
'
|
'
|
||||||
'Panel1
|
'Panel1
|
||||||
'
|
'
|
||||||
Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke
|
Me.Panel1.BackColor = System.Drawing.Color.Transparent
|
||||||
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
|
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
|
||||||
Me.Panel1.Controls.Add(Me.Panel2)
|
Me.Panel1.Controls.Add(Me.Panel2)
|
||||||
Me.Panel1.Controls.Add(Me.NavBarControl1)
|
Me.Panel1.Controls.Add(Me.NavBarControl1)
|
||||||
|
|||||||
@@ -125,7 +125,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
|
||||||
CAAAAk1TRnQBSQFMAgEBAgEAAaABCwGgAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
CAAAAk1TRnQBSQFMAgEBAgEAAbABCwGwAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -918,7 +918,7 @@ Public Class frmMassValidator
|
|||||||
|
|
||||||
Else
|
Else
|
||||||
'not implemented
|
'not implemented
|
||||||
LOGGER.Warn("Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname)
|
LOGGER.Warn("⚠️ Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If oResultTable.Rows.Count = 1 Then
|
If oResultTable.Rows.Count = 1 Then
|
||||||
@@ -929,7 +929,7 @@ Public Class frmMassValidator
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
LOGGER.Warn("Result Table is nothing!")
|
LOGGER.Warn("⚠️ Result Table is nothing!")
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)
|
LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ Public Class frmMonitor
|
|||||||
Try
|
Try
|
||||||
oDocID = GridView1.GetFocusedRowCellValue(GridView1.Columns("ObjectID"))
|
oDocID = GridView1.GetFocusedRowCellValue(GridView1.Columns("ObjectID"))
|
||||||
Catch ex1 As Exception
|
Catch ex1 As Exception
|
||||||
LOGGER.Warn("Could not get Doc/ObjectReference: " & ex.Message)
|
LOGGER.Warn("⚠️ Could not get Doc/ObjectReference: " & ex.Message)
|
||||||
MsgBox("Could not get Doc/ObjectReference: " & ex.Message, MsgBoxStyle.Critical, "Load_Detail")
|
MsgBox("Could not get Doc/ObjectReference: " & ex.Message, MsgBoxStyle.Critical, "Load_Detail")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End Try
|
End Try
|
||||||
|
|||||||
@@ -129,7 +129,8 @@ Public Class frmValidator
|
|||||||
Private _SqlControlsByGuid As Dictionary(Of Integer, List(Of DataRow))
|
Private _SqlControlsByGuid As Dictionary(Of Integer, List(Of DataRow))
|
||||||
Private _LookupControlsByRepository As Dictionary(Of RepositoryItemLookupControl3, LookupControl3)
|
Private _LookupControlsByRepository As Dictionary(Of RepositoryItemLookupControl3, LookupControl3)
|
||||||
Private _CachedFinalIndexing As DataTable = Nothing
|
Private _CachedFinalIndexing As DataTable = Nothing
|
||||||
|
Private _isUpdatingLookup As Boolean = False
|
||||||
|
Private _suppressLookupEvents As Boolean = False
|
||||||
Private Class Translation_Strings
|
Private Class Translation_Strings
|
||||||
Inherits My.Resources.frmValidator_Strings
|
Inherits My.Resources.frmValidator_Strings
|
||||||
End Class
|
End Class
|
||||||
@@ -186,7 +187,7 @@ Public Class frmValidator
|
|||||||
' === MESSPUNKT 1: Start ===
|
' === MESSPUNKT 1: Start ===
|
||||||
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
|
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
|
||||||
Dim perfLastCheck As DateTime = perfStart
|
Dim perfLastCheck As DateTime = perfStart
|
||||||
If LOG_HOTSPOTS Then MyValidationLogger.Info($"[PERF] frmValidation_Load START")
|
If LOG_HOTSPOTS Then MyValidationLogger.Info($"[PERF frmValidation_Load] START")
|
||||||
|
|
||||||
Try
|
Try
|
||||||
MyValidationLogger.Debug("###frmValidation_Load###")
|
MyValidationLogger.Debug("###frmValidation_Load###")
|
||||||
@@ -215,7 +216,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Initialisierung: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Initialisierung: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -257,7 +258,7 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Position/Size: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Position/Size: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -277,7 +278,7 @@ Public Class frmValidator
|
|||||||
DocumentViewer1.Init(LOGCONFIG, GDPICTURE_LICENSE, oDVSettings)
|
DocumentViewer1.Init(LOGCONFIG, GDPICTURE_LICENSE, oDVSettings)
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach DocumentViewer.Init: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach DocumentViewer.Init: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -295,7 +296,7 @@ Public Class frmValidator
|
|||||||
DTVWCONTROLS_INDEX.Select(oExpression, "Y_LOC, X_LOC").CopyToDataTable(DTVWCONTROL_INDEX, LoadOption.PreserveChanges)
|
DTVWCONTROLS_INDEX.Select(oExpression, "Y_LOC, X_LOC").CopyToDataTable(DTVWCONTROL_INDEX, LoadOption.PreserveChanges)
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach DTVWCONTROL_INDEX laden ({DTVWCONTROL_INDEX.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach DTVWCONTROL_INDEX laden ({DTVWCONTROL_INDEX.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -354,7 +355,7 @@ Public Class frmValidator
|
|||||||
CURRENT_PROFILE_LOG_INDEX = PROFIL_LOGINDEX
|
CURRENT_PROFILE_LOG_INDEX = PROFIL_LOGINDEX
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Profile-Properties: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Profile-Properties: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -382,7 +383,7 @@ Public Class frmValidator
|
|||||||
If profileLangUser.TryGetValue(notRespQKey, row) Then oProfileNotResponsibleQuestion = row.Item("STRING1")
|
If profileLangUser.TryGetValue(notRespQKey, row) Then oProfileNotResponsibleQuestion = row.Item("STRING1")
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Language-Loop ({CURRENT_DT_PROFILE_LANGUAGE.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Language-Loop ({CURRENT_DT_PROFILE_LANGUAGE.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -434,7 +435,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Debug("Buttontext validation loaded")
|
MyValidationLogger.Debug("Buttontext validation loaded")
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Button-Setup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Button-Setup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -521,7 +522,7 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Rejection/NR-Setup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Rejection/NR-Setup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -557,10 +558,10 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Debug("Right_Delete: " & USER_RIGHT_FILE_DELETE.ToString)
|
MyValidationLogger.Debug("Right_Delete: " & USER_RIGHT_FILE_DELETE.ToString)
|
||||||
|
|
||||||
' === MESSPUNKT 10: Create_Controls (KRITISCH - wahrscheinlich größter Hotspot) ===
|
' === MESSPUNKT 10: Create_Controls (KRITISCH - wahrscheinlich größter Hotspot) ===
|
||||||
If LOG_HOTSPOTS Then MyValidationLogger.Info($"[PERF] Vor Create_Controls")
|
If LOG_HOTSPOTS Then MyValidationLogger.Info($"[PERF frmValidation_Load] Vor Create_Controls")
|
||||||
Create_Controls()
|
Create_Controls()
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] Nach Create_Controls: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Create_Controls: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -570,7 +571,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
' === MESSPUNKT 11: Gesamt-Zeit ===
|
' === MESSPUNKT 11: Gesamt-Zeit ===
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF] GESAMT frmValidation_Load: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF frmValidation_Load] GESAMT frmValidation_Load: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -581,6 +582,14 @@ Public Class frmValidator
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub frmValidation_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
Private Sub frmValidation_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||||
|
Dim perfStart As DateTime = DateTime.MinValue
|
||||||
|
Dim perfLastCheck As DateTime = DateTime.MinValue
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
perfStart = DateTime.Now
|
||||||
|
perfLastCheck = perfStart
|
||||||
|
MyValidationLogger.Info("[PERF frmValidation_FormClosing] START")
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
_FormClosing = True
|
_FormClosing = True
|
||||||
|
|
||||||
@@ -589,6 +598,12 @@ Public Class frmValidator
|
|||||||
frmMessages.Close()
|
frmMessages.Close()
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Messages-Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
' Position und Größe speichern
|
' Position und Größe speichern
|
||||||
My.Settings.frmValidatorSize = Me.Size
|
My.Settings.frmValidatorSize = Me.Size
|
||||||
@@ -598,9 +613,24 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
MyValidationLogger.Info("Error in Load FormLayout: " & ex.Message)
|
MyValidationLogger.Info("Error in Load FormLayout: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Settings.Save: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
My.Settings.frmValidatorSize = Me.Size
|
My.Settings.frmValidatorSize = Me.Size
|
||||||
My.Settings.Save()
|
My.Settings.Save()
|
||||||
If INACTIVITY_DURATION <> 0 Then frmMain.Timer_Inactivity_Reset_Disable("FormClosing")
|
|
||||||
|
If INACTIVITY_DURATION <> 0 Then
|
||||||
|
frmMain.Timer_Inactivity_Reset_Disable("FormClosing")
|
||||||
|
End If
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Timer-Reset: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
@@ -608,13 +638,20 @@ Public Class frmValidator
|
|||||||
Try
|
Try
|
||||||
Dim oSQL As String
|
Dim oSQL As String
|
||||||
If CURRENT_DOC_GUID <> 0 Then
|
If CURRENT_DOC_GUID <> 0 Then
|
||||||
|
Dim oPRoc = String.Format("EXEC PRTF_PROFILE_FILES_WORK {0},{1},{2},'FreeFile'", CURRENT_DOC_ID, CURRENT_ProfilGUID, USER_ID)
|
||||||
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};" & vbNewLine &
|
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};"
|
oPRoc
|
||||||
Else
|
Else
|
||||||
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};"
|
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
DatabaseFallback.ExecuteNonQueryECM(oSQL)
|
DatabaseFallback.ExecuteNonQueryECM(oSQL)
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach DB-Cleanup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||||
@@ -622,25 +659,43 @@ Public Class frmValidator
|
|||||||
|
|
||||||
Reset_CurrentReferences()
|
Reset_CurrentReferences()
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Reset_CurrentReferences: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
If Not IsNothing(DocumentViewer1) Then
|
If Not IsNothing(DocumentViewer1) Then
|
||||||
DocumentViewer1.CloseDocument()
|
DocumentViewer1.CloseDocument()
|
||||||
DocumentViewer1.Done()
|
DocumentViewer1.Done()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach DocumentViewer.Done: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn($"Unexpected error in DocumentViewerValidator.Done: {ex.Message}")
|
MyValidationLogger.Warn($"Unexpected error in DocumentViewerValidator.Done: {ex.Message}")
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
Try
|
Try
|
||||||
_frmValidatorSearch.Close()
|
_frmValidatorSearch.Close()
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach ValidatorSearch.Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
perfLastCheck = DateTime.Now
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
If LOG_HOTSPOTS Then
|
||||||
|
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Sub Reset_CurrentReferences()
|
Sub Reset_CurrentReferences()
|
||||||
MyValidationLogger.Info("Attention: Reset_CurrentReferences....")
|
|
||||||
|
|
||||||
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
|
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
|
||||||
DT_AdditionalSearches_Resultset_Docs.Clear()
|
DT_AdditionalSearches_Resultset_Docs.Clear()
|
||||||
End If
|
End If
|
||||||
@@ -858,7 +913,7 @@ Public Class frmValidator
|
|||||||
lookup.Properties.ValueMember = oDTContent.Columns.Item(0).ColumnName
|
lookup.Properties.ValueMember = oDTContent.Columns.Item(0).ColumnName
|
||||||
lookup.Properties.DisplayMember = oDTContent.Columns.Item(0).ColumnName
|
lookup.Properties.DisplayMember = oDTContent.Columns.Item(0).ColumnName
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn("Error in LookUpLoadSQLData: " & ex.Message)
|
MyValidationLogger.Warn("⚠️ Error in LookUpLoadSQLData: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
ElseIf TypeOf control Is DevExpress.XtraEditors.TextEdit Or TypeOf control Is MemoEdit Then
|
ElseIf TypeOf control Is DevExpress.XtraEditors.TextEdit Or TypeOf control Is MemoEdit Then
|
||||||
@@ -870,7 +925,7 @@ Public Class frmValidator
|
|||||||
DirectCast(control, BaseEdit).EditValue = value
|
DirectCast(control, BaseEdit).EditValue = value
|
||||||
oValue = value
|
oValue = value
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn("Error in TextBoxLoadSQLData: " & ex.Message)
|
MyValidationLogger.Warn("⚠️ Error in TextBoxLoadSQLData: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
ElseIf TypeOf control Is Windows.Forms.ComboBox Then
|
ElseIf TypeOf control Is Windows.Forms.ComboBox Then
|
||||||
Try
|
Try
|
||||||
@@ -887,7 +942,7 @@ Public Class frmValidator
|
|||||||
oMyComboBox.SelectedIndex = oselectedIndex
|
oMyComboBox.SelectedIndex = oselectedIndex
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn("Error in ComboBoxLoadSQLData: " & ex.Message)
|
MyValidationLogger.Warn("⚠️ Error in ComboBoxLoadSQLData: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
ElseIf TypeOf control Is GridControl Then
|
ElseIf TypeOf control Is GridControl Then
|
||||||
@@ -913,7 +968,7 @@ Public Class frmValidator
|
|||||||
dataGridView.DataSource = oDataSource
|
dataGridView.DataSource = oDataSource
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn("Error in GridControlSQLData: " & ex.Message)
|
MyValidationLogger.Warn("⚠️ Error in GridControlSQLData: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -1362,6 +1417,9 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Debug($"Control [{oMeta.Name}] marked as dirty")
|
MyValidationLogger.Debug($"Control [{oMeta.Name}] marked as dirty")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' *** NEU: Cache aktualisieren ***
|
||||||
|
clsPatterns.UpdateControlInCache(oTextbox.Name, oTextbox.EditValue)
|
||||||
|
|
||||||
SetControlValues_FromControl(oTextbox)
|
SetControlValues_FromControl(oTextbox)
|
||||||
Controls2beEnabled(oTextbox.Name)
|
Controls2beEnabled(oTextbox.Name)
|
||||||
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
|
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
|
||||||
@@ -1444,8 +1502,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Info("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message)
|
MyValidationLogger.Info("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
If oTextBox.Name <> last_control.Name Then
|
If oTextBox.Name <> last_control.Name Then
|
||||||
SendKeys.Send("{TAB}")
|
Me.SelectNextControl(oTextBox, True, True, True, True)
|
||||||
_ControlHandleStarted = True
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -1458,12 +1515,12 @@ Public Class frmValidator
|
|||||||
Dim oControlID = DirectCast(oButton.Tag, ClassControlCreator.ControlMetadata).Guid
|
Dim oControlID = DirectCast(oButton.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||||
Dim oSQL = ControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL_UEBERPRUEFUNG")
|
Dim oSQL = ControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL_UEBERPRUEFUNG")
|
||||||
If IsNothing(oSQL) Then
|
If IsNothing(oSQL) Then
|
||||||
MyValidationLogger.Warn("onCustomButtonClick - SQL_UEBERPRUEFUNG IS NOTHING")
|
MyValidationLogger.Warn("⚠️ onCustomButtonClick - SQL_UEBERPRUEFUNG IS NOTHING")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Check_UpdateIndexe() = False Then
|
If Check_UpdateIndexe() = False Then
|
||||||
MyValidationLogger.Warn("onCustomButtonClick - Check_UpdateIndexe = False >> Exit Click")
|
MyValidationLogger.Warn("⚠️ onCustomButtonClick - Check_UpdateIndexe = False >> Exit Click")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
Override_SQLCommand = ControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL2")
|
Override_SQLCommand = ControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL2")
|
||||||
@@ -1659,7 +1716,7 @@ Public Class frmValidator
|
|||||||
Public Sub onLookUpselectedValue(sender As Object, SelectedValues As List(Of String))
|
Public Sub onLookUpselectedValue(sender As Object, SelectedValues As List(Of String))
|
||||||
Try
|
Try
|
||||||
MyValidationLogger.Debug("onLookUpselectedValue")
|
MyValidationLogger.Debug("onLookUpselectedValue")
|
||||||
If _FormLoaded = False Then
|
If _FormLoaded = False Or _suppressLookupEvents Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1668,38 +1725,61 @@ Public Class frmValidator
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
|
' *** WICHTIG: Auch hier globalen Guard setzen ***
|
||||||
Dim oLookup As LookupControl3 = Nothing
|
_suppressLookupEvents = True
|
||||||
|
Try
|
||||||
|
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
|
||||||
|
Dim oLookup As LookupControl3 = Nothing
|
||||||
|
|
||||||
If _LookupControlsByRepository IsNot Nothing Then
|
If _LookupControlsByRepository IsNot Nothing Then
|
||||||
_LookupControlsByRepository.TryGetValue(oRepositoryItem, oLookup)
|
_LookupControlsByRepository.TryGetValue(oRepositoryItem, oLookup)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If oLookup Is Nothing Then
|
If oLookup Is Nothing Then
|
||||||
oLookup = TryCast(oRepositoryItem.OwnerEdit, LookupControl3)
|
oLookup = TryCast(oRepositoryItem.OwnerEdit, LookupControl3)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If oLookup Is Nothing Then
|
If oLookup Is Nothing Then
|
||||||
MyValidationLogger.Warn("onLookUpselectedValue: LookupControl not found for RepositoryItem")
|
MyValidationLogger.Warn("⚠️ onLookUpselectedValue: LookupControl not found for RepositoryItem")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
LookupControl_DependingControls(oLookup, SelectedValues)
|
LookupControl_DependingControls(oLookup, SelectedValues)
|
||||||
LookupControl_EnablingControls(oLookup, SelectedValues)
|
LookupControl_EnablingControls(oLookup, SelectedValues)
|
||||||
LookupControl_DependingColumn(oLookup, SelectedValues)
|
LookupControl_DependingColumn(oLookup, SelectedValues)
|
||||||
|
|
||||||
|
Finally
|
||||||
|
_suppressLookupEvents = False
|
||||||
|
End Try
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn("Unexpected error in onLookUpselectedValue - " + ex.Message)
|
MyValidationLogger.Warn("⚠️ Unexpected error in onLookUpselectedValue - " + ex.Message)
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
|
_suppressLookupEvents = False ' Sicherheits-Reset
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
Private _lookupUpdateDepth As Integer = 0
|
||||||
|
Private Const MAX_LOOKUP_DEPTH As Integer = 5
|
||||||
|
|
||||||
Public Sub LookupListChanged(sender As Object, SelectedValues As List(Of String))
|
Public Sub LookupListChanged(sender As Object, SelectedValues As List(Of String))
|
||||||
If _FormLoaded = False Or PanelValidatorControl.Enabled = False Then
|
If _FormLoaded = False Or PanelValidatorControl.Enabled = False Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' *** GLOBALER GUARD: Blockiert ALLE Lookup-Updates während Verarbeitung ***
|
||||||
|
If _suppressLookupEvents Then
|
||||||
|
MyValidationLogger.Debug("LookupListChanged suppressed (global guard active)")
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
' *** DEPTH-GUARD: Verhindert extrem tiefe Rekursionen ***
|
||||||
|
If _lookupUpdateDepth >= MAX_LOOKUP_DEPTH Then
|
||||||
|
MyValidationLogger.Warn($"Lookup recursion depth exceeded ({_lookupUpdateDepth}). Aborting.")
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
Try
|
Try
|
||||||
|
_suppressLookupEvents = True ' <-- Globaler Guard aktivieren
|
||||||
|
_lookupUpdateDepth += 1
|
||||||
Dim oLookup As RepositoryItemLookupControl3 = sender
|
Dim oLookup As RepositoryItemLookupControl3 = sender
|
||||||
Dim oLookupControl As LookupControl3 = Nothing
|
Dim oLookupControl As LookupControl3 = Nothing
|
||||||
|
|
||||||
@@ -1724,8 +1804,11 @@ Public Class frmValidator
|
|||||||
oMeta.IsDirty = True
|
oMeta.IsDirty = True
|
||||||
MyValidationLogger.Debug($"LookupControl [{oMeta.Name}] marked as dirty")
|
MyValidationLogger.Debug($"LookupControl [{oMeta.Name}] marked as dirty")
|
||||||
listChangedLookup.Add(oLookupControl.Name)
|
listChangedLookup.Add(oLookupControl.Name)
|
||||||
|
' *** Cache aktualisieren ***
|
||||||
|
clsPatterns.UpdateControlInCache(oLookupControl.Name, SelectedValues)
|
||||||
Else
|
Else
|
||||||
listChangedLookup.Add(oLookup.Name)
|
listChangedLookup.Add(oLookup.Name)
|
||||||
|
clsPatterns.UpdateControlInCache(oLookup.Name, SelectedValues)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
|
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
|
||||||
@@ -1744,10 +1827,13 @@ Public Class frmValidator
|
|||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
|
Finally
|
||||||
|
_lookupUpdateDepth -= 1
|
||||||
|
_suppressLookupEvents = False ' <-- Globaler Guard deaktivieren
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub GridView_CellValueChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs)
|
Private Sub GridView_CellValueChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs)
|
||||||
Dim oView As GridView = sender
|
Dim oView As GridView = sender
|
||||||
@@ -1768,6 +1854,8 @@ Public Class frmValidator
|
|||||||
Dim oMeta As ClassControlCreator.ControlMetadata = oCheckbox.Tag
|
Dim oMeta As ClassControlCreator.ControlMetadata = oCheckbox.Tag
|
||||||
oMeta.IsDirty = True
|
oMeta.IsDirty = True
|
||||||
MyValidationLogger.Debug($"CheckBox [{oMeta.Name}] marked as dirty")
|
MyValidationLogger.Debug($"CheckBox [{oMeta.Name}] marked as dirty")
|
||||||
|
' *** NEU: Cache aktualisieren ***
|
||||||
|
clsPatterns.UpdateControlInCache(oCheckbox.Name, oCheckbox.Checked)
|
||||||
|
|
||||||
Try
|
Try
|
||||||
CheckBox_DependingControls(oCheckbox)
|
CheckBox_DependingControls(oCheckbox)
|
||||||
@@ -1855,7 +1943,7 @@ Public Class frmValidator
|
|||||||
Dim oControlId2Set As Integer
|
Dim oControlId2Set As Integer
|
||||||
|
|
||||||
'If Not Integer.TryParse(oControl2Set, oControlId2Set) Then
|
'If Not Integer.TryParse(oControl2Set, oControlId2Set) Then
|
||||||
' Logger.Warn("Careful: the oControl2Set contains no CONTROL_GUID")
|
' LOGGER.Warn("⚠️ Careful: the oControl2Set contains no CONTROL_GUID")
|
||||||
' Exit Sub
|
' Exit Sub
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
@@ -1991,7 +2079,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
MyValidationLogger.Warn("SetControlData used on unsupported control")
|
MyValidationLogger.Warn("⚠️ SetControlData used on unsupported control")
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
@@ -2011,36 +2099,38 @@ Public Class frmValidator
|
|||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub LookupControl_DependingControls(LookupControl As LookupControl3, SelectedValues As List(Of String))
|
Private Sub LookupControl_DependingControls(LookupControl As LookupControl3, SelectedValues As List(Of String))
|
||||||
Dim oLOOKUPValue = SelectedValues.Item(0
|
Dim oLOOKUPValue = SelectedValues.Item(0)
|
||||||
)
|
|
||||||
Dim oLOOKUPName = LookupControl.Name
|
Dim oLOOKUPName = LookupControl.Name
|
||||||
MyValidationLogger.Debug($"oLOOKUPValue Is [{oLOOKUPValue}]!")
|
MyValidationLogger.Debug($"oLOOKUPValue Is [{oLOOKUPValue}]!")
|
||||||
|
|
||||||
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
|
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||||
Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
|
Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
|
||||||
Dim oExpression = $"SQL_UEBERPRUEFUNG Like '%#CTRL#{oLOOKUPName}%'"
|
Dim oExpression = $"SQL_UEBERPRUEFUNG Like '%#CTRL#{oLOOKUPName}%'"
|
||||||
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
|
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
|
||||||
|
|
||||||
If oFilteredDatatable.Rows.Count > 0 Then
|
If oFilteredDatatable.Rows.Count > 0 Then
|
||||||
MyValidationLogger.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
|
MyValidationLogger.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Debug($"Sorry NO depending controls!!")
|
MyValidationLogger.Debug($"Sorry NO depending controls!!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
For Each oRowDependingControl As DataRow In oFilteredDatatable.Rows
|
For Each oRowDependingControl As DataRow In oFilteredDatatable.Rows
|
||||||
Dim oDEPENDING_GUID = oRowDependingControl.Item("GUID")
|
Dim oDEPENDING_GUID = oRowDependingControl.Item("GUID")
|
||||||
Dim oDEPENDING_CtrlName = oRowDependingControl.Item("NAME")
|
Dim oDEPENDING_CtrlName = oRowDependingControl.Item("NAME")
|
||||||
MyValidationLogger.Debug($"Control {oDEPENDING_CtrlName} is depending on lookUp {oLOOKUPName}..")
|
MyValidationLogger.Debug($"Control {oDEPENDING_CtrlName} is depending on lookUp {oLOOKUPName}..")
|
||||||
|
|
||||||
If _DependingControl_In_Action = True Then
|
If _DependingControl_In_Action = True Then
|
||||||
MyValidationLogger.Info($"..but _dependingControl_in_action = True ==> Exit Sub!")
|
MyValidationLogger.Info($"..but _dependingControl_in_action = True ==> Exit Sub!")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then
|
If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then
|
||||||
Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG"))
|
Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG"))
|
||||||
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
|
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
|
||||||
_DependingControl_In_Action = 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 = GetCachedDatatable(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"))
|
Dim oDTDEPENDING_RESULT As DataTable = GetCachedDatatable(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"))
|
||||||
|
|
||||||
If Not IsNothing(oDTDEPENDING_RESULT) Then
|
If Not IsNothing(oDTDEPENDING_RESULT) Then
|
||||||
Try
|
Try
|
||||||
Dim oFound As Boolean = False
|
Dim oFound As Boolean = False
|
||||||
@@ -2049,72 +2139,78 @@ Public Class frmValidator
|
|||||||
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then
|
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then
|
||||||
oFound = True
|
oFound = True
|
||||||
MyValidationLogger.Debug($"Got the depending control ID:{oDEPENDING_GUID}..Setting the values..")
|
MyValidationLogger.Debug($"Got the depending control ID:{oDEPENDING_GUID}..Setting the values..")
|
||||||
Select Case True
|
|
||||||
Case oControl.GetType() = GetType(DevExpress.XtraEditors.TextEdit) Or oControl.GetType() = GetType(MemoEdit)
|
' *** WICHTIG: Während Suppress-Modus Updates durchführen ***
|
||||||
Try
|
Dim wasSuppressed = _suppressLookupEvents
|
||||||
Dim oValue As Object = oDTDEPENDING_RESULT.Rows(0).Item(0)
|
_suppressLookupEvents = True
|
||||||
MyValidationLogger.Debug(String.Format("Setting EditValue with value [{0}]", oValue))
|
|
||||||
oValue = ObjectEx.NotNull(Of Object)(oValue, Nothing)
|
Try
|
||||||
|
Select Case True
|
||||||
|
Case oControl.GetType() = GetType(DevExpress.XtraEditors.TextEdit) Or oControl.GetType() = GetType(MemoEdit)
|
||||||
Try
|
Try
|
||||||
'oControl.Text = oValue
|
Dim oValue As Object = oDTDEPENDING_RESULT.Rows(0).Item(0)
|
||||||
DirectCast(oControl, DevExpress.XtraEditors.TextEdit).EditValue = oValue
|
MyValidationLogger.Debug(String.Format("Setting EditValue with value [{0}]", oValue))
|
||||||
|
oValue = ObjectEx.NotNull(Of Object)(oValue, Nothing)
|
||||||
|
Try
|
||||||
|
DirectCast(oControl, DevExpress.XtraEditors.TextEdit).EditValue = oValue
|
||||||
|
Catch ex As Exception
|
||||||
|
MyValidationLogger.Warn($"Unexpected error in Checking oTEXT: {ex.Message}")
|
||||||
|
End Try
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Warn($"Unexpected error in Checking oTEXT: {ex.Message}")
|
MyValidationLogger.Warn($"Unexpected error in Dim oTEXT = oDTDEPENDING_RESULT.Rows(0).Item(0): {ex.Message}")
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
MyValidationLogger.Warn($"Unexpected error in Dim oTEXT = oDTDEPENDING_RESULT.Rows(0).Item(0): {ex.Message}")
|
|
||||||
End Try
|
|
||||||
|
|
||||||
Dim oColor
|
|
||||||
Try
|
|
||||||
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor"))
|
|
||||||
oControl.BackColor = oColor
|
|
||||||
Catch ex As Exception
|
|
||||||
oControl.BackColor = Color.White
|
|
||||||
End Try
|
|
||||||
Try
|
|
||||||
Dim btntext = oDTDEPENDING_RESULT.Rows(0).Item("btnFinishCaption")
|
|
||||||
btnSave.Text = btntext & " (F2)"
|
|
||||||
Catch ex As Exception
|
|
||||||
|
|
||||||
End Try
|
|
||||||
Try
|
|
||||||
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("btnFinishColor"))
|
|
||||||
btnSave.BackColor = oColor
|
|
||||||
Catch ex As Exception
|
|
||||||
btnSave.BackColor = Color.Transparent
|
|
||||||
End Try
|
|
||||||
Case oControl.GetType() = GetType(LookupControl3)
|
|
||||||
Dim oDependingLookup As LookupControl3 = oControl
|
|
||||||
oDependingLookup.Properties.DataSource = oDTDEPENDING_RESULT
|
|
||||||
oDependingLookup.Properties.ValueMember = oDTDEPENDING_RESULT.Columns.Item(0).ColumnName
|
|
||||||
oDependingLookup.Properties.DisplayMember = oDTDEPENDING_RESULT.Columns.Item(0).ColumnName
|
|
||||||
Case oControl.GetType() = GetType(GridControl)
|
|
||||||
'ClassControlCreator.GridTables
|
|
||||||
Case oControl.GetType() = GetType(CheckBox)
|
|
||||||
Try
|
|
||||||
Dim oCheckState = CBool(oDTDEPENDING_RESULT.Rows(0).Item(0))
|
|
||||||
Dim oDependingChk As CheckBox = oControl
|
|
||||||
oDependingChk.CheckState = oCheckState
|
|
||||||
Dim oColor
|
Dim oColor
|
||||||
Try
|
Try
|
||||||
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor"))
|
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor"))
|
||||||
oControl.BackColor = oColor
|
oControl.BackColor = oColor
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
oControl.BackColor = Color.White
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
Dim btntext = oDTDEPENDING_RESULT.Rows(0).Item("btnFinishCaption")
|
||||||
|
btnSave.Text = btntext & " (F2)"
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("btnFinishColor"))
|
||||||
|
btnSave.BackColor = oColor
|
||||||
|
Catch ex As Exception
|
||||||
|
btnSave.BackColor = Color.Transparent
|
||||||
End Try
|
End Try
|
||||||
Catch ex As Exception
|
|
||||||
MyValidationLogger.Warn($"Unexpected error in Checking oCheckBoxDependingControlLOOKUP: {ex.Message}")
|
|
||||||
End Try
|
|
||||||
|
|
||||||
|
Case oControl.GetType() = GetType(LookupControl3)
|
||||||
|
Dim oDependingLookup As LookupControl3 = oControl
|
||||||
|
oDependingLookup.Properties.DataSource = oDTDEPENDING_RESULT
|
||||||
|
oDependingLookup.Properties.ValueMember = oDTDEPENDING_RESULT.Columns.Item(0).ColumnName
|
||||||
|
oDependingLookup.Properties.DisplayMember = oDTDEPENDING_RESULT.Columns.Item(0).ColumnName
|
||||||
|
|
||||||
|
Case oControl.GetType() = GetType(GridControl)
|
||||||
|
' GridControl-Handling
|
||||||
|
|
||||||
|
Case oControl.GetType() = GetType(CheckBox)
|
||||||
|
Try
|
||||||
|
Dim oCheckState = CBool(oDTDEPENDING_RESULT.Rows(0).Item(0))
|
||||||
|
Dim oDependingChk As CheckBox = oControl
|
||||||
|
oDependingChk.CheckState = oCheckState
|
||||||
|
Dim oColor
|
||||||
|
Try
|
||||||
|
oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor"))
|
||||||
|
oControl.BackColor = oColor
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
Catch ex As Exception
|
||||||
|
MyValidationLogger.Warn($"Unexpected error in Checking oCheckBoxDependingControlLOOKUP: {ex.Message}")
|
||||||
|
End Try
|
||||||
|
End Select
|
||||||
|
Finally
|
||||||
|
' Restore previous state
|
||||||
|
_suppressLookupEvents = wasSuppressed
|
||||||
|
End Try
|
||||||
|
|
||||||
End Select
|
|
||||||
_DependingControl_In_Action = False
|
_DependingControl_In_Action = False
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If oFound = False Then
|
If oFound = False Then
|
||||||
@@ -2127,19 +2223,10 @@ Public Class frmValidator
|
|||||||
Else
|
Else
|
||||||
MyValidationLogger.Warn($"Datatable for Depending Controls was nothing! Check the SQL [{oSqlCommand}]")
|
MyValidationLogger.Warn($"Datatable for Depending Controls was nothing! Check the SQL [{oSqlCommand}]")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
SendKeys.Send("{TAB}")
|
|
||||||
_ControlHandleStarted = True
|
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
|
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
If oFilteredDatatable.Rows.Count = 1 Then
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub CheckBox_DependingControls(pCheckbox As CheckBox)
|
Private Sub CheckBox_DependingControls(pCheckbox As CheckBox)
|
||||||
Dim oCheckboxname = pCheckbox.Name
|
Dim oCheckboxname = pCheckbox.Name
|
||||||
@@ -2249,8 +2336,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Warn($"Error while setting depending control-value for [{oDEPENDING_CtrlName}]: " & ex.Message)
|
MyValidationLogger.Warn($"Error while setting depending control-value for [{oDEPENDING_CtrlName}]: " & ex.Message)
|
||||||
_DependingControl_In_Action = False
|
_DependingControl_In_Action = False
|
||||||
End Try
|
End Try
|
||||||
SendKeys.Send("{TAB}")
|
|
||||||
_ControlHandleStarted = True
|
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
|
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
|
||||||
End If
|
End If
|
||||||
@@ -2360,6 +2446,8 @@ Public Class frmValidator
|
|||||||
If oCombobox.SelectedIndex <> -1 And _Indexe_Loaded = True Then
|
If oCombobox.SelectedIndex <> -1 And _Indexe_Loaded = True Then
|
||||||
Dim oMeta As ClassControlCreator.ControlMetadata = oCombobox.Tag
|
Dim oMeta As ClassControlCreator.ControlMetadata = oCombobox.Tag
|
||||||
oMeta.IsDirty = True
|
oMeta.IsDirty = True
|
||||||
|
' *** NEU: Cache aktualisieren ***
|
||||||
|
clsPatterns.UpdateControlInCache(oCombobox.Name, oCombobox.Text)
|
||||||
MyValidationLogger.Debug($"ComboBox [{oMeta.Name}] marked as dirty")
|
MyValidationLogger.Debug($"ComboBox [{oMeta.Name}] marked as dirty")
|
||||||
If oCombobox.Name = last_control.Name Then
|
If oCombobox.Name = last_control.Name Then
|
||||||
'Abschluss()
|
'Abschluss()
|
||||||
@@ -2588,7 +2676,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
Else
|
Else
|
||||||
'not implemented
|
'not implemented
|
||||||
MyValidationLogger.Warn("Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname)
|
MyValidationLogger.Warn("⚠️ Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If oResultTable.Rows.Count = 1 Then
|
If oResultTable.Rows.Count = 1 Then
|
||||||
@@ -2599,7 +2687,7 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Warn("Result Table is nothing!")
|
MyValidationLogger.Warn("⚠️ Result Table is nothing!")
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyValidationLogger.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)
|
MyValidationLogger.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)
|
||||||
@@ -2771,7 +2859,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Debug($"Get_Next_GUID: Amount_Docs2Validate [{Amount_Docs2Validate}]...")
|
MyValidationLogger.Debug($"Get_Next_GUID: Amount_Docs2Validate [{Amount_Docs2Validate}]...")
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Amount_Docs2Validate = 0
|
Amount_Docs2Validate = 0
|
||||||
MyValidationLogger.Warn("Amount_Docs2Validate Error: " & ex.Message)
|
MyValidationLogger.Warn("⚠️ Amount_Docs2Validate Error: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Info($">> Attention: GetNextGUID - Could not get the next GUID - SQL [{oSQL}]")
|
MyValidationLogger.Info($">> Attention: GetNextGUID - Could not get the next GUID - SQL [{oSQL}]")
|
||||||
@@ -2848,7 +2936,7 @@ Public Class frmValidator
|
|||||||
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
||||||
|
|
||||||
If oDT Is Nothing OrElse oDT.Rows.Count = 0 Then
|
If oDT Is Nothing OrElse oDT.Rows.Count = 0 Then
|
||||||
MyValidationLogger.Warn("GetDocPathWindows: No result for file paths!")
|
MyValidationLogger.Warn("⚠️ GetDocPathWindows: No result for file paths!")
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -2907,6 +2995,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
|
|
||||||
Sub Load_Next_Document(first As Boolean)
|
Sub Load_Next_Document(first As Boolean)
|
||||||
|
Dim oMilliseconts As Double
|
||||||
clsPatterns.ClearControlCache() ' Cache-Invalidierung
|
clsPatterns.ClearControlCache() ' Cache-Invalidierung
|
||||||
|
|
||||||
Dim perfStart As DateTime = DateTime.MinValue
|
Dim perfStart As DateTime = DateTime.MinValue
|
||||||
@@ -2980,7 +3069,7 @@ Public Class frmValidator
|
|||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
If IsNothing(IDB_DT_DOC_DATA) Then
|
If IsNothing(IDB_DT_DOC_DATA) Then
|
||||||
MyValidationLogger.Warn("ATTENTION: IDB-Data is nothing. Check the IDB_DOC_DATA_SQL Variable Source")
|
MyValidationLogger.Warn("⚠️ ATTENTION: IDB-Data is nothing. Check the IDB_DOC_DATA_SQL Variable Source")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
Else
|
Else
|
||||||
If IDB_DT_DOC_DATA.Rows.Count = 1 Then
|
If IDB_DT_DOC_DATA.Rows.Count = 1 Then
|
||||||
@@ -2993,10 +3082,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Info($"[PERF LND] Nach CreateWMObject/Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF LND] Nach CreateWMObject/Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
PRTF_PROFILE_FILES_WORK("InWork")
|
||||||
Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 1, IN_WORK_WHEN = GETDATE(), WORK_USER = '{USER_USERNAME}' WHERE GUID = {CURRENT_DOC_GUID}"
|
|
||||||
DatabaseFallback.ExecuteNonQueryECM(sql)
|
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF LND] Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
MyValidationLogger.Info($"[PERF LND] Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
@@ -3059,14 +3145,25 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF LND] Nach LoadDocument_DDViewer: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
|
||||||
|
If oMilliseconts > 6000 Then
|
||||||
|
MyValidationLogger.Warn($"[PERF LND] ⚠️ LoadDocument_DDViewer lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
Else
|
||||||
|
MyValidationLogger.Info($"[PERF LND] Nach LoadDocument_DDViewer: {oMilliseconts}ms")
|
||||||
|
End If
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
FillIndexValues(first)
|
FillIndexValues(first)
|
||||||
|
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF LND] Nach FillIndexValues: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
|
||||||
|
If oMilliseconts > 6000 Then
|
||||||
|
MyValidationLogger.Warn($"[PERF LND] ⚠️ FillIndexValues lasted far to long: {oMilliseconts}ms")
|
||||||
|
Else
|
||||||
|
MyValidationLogger.Info($"[PERF LND] Nach FillIndexValues: {oMilliseconts}ms")
|
||||||
|
End If
|
||||||
|
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -3182,7 +3279,13 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
If LOG_HOTSPOTS Then
|
If LOG_HOTSPOTS Then
|
||||||
MyValidationLogger.Info($"[PERF LND] Nach Show_WF_Messages: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
|
||||||
|
If oMilliseconts > 6000 Then
|
||||||
|
MyValidationLogger.Warn($"[PERF LND] ⚠️ Show_WF_Messages lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
Else
|
||||||
|
MyValidationLogger.Info($"[PERF LND] Nach Show_WF_Messages: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||||
|
End If
|
||||||
|
|
||||||
perfLastCheck = DateTime.Now
|
perfLastCheck = DateTime.Now
|
||||||
End If
|
End If
|
||||||
Controls2B_EnDisabled()
|
Controls2B_EnDisabled()
|
||||||
@@ -3260,7 +3363,7 @@ Public Class frmValidator
|
|||||||
End Try
|
End Try
|
||||||
If ActiveWorkflowType = ConstAHWorkflow_BlindFile Or PROFILE_SHOW_DOCUMENT = False Then
|
If ActiveWorkflowType = ConstAHWorkflow_BlindFile Or PROFILE_SHOW_DOCUMENT = False Then
|
||||||
If PROFILE_SHOW_DOCUMENT = False And ActiveWorkflowType <> ConstAHWorkflow_BlindFile Then
|
If PROFILE_SHOW_DOCUMENT = False And ActiveWorkflowType <> ConstAHWorkflow_BlindFile Then
|
||||||
MyValidationLogger.Warn("PROFILE_SHOW_DOCUMENT = False - DocumentViewer won't be displayed. Configuration error?")
|
MyValidationLogger.Warn("⚠️ PROFILE_SHOW_DOCUMENT = False - DocumentViewer won't be displayed. Configuration error?")
|
||||||
End If
|
End If
|
||||||
SplitContainer1.Panel2Collapsed = True
|
SplitContainer1.Panel2Collapsed = True
|
||||||
If Not IsNothing(DocumentViewer1) Then
|
If Not IsNothing(DocumentViewer1) Then
|
||||||
@@ -3280,6 +3383,7 @@ Public Class frmValidator
|
|||||||
' Load Document in Document Viewer
|
' Load Document in Document Viewer
|
||||||
Dim oFileName = $"{CURRENT_DOC_ID}.{Current_Document.Extension}"
|
Dim oFileName = $"{CURRENT_DOC_ID}.{Current_Document.Extension}"
|
||||||
If Not IsNothing(DocumentViewer1) Then
|
If Not IsNothing(DocumentViewer1) Then
|
||||||
|
MyValidationLogger.Info("LoadDocument_DDViewer - Current_Document.FullPath: " & Current_Document.FullPath)
|
||||||
If (OPERATION_MODE_FS = ClassConstants.OpModeFS_PWM Or OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM) Then
|
If (OPERATION_MODE_FS = ClassConstants.OpModeFS_PWM Or OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM) Then
|
||||||
DocumentViewer1.LoadFile_FromPath(Current_Document.FullPath)
|
DocumentViewer1.LoadFile_FromPath(Current_Document.FullPath)
|
||||||
'Erstmal auskommentiert
|
'Erstmal auskommentiert
|
||||||
@@ -3617,17 +3721,26 @@ Public Class frmValidator
|
|||||||
Dim oIndexName As String
|
Dim oIndexName As String
|
||||||
Dim oControName As String
|
Dim oControName As String
|
||||||
Dim oIDBOverride As Boolean = False
|
Dim oIDBOverride As Boolean = False
|
||||||
|
|
||||||
Try
|
Try
|
||||||
|
' ========== OPTIMIERUNG 1: Einmalige Gruppierung ==========
|
||||||
|
Dim columnsByControl As Dictionary(Of Integer, DataTable) = Nothing
|
||||||
|
If DT_COLUMNS_GRID IsNot Nothing AndAlso DT_COLUMNS_GRID.Rows.Count > 0 Then
|
||||||
|
columnsByControl = New Dictionary(Of Integer, DataTable)()
|
||||||
|
|
||||||
|
For Each groupRow In DT_COLUMNS_GRID.AsEnumerable().GroupBy(Function(r) r.Field(Of Integer)("CONTROL_ID"))
|
||||||
|
Dim controlId As Integer = groupRow.Key
|
||||||
|
Dim dt = groupRow.OrderBy(Function(r) r.Field(Of Integer)("SEQUENCE")).CopyToDataTable()
|
||||||
|
columnsByControl(controlId) = dt
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
' ========== ENDE OPTIMIERUNG ==========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If DTVWCONTROL_INDEX.Rows.Count > 0 Then
|
If DTVWCONTROL_INDEX.Rows.Count > 0 Then
|
||||||
Dim oCount As Integer = 0
|
Dim oCount As Integer = 0
|
||||||
For Each oControl As Control In Me.PanelValidatorControl.Controls
|
For Each oControl As Control In Me.PanelValidatorControl.Controls
|
||||||
'If SingleAttribute <> "" Then
|
|
||||||
' oIDBOverride = True
|
|
||||||
' If SingleAttribute <> oControl.Name Then
|
|
||||||
' Continue For
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
Dim oValueFromSource
|
Dim oValueFromSource
|
||||||
Dim oFormattedValue As String = ""
|
Dim oFormattedValue As String = ""
|
||||||
Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
|
Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||||
@@ -3859,8 +3972,17 @@ Public Class frmValidator
|
|||||||
If LOG_PERF Then PerformanceLogger.Info("FillIndexValues/GridControl")
|
If LOG_PERF Then PerformanceLogger.Info("FillIndexValues/GridControl")
|
||||||
|
|
||||||
oControlType = "DevExpress.XtraGrid.GridControl"
|
oControlType = "DevExpress.XtraGrid.GridControl"
|
||||||
Dim oMyGridControl As GridControl = oControl
|
Dim oMyGridControl As GridControl = oControl '
|
||||||
Dim oDTColumnsPerDevExGrid As DataTable = DT_COLUMNS_GRID.Clone()
|
' ========== OPTIMIERUNG: Dictionary-Lookup statt Select() ==========
|
||||||
|
Dim oDTColumnsPerDevExGrid As DataTable = Nothing
|
||||||
|
If columnsByControl IsNot Nothing AndAlso columnsByControl.TryGetValue(oControlId, oDTColumnsPerDevExGrid) Then
|
||||||
|
MyValidationLogger.Debug($"Grid [{oControl.Name}]: {oDTColumnsPerDevExGrid.Rows.Count} Spalten aus Cache geladen")
|
||||||
|
Else
|
||||||
|
' Fallback (sollte nicht auftreten)
|
||||||
|
oDTColumnsPerDevExGrid = DT_COLUMNS_GRID.Clone()
|
||||||
|
MyValidationLogger.Warn($"Grid [{oControl.Name}]: Keine Spalten-Definition gefunden!")
|
||||||
|
End If
|
||||||
|
' ========== ENDE OPTIMIERUNG ==========
|
||||||
Try
|
Try
|
||||||
|
|
||||||
If oSourceIndexName = "" Then
|
If oSourceIndexName = "" Then
|
||||||
@@ -3885,8 +4007,8 @@ Public Class frmValidator
|
|||||||
Select Case oTyp
|
Select Case oTyp
|
||||||
'Tabellendarstellung
|
'Tabellendarstellung
|
||||||
Case "TABLE"
|
Case "TABLE"
|
||||||
Dim oExpression = $"CONTROL_ID = {oControlId}"
|
'Dim oExpression = $"CONTROL_ID = {oControlId}"
|
||||||
DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
|
'DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
|
||||||
|
|
||||||
Dim oColValuesfromSource As String()
|
Dim oColValuesfromSource As String()
|
||||||
MyValidationLogger.Debug($"DevExpressGrid: {oDTColumnsPerDevExGrid.Rows.Count} Columns configured for control {oControlId}.")
|
MyValidationLogger.Debug($"DevExpressGrid: {oDTColumnsPerDevExGrid.Rows.Count} Columns configured for control {oControlId}.")
|
||||||
@@ -3927,7 +4049,7 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
' Ausführliches Logging bei Fehlern inkl. aktuell bekannter Metadaten
|
' Ausführliches Logging bei Fehlern inkl. aktuell bekannter Metadaten
|
||||||
MyValidationLogger.Warn("Grid row assign FAILED RowIdx = {0}, ColIdx={1}, ColName={2}, ColType={3}, RawValue=[{4}]",
|
MyValidationLogger.Warn("⚠️ Grid row assign FAILED RowIdx = {0}, ColIdx={1}, ColName={2}, ColType={3}, RawValue=[{4}]",
|
||||||
oDataSource.Rows.Count, index, colName, colType, rawValue)
|
oDataSource.Rows.Count, index, colName, colType, rawValue)
|
||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
' Optional: weitere Kontexthilfe – z.B. ob Spalte DBNull erlaubt
|
' Optional: weitere Kontexthilfe – z.B. ob Spalte DBNull erlaubt
|
||||||
@@ -3951,7 +4073,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
oColValuesfromSource = Split(oValueFromSource.ToString, PMDelimiter)
|
oColValuesfromSource = Split(oValueFromSource.ToString, PMDelimiter)
|
||||||
If oColValuesfromSource.Length > 8 Then
|
If oColValuesfromSource.Length > 8 Then
|
||||||
MyValidationLogger.Warn("Fill Grid Error - Max 8 columns can be configured!")
|
MyValidationLogger.Warn("⚠️ Fill Grid Error - Max 8 columns can be configured!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim oRowData As New List(Of Object)
|
Dim oRowData As New List(Of Object)
|
||||||
@@ -3993,7 +4115,7 @@ Public Class frmValidator
|
|||||||
oColValuesfromSource = Split(oRow.Item(0).ToString, PMDelimiter)
|
oColValuesfromSource = Split(oRow.Item(0).ToString, PMDelimiter)
|
||||||
|
|
||||||
If oColValuesfromSource.Length > 8 Then
|
If oColValuesfromSource.Length > 8 Then
|
||||||
MyValidationLogger.Warn("Fill Grid With DatatableSplit Error - Max 8 columns can be configured!")
|
MyValidationLogger.Warn("⚠️ Fill Grid With DatatableSplit Error - Max 8 columns can be configured!")
|
||||||
End If
|
End If
|
||||||
MyValidationLogger.Debug($"oColValuesfromSource splitted - Length ({oColValuesfromSource.Length.ToString})")
|
MyValidationLogger.Debug($"oColValuesfromSource splitted - Length ({oColValuesfromSource.Length.ToString})")
|
||||||
Dim oRowData As New List(Of Object)
|
Dim oRowData As New List(Of Object)
|
||||||
@@ -4050,23 +4172,22 @@ Public Class frmValidator
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Try
|
Try
|
||||||
'Dim oFilteredDatatable As DataTable = DTGRID_COLUMNS.Clone()
|
|
||||||
'Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}"
|
|
||||||
'DTGRID_COLUMNS.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
|
|
||||||
Dim oMyGridView As DevExpress.XtraGrid.Views.Grid.GridView = oMyGridControl.MainView
|
Dim oMyGridView As DevExpress.XtraGrid.Views.Grid.GridView = oMyGridControl.MainView
|
||||||
oMyGridView.OptionsView.ColumnAutoWidth = False
|
oMyGridView.OptionsView.ColumnAutoWidth = False
|
||||||
'AddHandler oMyGridView.ColumnWidthChanged, AddressOf GridControlColumnWidthChanged
|
|
||||||
For Each oRow As DataRow In oDTColumnsPerDevExGrid.Rows
|
|
||||||
For Each oActGridColumn As DevExpress.XtraGrid.Columns.GridColumn In oMyGridView.Columns
|
|
||||||
Dim oGridDXFieldName = oActGridColumn.FieldName
|
|
||||||
Dim GridDXColumnEditName = oActGridColumn.ColumnEditName
|
|
||||||
If oRow.Item("SPALTENNAME") = oGridDXFieldName Then
|
|
||||||
oActGridColumn.Width = oRow.Item("SPALTENBREITE")
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
' ========== OPTIMIERUNG: Dictionary statt doppelter Loop ==========
|
||||||
|
If oDTColumnsPerDevExGrid IsNot Nothing AndAlso oDTColumnsPerDevExGrid.Rows.Count > 0 Then
|
||||||
|
Dim columnsByName = oMyGridView.Columns.Cast(Of GridColumn)().ToDictionary(Function(c) c.FieldName, StringComparer.OrdinalIgnoreCase)
|
||||||
|
For Each oRow As DataRow In oDTColumnsPerDevExGrid.Rows
|
||||||
|
Dim columnName = oRow.Item("SPALTENNAME").ToString()
|
||||||
|
Dim column As GridColumn = Nothing
|
||||||
|
|
||||||
|
If columnsByName.TryGetValue(columnName, column) Then
|
||||||
|
column.Width = oRow.Item("SPALTENBREITE")
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
Next
|
End If
|
||||||
|
' ========== ENDE OPTIMIERUNG ==========
|
||||||
Dim i = 0
|
Dim i = 0
|
||||||
|
|
||||||
' RestoreDevExpressGridControl_Layout(CURRENT_CLICKED_PROFILE_ID, oControlId, oMyGridView)
|
' RestoreDevExpressGridControl_Layout(CURRENT_CLICKED_PROFILE_ID, oControlId, oMyGridView)
|
||||||
@@ -4813,7 +4934,7 @@ Public Class frmValidator
|
|||||||
' End If
|
' End If
|
||||||
'End If
|
'End If
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Warn("ATTENTION: DYNAMIC VALUE IS NOTHING!")
|
MyValidationLogger.Warn("⚠️ ATTENTION: DYNAMIC VALUE IS NOTHING!")
|
||||||
Continue For
|
Continue For
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -4865,7 +4986,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Debug("...as single indexing")
|
MyValidationLogger.Debug("...as single indexing")
|
||||||
If oValue.ToUpper = "SQL-Command".ToUpper Then
|
If oValue.ToUpper = "SQL-Command".ToUpper Then
|
||||||
MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
|
MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
|
||||||
MyValidationLogger.Warn("Something went wrong while final-indexing")
|
MyValidationLogger.Warn("⚠️ Something went wrong while final-indexing")
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Dim oFIResult As Boolean = False
|
Dim oFIResult As Boolean = False
|
||||||
@@ -5119,7 +5240,7 @@ Public Class frmValidator
|
|||||||
If oErrorOcurred = True Then
|
If oErrorOcurred = True Then
|
||||||
MsgBox("Unhandled error occured in Finish Workflow-Step...Please check your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
|
MsgBox("Unhandled error occured in Finish Workflow-Step...Please check your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
|
||||||
Else
|
Else
|
||||||
'PRTF_PROFILE_FILES_WORK("Worked")
|
PRTF_PROFILE_FILES_WORK("Worked")
|
||||||
MyValidationLogger.Debug("Validation of document ended successfully!")
|
MyValidationLogger.Debug("Validation of document ended successfully!")
|
||||||
Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}"
|
Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}"
|
||||||
If DatabaseFallback.ExecuteNonQueryECM(oPROCSQL) = False Then
|
If DatabaseFallback.ExecuteNonQueryECM(oPROCSQL) = False Then
|
||||||
@@ -5645,7 +5766,7 @@ Public Class frmValidator
|
|||||||
MyValidationLogger.Error(ex)
|
MyValidationLogger.Error(ex)
|
||||||
Dim st As New StackTrace(True)
|
Dim st As New StackTrace(True)
|
||||||
st = New StackTrace(ex, True)
|
st = New StackTrace(ex, True)
|
||||||
MyValidationLogger.Warn("Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True)
|
MyValidationLogger.Warn("⚠️ Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True)
|
||||||
OpenfrmError(oErrMsgMissingInput)
|
OpenfrmError(oErrMsgMissingInput)
|
||||||
|
|
||||||
' Nach Fehler: Dirty-Flag zurücksetzen
|
' Nach Fehler: Dirty-Flag zurücksetzen
|
||||||
@@ -6018,7 +6139,7 @@ Public Class frmValidator
|
|||||||
Next ' End For Each oControl
|
Next ' End For Each oControl
|
||||||
|
|
||||||
If oMissing = True Then
|
If oMissing = True Then
|
||||||
MyValidationLogger.Warn("Check_UpdateIndexe: ERROR or Missing Indexing - returning False")
|
MyValidationLogger.Warn("⚠️ Check_UpdateIndexe: ERROR or Missing Indexing - returning False")
|
||||||
Return False
|
Return False
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Debug("Check_UpdateIndexe: Everything OK - returning True")
|
MyValidationLogger.Debug("Check_UpdateIndexe: Everything OK - returning True")
|
||||||
@@ -6290,8 +6411,8 @@ Public Class frmValidator
|
|||||||
|
|
||||||
Try
|
Try
|
||||||
MyValidationLogger.Debug("Skipping document....(Datei_ueberspringen)")
|
MyValidationLogger.Debug("Skipping document....(Datei_ueberspringen)")
|
||||||
|
Dim oPRoc = String.Format("EXEC PRTF_PROFILE_FILES_WORK {0},{1},{2},{3}", CURRENT_DOC_ID, CURRENT_ProfilGUID, USER_ID, "FreeFile")
|
||||||
Dim oSQL = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID};" & vbNewLine &
|
Dim oSQL = oPRoc & vbNewLine &
|
||||||
$"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID};"
|
$"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID};"
|
||||||
|
|
||||||
DatabaseFallback.ExecuteNonQueryECM(oSQL)
|
DatabaseFallback.ExecuteNonQueryECM(oSQL)
|
||||||
@@ -6692,7 +6813,7 @@ Public Class frmValidator
|
|||||||
|
|
||||||
Dim oConverter As New PDFConverter(LOGCONFIG)
|
Dim oConverter As New PDFConverter(LOGCONFIG)
|
||||||
If oConverter.ConvertPDFADocumentToPDFDocument(WMDocPathWindows, oTempFullFilename) = False Then
|
If oConverter.ConvertPDFADocumentToPDFDocument(WMDocPathWindows, oTempFullFilename) = False Then
|
||||||
MyValidationLogger.Warn("File [{0}] could not be converted to plain PDF!", WMDocPathWindows)
|
MyValidationLogger.Warn("⚠️ File [{0}] could not be converted to plain PDF!", WMDocPathWindows)
|
||||||
oFile2Export = WMDocPathWindows
|
oFile2Export = WMDocPathWindows
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Info("File [{0}] successfully converted to plain PDF!", oTempFullFilename)
|
MyValidationLogger.Info("File [{0}] successfully converted to plain PDF!", oTempFullFilename)
|
||||||
@@ -6700,11 +6821,11 @@ Public Class frmValidator
|
|||||||
oFile2Export = oTempFullFilename
|
oFile2Export = oTempFullFilename
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Warn("No converting as File [{0}] not ending with pdf [{1}]", WMDocPathWindows, oExtension.ToLower)
|
MyValidationLogger.Warn("⚠️ No converting as File [{0}] not ending with pdf [{1}]", WMDocPathWindows, oExtension.ToLower)
|
||||||
oFile2Export = WMDocPathWindows
|
oFile2Export = WMDocPathWindows
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Warn("No converting as barbtnitmExport.Tag.ToString <> Convert to PDF")
|
MyValidationLogger.Warn("⚠️ No converting as barbtnitmExport.Tag.ToString <> Convert to PDF")
|
||||||
oFile2Export = WMDocPathWindows
|
oFile2Export = WMDocPathWindows
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -442,7 +442,7 @@ Public Class frmValidatorSearch
|
|||||||
.ShowSettingButton = True
|
.ShowSettingButton = True
|
||||||
})
|
})
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LOGGER.Warn("Error initializing DocViewDocsValdiatorSearch: " & ex.Message)
|
LOGGER.Warn("⚠️ Error initializing DocViewDocsValdiatorSearch: " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
OperationMode = GetOperationMode()
|
OperationMode = GetOperationMode()
|
||||||
@@ -631,7 +631,7 @@ Public Class frmValidatorSearch
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
LOGGER.Warn("Attention: RESULT_DOC_PATH is nothing")
|
LOGGER.Warn("⚠️ Attention: RESULT_DOC_PATH is nothing")
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
|
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
|
||||||
|
|||||||
@@ -1078,7 +1078,6 @@
|
|||||||
<None Include="FinalIndexDataSet.xss">
|
<None Include="FinalIndexDataSet.xss">
|
||||||
<DependentUpon>FinalIndexDataSet.xsd</DependentUpon>
|
<DependentUpon>FinalIndexDataSet.xsd</DependentUpon>
|
||||||
</None>
|
</None>
|
||||||
<None Include="frmValidator.v" />
|
|
||||||
<None Include="My Project\app.manifest" />
|
<None Include="My Project\app.manifest" />
|
||||||
<None Include="My Project\Application.myapp">
|
<None Include="My Project\Application.myapp">
|
||||||
<Generator>MyApplicationCodeGenerator</Generator>
|
<Generator>MyApplicationCodeGenerator</Generator>
|
||||||
|
|||||||
Reference in New Issue
Block a user