2.7.9 an WISAG ausgegeben

This commit is contained in:
Developer01
2026-02-05 16:58:19 +01:00
parent 05c4ee9f41
commit 034ca839ba
18 changed files with 851 additions and 408 deletions

View File

@@ -22,7 +22,6 @@ Public Class ClassConfig
' Digital Data Settings
Public Property UserManagerPath As String = ""
Public Property UserInheritance_ConfirmationByColumn As New List(Of UserInheritanceConfirmation)
' File Settings
Public Property VersionDelimiter As String = "~"
@@ -52,9 +51,4 @@ Public Class ClassConfig
Public Property ShowFile As Boolean = True
Public Property ShowSearchesDirect As Boolean = True
End Class
Public Class UserInheritanceConfirmation
Public Property ColumnName As String = ""
Public Property Count As Integer
End Class
End Class

View File

@@ -1,6 +1,5 @@
Imports System.ComponentModel
Imports System.Text.RegularExpressions
Imports DD_LIB_Standards
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls
@@ -11,13 +10,10 @@ Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.Language.DataTableEx
Imports DigitalData.Modules.Base
Public Class ClassControlCreator
@@ -362,7 +358,7 @@ Public Class ClassControlCreator
Try
oControl.Text = row.Item("CTRL_CAPTION_LANG")
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")
End Try
Dim oAlignment = row.ItemEx("TEXT_ALIGNMENT", "Near")

View File

@@ -156,7 +156,7 @@ Public Class ClassFinalizeDoc
End If
Return indexierung_erfolgreich
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
End Try

View File

@@ -1,11 +1,12 @@
Imports DLLLicenseManager
Imports DigitalData.Modules.Logging
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
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 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 _lizenzManager As ClassLicenseManager
@@ -20,21 +21,16 @@ Public Class ClassInit
My.Application.Info.CompanyName,
My.Application.Info.ProductName)
LOGGER = LOGCONFIG.GetLogger("taskFLOW")
LOGGER.Info("## taskFLOW started - {0}", Now)
Try
Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log")
For Each file As IO.FileInfo In directory.GetFiles
If (Now - file.CreationTime).Days > 29 Then
file.Delete()
Else
Exit For
End If
Next
Catch ex As Exception
@@ -59,6 +55,15 @@ Public Class ClassInit
CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
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
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
LOGGER.Debug("Test Connection String loaded")
@@ -85,11 +90,11 @@ Public Class ClassInit
LOGGER.Info($"EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
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
Catch ex As Exception
LOGGER.Warn($"Could not initialize the AppServer: {ex.Message}")
LOGGER.Warn($"⚠️ Could not initialize the AppServer: {ex.Message}")
End Try
Else
@@ -244,12 +249,12 @@ Public Class ClassInit
Try
oLICDATE = CDate(split(1))
Catch ex As Exception
LOGGER.Warn($"Error Converting Value {split(1)} to DATE")
LOGGER.Warn($"⚠️ Error Converting Value {split(1)} to DATE")
Try
Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
oLICDATE = expenddt
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
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_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")
@@ -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"))
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
End Try
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'"
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStopWatch.Done()
Catch ex As Exception
LOGGER.Error(ex)
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)
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()
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -232,9 +232,12 @@ Public Class ClassParamRefresh
Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
Try
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()
End If
Catch ex As Exception

View File

@@ -211,7 +211,7 @@ LOGGER.Error(ex)
Public Function GetTypeOfIndex(ByVal indexname As String) As Integer
Try
If IsNothing(Me.oSession) Then
LOGGER.Warn("GetTypeOfIndex: WMSession is nothing")
LOGGER.Warn("⚠️ GetTypeOfIndex: WMSession is nothing")
Return Nothing
End If
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()
Try
If IsNothing(Me.oSession) Then
LOGGER.Warn("GetIndicesByObjecttype: WMSession is nothing")
LOGGER.Warn("⚠️ GetIndicesByObjecttype: WMSession is nothing")
Return Nothing
End If
Dim oObjectType As WMObject
@@ -325,7 +325,7 @@ LOGGER.Error(ex)
Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject
Try
If IsNothing(Me.oSession) Then
LOGGER.Warn("GetObjecttypeByName: WMSession is nothing")
LOGGER.Warn("⚠️ GetObjecttypeByName: WMSession is nothing")
Return Nothing
End If
' alle Objekttypen auslesen

View File

@@ -70,7 +70,7 @@ Namespace ControlCreator
Dim oConnectionId As Integer = oRow.ItemEx("CONNECTION_ID", 0)
Dim oSqlCommand As String = oRow.ItemEx("SQL_COMMAND", "")
If oConnectionId > 0 And oSqlCommand <> "" Then
If oSqlCommand <> "" Then
Try
Dim oComboboxDataTable As DataTable = Nothing
Dim oColumnName As String = oRow.Item("SPALTENNAME")
@@ -93,7 +93,7 @@ Namespace ControlCreator
_GridTables.Item(pControlId).Add(oColumnName, oRepositoryItem)
End If
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)
End Try
End If
@@ -321,7 +321,7 @@ Namespace ControlCreator
End If
Next
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)
End Try
End Sub
@@ -484,16 +484,17 @@ Namespace ControlCreator
End Try
End Sub
Private Function GetInheritanceConfirmationEntry(columnName As String) As ClassConfig.UserInheritanceConfirmation
Dim entries = CONFIG.Config.UserInheritance_ConfirmationByColumn
Private Function GetInheritanceConfirmationEntry(columnName As String) As UserInheritanceConfirmation
Dim entries = UserInheritance_ConfirmationByColumn
If entries Is Nothing Then
entries = New List(Of ClassConfig.UserInheritanceConfirmation)()
CONFIG.Config.UserInheritance_ConfirmationByColumn = entries
entries = New List(Of UserInheritanceConfirmation)()
UserInheritance_ConfirmationByColumn = entries
End If
Dim entry = entries.FirstOrDefault(Function(item) String.Equals(item.ColumnName, columnName, StringComparison.OrdinalIgnoreCase))
If entry Is Nothing Then
entry = New ClassConfig.UserInheritanceConfirmation With {
entry = New UserInheritanceConfirmation With {
.ColumnName = columnName,
.Count = 0
}

View File

@@ -1,10 +1,11 @@
Imports WINDREAMLib
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Windream
Imports DigitalData.Modules.ZooFlow
Imports taskFLOW.ClassConfig
Imports WINDREAMLib
Module ModuleRuntimeVariables
@@ -62,6 +63,7 @@ Module ModuleRuntimeVariables
Public Property USER_IS_ADMIN As Boolean = False
Public Property USER_ID = 0
Public Property USER_MODULE_ID = 0
Public Property USER_PRENAME = ""
Public Property USER_SURNAME = ""
Public Property USER_SHORTNAME = ""
@@ -80,6 +82,11 @@ Module ModuleRuntimeVariables
Public Property USER_USERNAME_ORG As String = ""
Public Property USER_GHOST_MODE_ACTIVE As Boolean = False
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 SHOW_CHARTS As Boolean = True

View File

@@ -163,7 +163,7 @@ Public Class Validator
' Logger.Error(ex)
' Dim st As New StackTrace(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
' End Try
'End Function

View File

@@ -5,7 +5,6 @@ Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraEditors
Imports DigitalData.Modules.Language
''' <summary>
''' Defines common Functions for Checking for and replacing placeholders.
''' This Class also includes a child class `Pattern` for passing around Patterns.
@@ -72,7 +71,72 @@ Public Class clsPatterns
_ControlLookupCache = Nothing
LOGGER.Debug("Control cache cleared")
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>
''' Wraps a pattern-type and -value in the common format: {#type#value}
''' </summary>
@@ -206,14 +270,16 @@ Public Class clsPatterns
End Sub
Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String
Dim oResult = pInput
' Cache beim ersten Aufruf erstellen:
If _ControlLookupCache Is Nothing Then
_ControlLookupCache = New Dictionary(Of String, Control)()
For Each ctrl As Control In oPanel.Controls
RecursiveAddToCache(ctrl, _ControlLookupCache)
Next
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
End If
' Cache beim ersten Aufruf erstellen mit Lock
SyncLock GetType(clsPatterns) ' Class-Level Lock
If _ControlLookupCache Is Nothing Then
_ControlLookupCache = New Dictionary(Of String, Control)()
For Each ctrl As Control In oPanel.Controls
RecursiveAddToCache(ctrl, _ControlLookupCache)
Next
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
End If
End SyncLock
Try
Dim oTryCounter = 0
@@ -236,14 +302,23 @@ Public Class clsPatterns
End If
LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
' Beim Cache-Zugriff Lock verwenden
Dim oControl As Control = Nothing
If Not _ControlLookupCache.TryGetValue(oControlName, oControl) Then
LOGGER.Warn($"Control [{oControlName}] not found in cache!")
' Fallback: Rekursive Suche als letzte Maßnahme
SyncLock _ControlLookupCache
If Not _ControlLookupCache.TryGetValue(oControlName, oControl) Then
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()
If oControl IsNot Nothing Then
LOGGER.Info($"Control [{oControlName}] found via fallback search. Adding to cache.")
_ControlLookupCache(oControlName) = oControl
LOGGER.Info($"Control [{oControlName}] found via fallback. Adding to cache.")
SyncLock _ControlLookupCache
_ControlLookupCache(oControlName) = oControl
End SyncLock
End If
End If
@@ -308,7 +383,7 @@ Public Class clsPatterns
Dim oView As GridView = oGrid.FocusedView
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
End If
@@ -317,7 +392,7 @@ Public Class clsPatterns
SingleOrDefault()
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
Else
oReplaceValue = oColumn.SummaryItem.SummaryValue
@@ -333,7 +408,7 @@ Public Class clsPatterns
End If
oResult = ReplacePattern(oResult, PATTERN_CTRL, oReplaceValue)
Else
LOGGER.Warn("Could not get a Control for [{0}].", oControlName)
LOGGER.Warn("⚠️ Could not get a Control for [{0}].", oControlName)
End If
oTryCounter += 1
@@ -341,7 +416,7 @@ Public Class clsPatterns
Return oResult
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Warn("Error in ReplaceControlValues:" & ex.Message)
LOGGER.Warn("⚠️ Error in ReplaceControlValues:" & ex.Message)
Return oResult
End Try
End Function

View File

@@ -246,7 +246,7 @@ Partial Class frmMain
'
'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.Panel2)
Me.Panel1.Controls.Add(Me.NavBarControl1)

View File

@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
CAAAAk1TRnQBSQFMAgEBAgEAAaABCwGgAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAAbABCwGwAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

File diff suppressed because it is too large Load Diff

View File

@@ -918,7 +918,7 @@ Public Class frmMassValidator
Else
'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
Else
If oResultTable.Rows.Count = 1 Then
@@ -929,7 +929,7 @@ Public Class frmMassValidator
End If
End If
Else
LOGGER.Warn("Result Table is nothing!")
LOGGER.Warn("⚠️ Result Table is nothing!")
End If
Catch ex As Exception
LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)

View File

@@ -36,7 +36,7 @@ Public Class frmMonitor
Try
oDocID = GridView1.GetFocusedRowCellValue(GridView1.Columns("ObjectID"))
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")
Exit Sub
End Try

View File

@@ -129,7 +129,8 @@ Public Class frmValidator
Private _SqlControlsByGuid As Dictionary(Of Integer, List(Of DataRow))
Private _LookupControlsByRepository As Dictionary(Of RepositoryItemLookupControl3, LookupControl3)
Private _CachedFinalIndexing As DataTable = Nothing
Private _isUpdatingLookup As Boolean = False
Private _suppressLookupEvents As Boolean = False
Private Class Translation_Strings
Inherits My.Resources.frmValidator_Strings
End Class
@@ -186,7 +187,7 @@ Public Class frmValidator
' === MESSPUNKT 1: Start ===
Dim perfStart As DateTime = If(LOG_HOTSPOTS, DateTime.Now, Nothing)
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
MyValidationLogger.Debug("###frmValidation_Load###")
@@ -215,7 +216,7 @@ Public Class frmValidator
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
End If
@@ -257,7 +258,7 @@ Public Class frmValidator
End If
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
End If
@@ -277,7 +278,7 @@ Public Class frmValidator
DocumentViewer1.Init(LOGCONFIG, GDPICTURE_LICENSE, oDVSettings)
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
End If
@@ -295,7 +296,7 @@ Public Class frmValidator
DTVWCONTROLS_INDEX.Select(oExpression, "Y_LOC, X_LOC").CopyToDataTable(DTVWCONTROL_INDEX, LoadOption.PreserveChanges)
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
End If
@@ -354,7 +355,7 @@ Public Class frmValidator
CURRENT_PROFILE_LOG_INDEX = PROFIL_LOGINDEX
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
End If
@@ -382,7 +383,7 @@ Public Class frmValidator
If profileLangUser.TryGetValue(notRespQKey, row) Then oProfileNotResponsibleQuestion = row.Item("STRING1")
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF] Nach Language-Loop ({CURRENT_DT_PROFILE_LANGUAGE.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
MyValidationLogger.Info($"[PERF frmValidation_Load] Nach Language-Loop ({CURRENT_DT_PROFILE_LANGUAGE.Rows.Count} Rows): {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
End If
@@ -434,7 +435,7 @@ Public Class frmValidator
MyValidationLogger.Debug("Buttontext validation loaded")
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
End If
@@ -521,7 +522,7 @@ Public Class frmValidator
End If
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
End If
@@ -557,10 +558,10 @@ Public Class frmValidator
MyValidationLogger.Debug("Right_Delete: " & USER_RIGHT_FILE_DELETE.ToString)
' === 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()
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
End If
End If
@@ -570,7 +571,7 @@ Public Class frmValidator
' === MESSPUNKT 11: Gesamt-Zeit ===
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
Catch ex As Exception
@@ -581,6 +582,14 @@ Public Class frmValidator
End Sub
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
_FormClosing = True
@@ -589,6 +598,12 @@ Public Class frmValidator
frmMessages.Close()
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
' Position und Größe speichern
My.Settings.frmValidatorSize = Me.Size
@@ -598,9 +613,24 @@ Public Class frmValidator
MyValidationLogger.Error(ex)
MyValidationLogger.Info("Error in Load FormLayout: " & ex.Message)
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.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
MyValidationLogger.Error(ex)
End Try
@@ -608,13 +638,20 @@ Public Class frmValidator
Try
Dim oSQL As String
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 &
$"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID};"
oPRoc
Else
oSQL = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID};"
End If
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
MyValidationLogger.Error(ex)
MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -622,25 +659,43 @@ Public Class frmValidator
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
If Not IsNothing(DocumentViewer1) Then
DocumentViewer1.CloseDocument()
DocumentViewer1.Done()
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
MyValidationLogger.Warn($"Unexpected error in DocumentViewerValidator.Done: {ex.Message}")
End Try
Try
_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
MyValidationLogger.Error(ex)
End Try
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If
End Sub
Sub Reset_CurrentReferences()
MyValidationLogger.Info("Attention: Reset_CurrentReferences....")
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
DT_AdditionalSearches_Resultset_Docs.Clear()
End If
@@ -858,7 +913,7 @@ Public Class frmValidator
lookup.Properties.ValueMember = oDTContent.Columns.Item(0).ColumnName
lookup.Properties.DisplayMember = oDTContent.Columns.Item(0).ColumnName
Catch ex As Exception
MyValidationLogger.Warn("Error in LookUpLoadSQLData: " & ex.Message)
MyValidationLogger.Warn("⚠️ Error in LookUpLoadSQLData: " & ex.Message)
End Try
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
oValue = value
Catch ex As Exception
MyValidationLogger.Warn("Error in TextBoxLoadSQLData: " & ex.Message)
MyValidationLogger.Warn("⚠️ Error in TextBoxLoadSQLData: " & ex.Message)
End Try
ElseIf TypeOf control Is Windows.Forms.ComboBox Then
Try
@@ -887,7 +942,7 @@ Public Class frmValidator
oMyComboBox.SelectedIndex = oselectedIndex
Catch ex As Exception
MyValidationLogger.Warn("Error in ComboBoxLoadSQLData: " & ex.Message)
MyValidationLogger.Warn("⚠️ Error in ComboBoxLoadSQLData: " & ex.Message)
End Try
ElseIf TypeOf control Is GridControl Then
@@ -913,7 +968,7 @@ Public Class frmValidator
dataGridView.DataSource = oDataSource
End If
Catch ex As Exception
MyValidationLogger.Warn("Error in GridControlSQLData: " & ex.Message)
MyValidationLogger.Warn("⚠️ Error in GridControlSQLData: " & ex.Message)
End Try
End If
Next
@@ -1362,6 +1417,9 @@ Public Class frmValidator
MyValidationLogger.Debug($"Control [{oMeta.Name}] marked as dirty")
End If
' *** NEU: Cache aktualisieren ***
clsPatterns.UpdateControlInCache(oTextbox.Name, oTextbox.EditValue)
SetControlValues_FromControl(oTextbox)
Controls2beEnabled(oTextbox.Name)
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)
End Try
If oTextBox.Name <> last_control.Name Then
SendKeys.Send("{TAB}")
_ControlHandleStarted = True
Me.SelectNextControl(oTextBox, True, True, True, True)
End If
End If
End If
@@ -1458,12 +1515,12 @@ Public Class frmValidator
Dim oControlID = DirectCast(oButton.Tag, ClassControlCreator.ControlMetadata).Guid
Dim oSQL = ControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL_UEBERPRUEFUNG")
If IsNothing(oSQL) Then
MyValidationLogger.Warn("onCustomButtonClick - SQL_UEBERPRUEFUNG IS NOTHING")
MyValidationLogger.Warn("⚠️ onCustomButtonClick - SQL_UEBERPRUEFUNG IS NOTHING")
Exit Sub
End If
If Check_UpdateIndexe() = False Then
MyValidationLogger.Warn("onCustomButtonClick - Check_UpdateIndexe = False >> Exit Click")
MyValidationLogger.Warn("⚠️ onCustomButtonClick - Check_UpdateIndexe = False >> Exit Click")
Exit Sub
End If
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))
Try
MyValidationLogger.Debug("onLookUpselectedValue")
If _FormLoaded = False Then
If _FormLoaded = False Or _suppressLookupEvents Then
Exit Sub
End If
@@ -1668,38 +1725,61 @@ Public Class frmValidator
Exit Sub
End If
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
Dim oLookup As LookupControl3 = Nothing
' *** WICHTIG: Auch hier globalen Guard setzen ***
_suppressLookupEvents = True
Try
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
Dim oLookup As LookupControl3 = Nothing
If _LookupControlsByRepository IsNot Nothing Then
_LookupControlsByRepository.TryGetValue(oRepositoryItem, oLookup)
End If
If _LookupControlsByRepository IsNot Nothing Then
_LookupControlsByRepository.TryGetValue(oRepositoryItem, oLookup)
End If
If oLookup Is Nothing Then
oLookup = TryCast(oRepositoryItem.OwnerEdit, LookupControl3)
End If
If oLookup Is Nothing Then
oLookup = TryCast(oRepositoryItem.OwnerEdit, LookupControl3)
End If
If oLookup Is Nothing Then
MyValidationLogger.Warn("onLookUpselectedValue: LookupControl not found for RepositoryItem")
Exit Sub
End If
If oLookup Is Nothing Then
MyValidationLogger.Warn("⚠️ onLookUpselectedValue: LookupControl not found for RepositoryItem")
Exit Sub
End If
LookupControl_DependingControls(oLookup, SelectedValues)
LookupControl_EnablingControls(oLookup, SelectedValues)
LookupControl_DependingColumn(oLookup, SelectedValues)
LookupControl_DependingControls(oLookup, SelectedValues)
LookupControl_EnablingControls(oLookup, SelectedValues)
LookupControl_DependingColumn(oLookup, SelectedValues)
Finally
_suppressLookupEvents = False
End Try
Catch ex As Exception
MyValidationLogger.Warn("Unexpected error in onLookUpselectedValue - " + ex.Message)
MyValidationLogger.Warn("⚠️ Unexpected error in onLookUpselectedValue - " + ex.Message)
MyValidationLogger.Error(ex)
_suppressLookupEvents = False ' Sicherheits-Reset
End Try
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))
If _FormLoaded = False Or PanelValidatorControl.Enabled = False Then
Exit Sub
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
_suppressLookupEvents = True ' <-- Globaler Guard aktivieren
_lookupUpdateDepth += 1
Dim oLookup As RepositoryItemLookupControl3 = sender
Dim oLookupControl As LookupControl3 = Nothing
@@ -1724,8 +1804,11 @@ Public Class frmValidator
oMeta.IsDirty = True
MyValidationLogger.Debug($"LookupControl [{oMeta.Name}] marked as dirty")
listChangedLookup.Add(oLookupControl.Name)
' *** Cache aktualisieren ***
clsPatterns.UpdateControlInCache(oLookupControl.Name, SelectedValues)
Else
listChangedLookup.Add(oLookup.Name)
clsPatterns.UpdateControlInCache(oLookup.Name, SelectedValues)
End If
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
@@ -1744,10 +1827,13 @@ Public Class frmValidator
Exit For
End If
Next
Catch ex As Exception
MyValidationLogger.Error(ex)
Finally
_lookupUpdateDepth -= 1
_suppressLookupEvents = False ' <-- Globaler Guard deaktivieren
End Try
End Sub
Private Sub GridView_CellValueChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs)
Dim oView As GridView = sender
@@ -1768,6 +1854,8 @@ Public Class frmValidator
Dim oMeta As ClassControlCreator.ControlMetadata = oCheckbox.Tag
oMeta.IsDirty = True
MyValidationLogger.Debug($"CheckBox [{oMeta.Name}] marked as dirty")
' *** NEU: Cache aktualisieren ***
clsPatterns.UpdateControlInCache(oCheckbox.Name, oCheckbox.Checked)
Try
CheckBox_DependingControls(oCheckbox)
@@ -1855,7 +1943,7 @@ Public Class frmValidator
Dim oControlId2Set As Integer
'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
'End If
@@ -1991,7 +2079,7 @@ Public Class frmValidator
Case Else
MyValidationLogger.Warn("SetControlData used on unsupported control")
MyValidationLogger.Warn("⚠️ SetControlData used on unsupported control")
End Select
@@ -2011,36 +2099,38 @@ Public Class frmValidator
Next
End Sub
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
MyValidationLogger.Debug($"oLOOKUPValue Is [{oLOOKUPValue}]!")
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"SQL_UEBERPRUEFUNG Like '%#CTRL#{oLOOKUPName}%'"
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
MyValidationLogger.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
Else
MyValidationLogger.Debug($"Sorry NO depending controls!!")
End If
For Each oRowDependingControl As DataRow In oFilteredDatatable.Rows
Dim oDEPENDING_GUID = oRowDependingControl.Item("GUID")
Dim oDEPENDING_CtrlName = oRowDependingControl.Item("NAME")
MyValidationLogger.Debug($"Control {oDEPENDING_CtrlName} is depending on lookUp {oLOOKUPName}..")
If _DependingControl_In_Action = True Then
MyValidationLogger.Info($"..but _dependingControl_in_action = True ==> Exit Sub!")
Exit Sub
End If
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"))
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_DependingControl_In_Action = True
'Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"LookupControl_DependingControls - oControlID: {oControlID}")
'Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
' .ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
'})
Dim oDTDEPENDING_RESULT As DataTable = GetCachedDatatable(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"))
If Not IsNothing(oDTDEPENDING_RESULT) Then
Try
Dim oFound As Boolean = False
@@ -2049,72 +2139,78 @@ Public Class frmValidator
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then
oFound = True
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)
Try
Dim oValue As Object = oDTDEPENDING_RESULT.Rows(0).Item(0)
MyValidationLogger.Debug(String.Format("Setting EditValue with value [{0}]", oValue))
oValue = ObjectEx.NotNull(Of Object)(oValue, Nothing)
' *** WICHTIG: Während Suppress-Modus Updates durchführen ***
Dim wasSuppressed = _suppressLookupEvents
_suppressLookupEvents = True
Try
Select Case True
Case oControl.GetType() = GetType(DevExpress.XtraEditors.TextEdit) Or oControl.GetType() = GetType(MemoEdit)
Try
'oControl.Text = oValue
DirectCast(oControl, DevExpress.XtraEditors.TextEdit).EditValue = oValue
Dim oValue As Object = oDTDEPENDING_RESULT.Rows(0).Item(0)
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
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
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
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
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
Exit For
End If
Next
If oFound = False Then
@@ -2127,19 +2223,10 @@ Public Class frmValidator
Else
MyValidationLogger.Warn($"Datatable for Depending Controls was nothing! Check the SQL [{oSqlCommand}]")
End If
SendKeys.Send("{TAB}")
_ControlHandleStarted = True
Else
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
End If
Next
If oFilteredDatatable.Rows.Count = 1 Then
End If
End Sub
Private Sub CheckBox_DependingControls(pCheckbox As CheckBox)
Dim oCheckboxname = pCheckbox.Name
@@ -2249,8 +2336,7 @@ Public Class frmValidator
MyValidationLogger.Warn($"Error while setting depending control-value for [{oDEPENDING_CtrlName}]: " & ex.Message)
_DependingControl_In_Action = False
End Try
SendKeys.Send("{TAB}")
_ControlHandleStarted = True
Else
MyValidationLogger.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!")
End If
@@ -2360,6 +2446,8 @@ Public Class frmValidator
If oCombobox.SelectedIndex <> -1 And _Indexe_Loaded = True Then
Dim oMeta As ClassControlCreator.ControlMetadata = oCombobox.Tag
oMeta.IsDirty = True
' *** NEU: Cache aktualisieren ***
clsPatterns.UpdateControlInCache(oCombobox.Name, oCombobox.Text)
MyValidationLogger.Debug($"ComboBox [{oMeta.Name}] marked as dirty")
If oCombobox.Name = last_control.Name Then
'Abschluss()
@@ -2588,7 +2676,7 @@ Public Class frmValidator
Else
'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
Else
If oResultTable.Rows.Count = 1 Then
@@ -2599,7 +2687,7 @@ Public Class frmValidator
End If
End If
Else
MyValidationLogger.Warn("Result Table is nothing!")
MyValidationLogger.Warn("⚠️ Result Table is nothing!")
End If
Catch ex As Exception
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}]...")
Catch ex As Exception
Amount_Docs2Validate = 0
MyValidationLogger.Warn("Amount_Docs2Validate Error: " & ex.Message)
MyValidationLogger.Warn("⚠️ Amount_Docs2Validate Error: " & ex.Message)
End Try
Else
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)
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
End If
@@ -2907,6 +2995,7 @@ Public Class frmValidator
Sub Load_Next_Document(first As Boolean)
Dim oMilliseconts As Double
clsPatterns.ClearControlCache() ' Cache-Invalidierung
Dim perfStart As DateTime = DateTime.MinValue
@@ -2980,7 +3069,7 @@ Public Class frmValidator
perfLastCheck = DateTime.Now
End If
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
Else
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")
perfLastCheck = DateTime.Now
End If
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)
PRTF_PROFILE_FILES_WORK("InWork")
If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now
@@ -3059,14 +3145,25 @@ Public Class frmValidator
End If
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
End If
FillIndexValues(first)
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
End If
@@ -3182,7 +3279,13 @@ Public Class frmValidator
MyValidationLogger.Error(ex)
End Try
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
End If
Controls2B_EnDisabled()
@@ -3260,7 +3363,7 @@ Public Class frmValidator
End Try
If ActiveWorkflowType = ConstAHWorkflow_BlindFile Or PROFILE_SHOW_DOCUMENT = False 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
SplitContainer1.Panel2Collapsed = True
If Not IsNothing(DocumentViewer1) Then
@@ -3280,6 +3383,7 @@ Public Class frmValidator
' Load Document in Document Viewer
Dim oFileName = $"{CURRENT_DOC_ID}.{Current_Document.Extension}"
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
DocumentViewer1.LoadFile_FromPath(Current_Document.FullPath)
'Erstmal auskommentiert
@@ -3617,17 +3721,26 @@ Public Class frmValidator
Dim oIndexName As String
Dim oControName As String
Dim oIDBOverride As Boolean = False
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
Dim oCount As Integer = 0
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 oFormattedValue As String = ""
Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
@@ -3859,8 +3972,17 @@ Public Class frmValidator
If LOG_PERF Then PerformanceLogger.Info("FillIndexValues/GridControl")
oControlType = "DevExpress.XtraGrid.GridControl"
Dim oMyGridControl As GridControl = oControl
Dim oDTColumnsPerDevExGrid As DataTable = DT_COLUMNS_GRID.Clone()
Dim oMyGridControl As GridControl = oControl '
' ========== 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
If oSourceIndexName = "" Then
@@ -3885,8 +4007,8 @@ Public Class frmValidator
Select Case oTyp
'Tabellendarstellung
Case "TABLE"
Dim oExpression = $"CONTROL_ID = {oControlId}"
DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
'Dim oExpression = $"CONTROL_ID = {oControlId}"
'DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
Dim oColValuesfromSource As String()
MyValidationLogger.Debug($"DevExpressGrid: {oDTColumnsPerDevExGrid.Rows.Count} Columns configured for control {oControlId}.")
@@ -3927,7 +4049,7 @@ Public Class frmValidator
End If
Catch ex As Exception
' 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)
MyValidationLogger.Error(ex)
' Optional: weitere Kontexthilfe z.B. ob Spalte DBNull erlaubt
@@ -3951,7 +4073,7 @@ Public Class frmValidator
oColValuesfromSource = Split(oValueFromSource.ToString, PMDelimiter)
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
Dim oRowData As New List(Of Object)
@@ -3993,7 +4115,7 @@ Public Class frmValidator
oColValuesfromSource = Split(oRow.Item(0).ToString, PMDelimiter)
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
MyValidationLogger.Debug($"oColValuesfromSource splitted - Length ({oColValuesfromSource.Length.ToString})")
Dim oRowData As New List(Of Object)
@@ -4050,23 +4172,22 @@ Public Class frmValidator
End If
End If
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
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
End If
' ========== ENDE OPTIMIERUNG ==========
Dim i = 0
' RestoreDevExpressGridControl_Layout(CURRENT_CLICKED_PROFILE_ID, oControlId, oMyGridView)
@@ -4813,7 +4934,7 @@ Public Class frmValidator
' End If
'End If
Else
MyValidationLogger.Warn("ATTENTION: DYNAMIC VALUE IS NOTHING!")
MyValidationLogger.Warn("⚠️ ATTENTION: DYNAMIC VALUE IS NOTHING!")
Continue For
End If
End If
@@ -4865,7 +4986,7 @@ Public Class frmValidator
MyValidationLogger.Debug("...as single indexing")
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)
MyValidationLogger.Warn("Something went wrong while final-indexing")
MyValidationLogger.Warn("⚠️ Something went wrong while final-indexing")
Exit For
End If
Dim oFIResult As Boolean = False
@@ -5119,7 +5240,7 @@ Public Class frmValidator
If oErrorOcurred = True Then
MsgBox("Unhandled error occured in Finish Workflow-Step...Please check your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Else
'PRTF_PROFILE_FILES_WORK("Worked")
PRTF_PROFILE_FILES_WORK("Worked")
MyValidationLogger.Debug("Validation of document ended successfully!")
Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}"
If DatabaseFallback.ExecuteNonQueryECM(oPROCSQL) = False Then
@@ -5645,7 +5766,7 @@ Public Class frmValidator
MyValidationLogger.Error(ex)
Dim st As New StackTrace(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)
' Nach Fehler: Dirty-Flag zurücksetzen
@@ -6018,7 +6139,7 @@ Public Class frmValidator
Next ' End For Each oControl
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
Else
MyValidationLogger.Debug("Check_UpdateIndexe: Everything OK - returning True")
@@ -6290,8 +6411,8 @@ Public Class frmValidator
Try
MyValidationLogger.Debug("Skipping document....(Datei_ueberspringen)")
Dim oSQL = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID};" & vbNewLine &
Dim oPRoc = String.Format("EXEC PRTF_PROFILE_FILES_WORK {0},{1},{2},{3}", CURRENT_DOC_ID, CURRENT_ProfilGUID, USER_ID, "FreeFile")
Dim oSQL = oPRoc & vbNewLine &
$"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID};"
DatabaseFallback.ExecuteNonQueryECM(oSQL)
@@ -6692,7 +6813,7 @@ Public Class frmValidator
Dim oConverter As New PDFConverter(LOGCONFIG)
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
Else
MyValidationLogger.Info("File [{0}] successfully converted to plain PDF!", oTempFullFilename)
@@ -6700,11 +6821,11 @@ Public Class frmValidator
oFile2Export = oTempFullFilename
End If
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
End If
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
End If
Else

View File

@@ -442,7 +442,7 @@ Public Class frmValidatorSearch
.ShowSettingButton = True
})
Catch ex As Exception
LOGGER.Warn("Error initializing DocViewDocsValdiatorSearch: " & ex.Message)
LOGGER.Warn("⚠️ Error initializing DocViewDocsValdiatorSearch: " & ex.Message)
End Try
OperationMode = GetOperationMode()
@@ -631,7 +631,7 @@ Public Class frmValidatorSearch
End If
Else
LOGGER.Warn("Attention: RESULT_DOC_PATH is nothing")
LOGGER.Warn("⚠️ Attention: RESULT_DOC_PATH is nothing")
End If
Catch ex As Exception
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)

View File

@@ -1078,7 +1078,6 @@
<None Include="FinalIndexDataSet.xss">
<DependentUpon>FinalIndexDataSet.xsd</DependentUpon>
</None>
<None Include="frmValidator.v" />
<None Include="My Project\app.manifest" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>