V 2.9.9.0
Verbesserung DocSearchLoad, Mapping Sharedrive Refactoring Zusatzsuchen, Dokumentenhandling & Cleanup Umfangreiches Refactoring der Zusatzsuchen-Logik (Validator/ValidatorSearch): Vereinheitlichung und Typprüfung der DataTables, zentrale Filterung, robustere Tab-Steuerung und thread-sicheres Nachladen. Netzlaufwerk-Mapping und Dokumentenpfad-Handling wurden entfernt bzw. auf neue Handler ausgelagert. Profilsuchen-Handling vereinheitlicht, Parametrierung (Working Mode) klarer strukturiert. Diverse Bugfixes, verbessertes Logging, Cleanup von Ressourcen und Projektdateien, veraltete Komponenten entfernt. Update auf DocumentViewer 2.6.0.0. Die Anwendung ist robuster, wartbarer und für Erweiterungen vorbereitet.
This commit is contained in:
@@ -60,241 +60,242 @@ Public Class ClassParamRefresh
|
||||
' Use For Each loop over words and display them.
|
||||
Dim oMode As String
|
||||
For Each oMode In oSplitWorkMode
|
||||
LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
|
||||
If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then
|
||||
FORCE_LAYOUT_OVERVIEW = True
|
||||
LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]")
|
||||
ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then
|
||||
SHOW_MASS_VALIDATOR = False
|
||||
LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
|
||||
ElseIf oMode = "PM.NO_CHARTS" Then
|
||||
SHOW_CHARTS = False
|
||||
LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]")
|
||||
ElseIf oMode = "PM.DEBUG_LOG" Then
|
||||
DEBUG = True
|
||||
LOGCONFIG.Debug = True
|
||||
ElseIf oMode = "PM.LOG_HOTSPOTS" Then
|
||||
LOG_HOTSPOTS = True
|
||||
ElseIf oMode.StartsWith("OPERATION_MODE_FS") Then
|
||||
OPERATION_MODE_FS = oMode.Replace("OPERATION_MODE_FS=", "")
|
||||
If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
|
||||
IDB_USES_WMFILESTORE = True
|
||||
End If
|
||||
LOGGER.Info("OPERATION_MODE_FS: " + OPERATION_MODE_FS)
|
||||
ElseIf oMode = "PM.IDBWITHWMFS" Then
|
||||
IDB_USES_WMFILESTORE = True
|
||||
ElseIf oMode = "PM.NO_BASICCONF" Then
|
||||
BASIC_CONF_VISIBLE = False
|
||||
LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
|
||||
ElseIf oMode = "PM.SYS_LOCKED_MAINTENANCE" Then
|
||||
SYS_LOCKED_MAINTENANCE = True
|
||||
ElseIf oMode.StartsWith("PM.IDB_CONID!") Then
|
||||
If CONNECTION_STRING_IDB <> "" And dbIDBInitialized = True Then
|
||||
IDB_ACTIVE = True
|
||||
Continue For
|
||||
Else
|
||||
Dim Database_IDB As MSSQLServer = Nothing
|
||||
Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
|
||||
Dim oConString = DatabaseFallback.GetConnectionString(CON_ID)
|
||||
CONNECTION_STRING_IDB = oConString
|
||||
Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
|
||||
If Database_IDB.DBInitialized = True Then
|
||||
IDB_ACTIVE = True
|
||||
LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]!")
|
||||
DatabaseFallback.InitializeIDB(Database_IDB)
|
||||
Else
|
||||
IDB_ACTIVE = False
|
||||
End If
|
||||
End If
|
||||
ElseIf oMode = "PM.EXCEL_OVERVIEW" Then
|
||||
EXCEL_OVERVIEW = True
|
||||
LOGGER.Info($"EXCEL_OVERVIEW [{EXCEL_OVERVIEW}]")
|
||||
ElseIf oMode = "PM.MONITORING" Then
|
||||
MONITORING_ACTIVE = True
|
||||
LOGGER.Debug($"MONITORING_ACTIVE [{MONITORING_ACTIVE}]")
|
||||
ElseIf oMode = "PM.GHOSTMODE" Then
|
||||
GHOSTMODE_ACTIVE = True
|
||||
LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
|
||||
ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
|
||||
Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
|
||||
RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
|
||||
LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
|
||||
ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then
|
||||
NO_DETAIL_PROFILES = True
|
||||
LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
|
||||
ElseIf oMode = "PM.NO_POPUP" Then
|
||||
POPUP_REMINDER_ACTIVE = False
|
||||
LOGGER.Debug($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]")
|
||||
ElseIf oMode.StartsWith("PM.POPUP_TIMELAPS_OVERRIDE") Then
|
||||
Dim oTimeLapse = oMode.Replace("PM.POPUP_TIMELAPS_OVERRIDE=", "")
|
||||
LOGGER.Info($"CENTRAL POPUP_TIMELAPS_OVERRIDE [{oTimeLapse}]")
|
||||
Try
|
||||
CONFIG.Config.ReminderTimer = oTimeLapse
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
ProcessWorkingModeParameter(oMode, pMode)
|
||||
'LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
|
||||
'If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then
|
||||
' FORCE_LAYOUT_OVERVIEW = True
|
||||
' LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]")
|
||||
'ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then
|
||||
' SHOW_MASS_VALIDATOR = False
|
||||
' LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
|
||||
'ElseIf oMode = "PM.NO_CHARTS" Then
|
||||
' SHOW_CHARTS = False
|
||||
' LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]")
|
||||
'ElseIf oMode = "PM.DEBUG_LOG" Then
|
||||
' DEBUG = True
|
||||
' LOGCONFIG.Debug = True
|
||||
'ElseIf oMode = "PM.LOG_HOTSPOTS" Then
|
||||
' LOG_HOTSPOTS = True
|
||||
'ElseIf oMode.StartsWith("OPERATION_MODE_FS") Then
|
||||
' OPERATION_MODE_FS = oMode.Replace("OPERATION_MODE_FS=", "")
|
||||
' If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
|
||||
' IDB_USES_WMFILESTORE = True
|
||||
' End If
|
||||
' LOGGER.Info("OPERATION_MODE_FS: " + OPERATION_MODE_FS)
|
||||
'ElseIf oMode = "PM.IDBWITHWMFS" Then
|
||||
' IDB_USES_WMFILESTORE = True
|
||||
'ElseIf oMode = "PM.NO_BASICCONF" Then
|
||||
' BASIC_CONF_VISIBLE = False
|
||||
' LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
|
||||
'ElseIf oMode = "PM.SYS_LOCKED_MAINTENANCE" Then
|
||||
' SYS_LOCKED_MAINTENANCE = True
|
||||
'ElseIf oMode.StartsWith("PM.IDB_CONID!") Then
|
||||
' If CONNECTION_STRING_IDB <> "" And dbIDBInitialized = True Then
|
||||
' IDB_ACTIVE = True
|
||||
' Continue For
|
||||
' Else
|
||||
' Dim Database_IDB As MSSQLServer = Nothing
|
||||
' Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
|
||||
' Dim oConString = DatabaseFallback.GetConnectionString(CON_ID)
|
||||
' CONNECTION_STRING_IDB = oConString
|
||||
' Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
|
||||
' If Database_IDB.DBInitialized = True Then
|
||||
' IDB_ACTIVE = True
|
||||
' LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]!")
|
||||
' DatabaseFallback.InitializeIDB(Database_IDB)
|
||||
' Else
|
||||
' IDB_ACTIVE = False
|
||||
' End If
|
||||
' End If
|
||||
'ElseIf oMode = "PM.EXCEL_OVERVIEW" Then
|
||||
' EXCEL_OVERVIEW = True
|
||||
' LOGGER.Info($"EXCEL_OVERVIEW [{EXCEL_OVERVIEW}]")
|
||||
'ElseIf oMode = "PM.MONITORING" Then
|
||||
' MONITORING_ACTIVE = True
|
||||
' LOGGER.Debug($"MONITORING_ACTIVE [{MONITORING_ACTIVE}]")
|
||||
'ElseIf oMode = "PM.GHOSTMODE" Then
|
||||
' GHOSTMODE_ACTIVE = True
|
||||
' LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
|
||||
'ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
|
||||
' Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
|
||||
' RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
|
||||
' LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
|
||||
'ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then
|
||||
' NO_DETAIL_PROFILES = True
|
||||
' LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
|
||||
'ElseIf oMode = "PM.NO_POPUP" Then
|
||||
' POPUP_REMINDER_ACTIVE = False
|
||||
' LOGGER.Debug($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]")
|
||||
'ElseIf oMode.StartsWith("PM.POPUP_TIMELAPS_OVERRIDE") Then
|
||||
' Dim oTimeLapse = oMode.Replace("PM.POPUP_TIMELAPS_OVERRIDE=", "")
|
||||
' LOGGER.Info($"CENTRAL POPUP_TIMELAPS_OVERRIDE [{oTimeLapse}]")
|
||||
' Try
|
||||
' CONFIG.Config.ReminderTimer = oTimeLapse
|
||||
' Catch ex As Exception
|
||||
' End Try
|
||||
|
||||
ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then
|
||||
Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "")
|
||||
CONV_IDENTIFICATION = oIdent
|
||||
ElseIf oMode.StartsWith("PM.INACTIVITY_DURATION") Then
|
||||
Dim oInactivityDuration = oMode.Replace("PM.INACTIVITY_DURATION=", "")
|
||||
Try
|
||||
INACTIVITY_DURATION = CInt(oInactivityDuration)
|
||||
LOGGER.Debug($"InactivityDuration [{INACTIVITY_DURATION}]")
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"INACTIVITY_DURATION = 0 - {ex.Message}")
|
||||
INACTIVITY_DURATION = 0
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then
|
||||
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "")
|
||||
Try
|
||||
LAST_EDITED_COLUMN = oLEDITEDCOL
|
||||
LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
|
||||
Catch ex As Exception
|
||||
LAST_EDITED_COLUMN = ""
|
||||
'ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then
|
||||
' Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "")
|
||||
' CONV_IDENTIFICATION = oIdent
|
||||
'ElseIf oMode.StartsWith("PM.INACTIVITY_DURATION") Then
|
||||
' Dim oInactivityDuration = oMode.Replace("PM.INACTIVITY_DURATION=", "")
|
||||
' Try
|
||||
' INACTIVITY_DURATION = CInt(oInactivityDuration)
|
||||
' LOGGER.Debug($"InactivityDuration [{INACTIVITY_DURATION}]")
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn($"INACTIVITY_DURATION = 0 - {ex.Message}")
|
||||
' INACTIVITY_DURATION = 0
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then
|
||||
' Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "")
|
||||
' Try
|
||||
' LAST_EDITED_COLUMN = oLEDITEDCOL
|
||||
' LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
|
||||
' Catch ex As Exception
|
||||
' LAST_EDITED_COLUMN = ""
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.COL_LAST_ADDED") Then
|
||||
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "")
|
||||
Try
|
||||
LAST_ADDED_COLUMN = oLEDITEDCOL
|
||||
LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}")
|
||||
Catch ex As Exception
|
||||
LAST_ADDED_COLUMN = ""
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.COL_LAST_ADDED") Then
|
||||
' Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "")
|
||||
' Try
|
||||
' LAST_ADDED_COLUMN = oLEDITEDCOL
|
||||
' LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}")
|
||||
' Catch ex As Exception
|
||||
' LAST_ADDED_COLUMN = ""
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.MON_COL_CHANGED_WHEN") Then
|
||||
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_CHANGED_WHEN=", "")
|
||||
Try
|
||||
MON_EDITED_COLUMN = oLEDITEDCOL
|
||||
LOGGER.Debug($"MON_EDITED_COLUMN: {oLEDITEDCOL}")
|
||||
Catch ex As Exception
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.MON_COL_CHANGED_WHEN") Then
|
||||
' Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_CHANGED_WHEN=", "")
|
||||
' Try
|
||||
' MON_EDITED_COLUMN = oLEDITEDCOL
|
||||
' LOGGER.Debug($"MON_EDITED_COLUMN: {oLEDITEDCOL}")
|
||||
' Catch ex As Exception
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.MON_COL_ADDED_WHEN") Then
|
||||
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_ADDED_WHEN=", "")
|
||||
Try
|
||||
MON_ADDED_COLUMN = oLEDITEDCOL
|
||||
LOGGER.Debug($"MON_COL_ADDED_WHEN: {oLEDITEDCOL}")
|
||||
Catch ex As Exception
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.MON_COL_ADDED_WHEN") Then
|
||||
' Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_ADDED_WHEN=", "")
|
||||
' Try
|
||||
' MON_ADDED_COLUMN = oLEDITEDCOL
|
||||
' LOGGER.Debug($"MON_COL_ADDED_WHEN: {oLEDITEDCOL}")
|
||||
' Catch ex As Exception
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.USE_APPSERVER") Then
|
||||
Dim oUSE_APPSERVER = oMode.Replace("PM.USE_APPSERVER=", "")
|
||||
Try
|
||||
USE_APPSERVER = CBool(oUSE_APPSERVER)
|
||||
Catch ex As Exception
|
||||
USE_APPSERVER = False
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.COPYWM2TEMP") Then
|
||||
Dim oCOPYWM2TEMP = oMode.Replace("PM.COPYWM2TEMP=", "")
|
||||
Try
|
||||
COPY_WMFILE_2TEMP = CBool(oCOPYWM2TEMP)
|
||||
Catch ex As Exception
|
||||
COPY_WMFILE_2TEMP = False
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.MAP_SHARE_DRIVE") Then
|
||||
Dim oMAP_SHARE_DRIVE = oMode.Replace("PM.MAP_SHARE_DRIVE=", "")
|
||||
Try
|
||||
MAP_SHARE_DRIVE = oMAP_SHARE_DRIVE
|
||||
Catch ex As Exception
|
||||
oMAP_SHARE_DRIVE = String.Empty
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.MAP_BLACKLIST") Then
|
||||
Dim oMAP_BLACKLIST = oMode.Replace("PM.MAP_BLACKLIST=", "")
|
||||
Try
|
||||
MAP_BLACKLIST = oMAP_BLACKLIST
|
||||
Catch ex As Exception
|
||||
MAP_BLACKLIST = String.Empty
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.SEARCH1") Then
|
||||
Dim oSearch1 = oMode.Replace("PM.SEARCH1=", "")
|
||||
Try
|
||||
SEARCH1 = oSearch1
|
||||
Catch ex As Exception
|
||||
SEARCH1 = ""
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.SEARCH2") Then
|
||||
Dim oSearch2 = oMode.Replace("PM.SEARCH2=", "")
|
||||
Try
|
||||
SEARCH2 = oSearch2
|
||||
Catch ex As Exception
|
||||
SEARCH2 = ""
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.TRAFFICLIGHT_ICON") Then
|
||||
Dim oParam = oMode.Replace("PM.TRAFFICLIGHT_ICON=", "")
|
||||
Try
|
||||
TL_ICON = CBool(oParam)
|
||||
Catch ex As Exception
|
||||
TL_ICON = False
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.TITLE_NOTIFICATIONS") Then
|
||||
Dim oParam = oMode.Replace("PM.TITLE_NOTIFICATIONS=", "")
|
||||
Try
|
||||
TITLE_NOTIFICATIONS = oParam
|
||||
Catch ex As Exception
|
||||
TITLE_NOTIFICATIONS = ""
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("TF.InheritanceMsgAmount") And pMode = "Load" Then
|
||||
Dim oParam = oMode.Replace("TF.InheritanceMsgAmount=", "")
|
||||
Try
|
||||
InheritanceMsgAmount = oParam
|
||||
Catch ex As Exception
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.USE_APPSERVER") Then
|
||||
' Dim oUSE_APPSERVER = oMode.Replace("PM.USE_APPSERVER=", "")
|
||||
' Try
|
||||
' USE_APPSERVER = CBool(oUSE_APPSERVER)
|
||||
' Catch ex As Exception
|
||||
' USE_APPSERVER = False
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.COPYWM2TEMP") Then
|
||||
' Dim oCOPYWM2TEMP = oMode.Replace("PM.COPYWM2TEMP=", "")
|
||||
' Try
|
||||
' COPY_WMFILE_2TEMP = CBool(oCOPYWM2TEMP)
|
||||
' Catch ex As Exception
|
||||
' COPY_WMFILE_2TEMP = False
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.MAP_SHARE_DRIVE") Then
|
||||
' Dim oMAP_SHARE_DRIVE = oMode.Replace("PM.MAP_SHARE_DRIVE=", "")
|
||||
' Try
|
||||
' MAP_SHARE_DRIVE = oMAP_SHARE_DRIVE
|
||||
' Catch ex As Exception
|
||||
' oMAP_SHARE_DRIVE = String.Empty
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.MAP_BLACKLIST") Then
|
||||
' Dim oMAP_BLACKLIST = oMode.Replace("PM.MAP_BLACKLIST=", "")
|
||||
' Try
|
||||
' MAP_BLACKLIST = oMAP_BLACKLIST
|
||||
' Catch ex As Exception
|
||||
' MAP_BLACKLIST = String.Empty
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.SEARCH1") Then
|
||||
' Dim oSearch1 = oMode.Replace("PM.SEARCH1=", "")
|
||||
' Try
|
||||
' SEARCH1 = oSearch1
|
||||
' Catch ex As Exception
|
||||
' SEARCH1 = ""
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.SEARCH2") Then
|
||||
' Dim oSearch2 = oMode.Replace("PM.SEARCH2=", "")
|
||||
' Try
|
||||
' SEARCH2 = oSearch2
|
||||
' Catch ex As Exception
|
||||
' SEARCH2 = ""
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.TRAFFICLIGHT_ICON") Then
|
||||
' Dim oParam = oMode.Replace("PM.TRAFFICLIGHT_ICON=", "")
|
||||
' Try
|
||||
' TL_ICON = CBool(oParam)
|
||||
' Catch ex As Exception
|
||||
' TL_ICON = False
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.TITLE_NOTIFICATIONS") Then
|
||||
' Dim oParam = oMode.Replace("PM.TITLE_NOTIFICATIONS=", "")
|
||||
' Try
|
||||
' TITLE_NOTIFICATIONS = oParam
|
||||
' Catch ex As Exception
|
||||
' TITLE_NOTIFICATIONS = ""
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("TF.InheritanceMsgAmount") And pMode = "Load" Then
|
||||
' Dim oParam = oMode.Replace("TF.InheritanceMsgAmount=", "")
|
||||
' Try
|
||||
' InheritanceMsgAmount = oParam
|
||||
' Catch ex As Exception
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("TF.InheritanceCalcReset") And pMode = "Load" Then
|
||||
Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
|
||||
Try
|
||||
If CBool(oParam) = True Then
|
||||
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)
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("TF.InheritanceCalcReset") And pMode = "Load" Then
|
||||
' Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
|
||||
' Try
|
||||
' If CBool(oParam) = True Then
|
||||
' 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)
|
||||
|
||||
UserInheritance_ConfirmationByColumn = Nothing
|
||||
CONFIG.Save()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
' UserInheritance_ConfirmationByColumn = Nothing
|
||||
' CONFIG.Save()
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.START_CW") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.START_CW=", "")
|
||||
Try
|
||||
START_CW = True
|
||||
LOGGER.Debug("PM.START_CW = True")
|
||||
Dim oSplit As String() = oAfterReplace.Split("~")
|
||||
START_CW_CAPTION = oSplit(0)
|
||||
Try
|
||||
START_CW_LOC_VARIANT = oSplit(1)
|
||||
Catch ex As Exception
|
||||
START_CW_LOC_VARIANT = "-1"
|
||||
LOGGER.Warn($"Could not read START_CW_LOCVARIANT : {ex.Message}")
|
||||
End Try
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.START_CW") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.START_CW=", "")
|
||||
' Try
|
||||
' START_CW = True
|
||||
' LOGGER.Debug("PM.START_CW = True")
|
||||
' Dim oSplit As String() = oAfterReplace.Split("~")
|
||||
' START_CW_CAPTION = oSplit(0)
|
||||
' Try
|
||||
' START_CW_LOC_VARIANT = oSplit(1)
|
||||
' Catch ex As Exception
|
||||
' START_CW_LOC_VARIANT = "-1"
|
||||
' LOGGER.Warn($"Could not read START_CW_LOCVARIANT : {ex.Message}")
|
||||
' End Try
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
|
||||
START_CW = False
|
||||
End Try
|
||||
ElseIf oMode.StartsWith("PM.RibbonPageCustTitle") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustTitle=", "")
|
||||
RibbonPageCustTitle = oAfterReplace
|
||||
ElseIf oMode.StartsWith("PM.RibbonPageCustItm1") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustItm1=", "")
|
||||
RibbonPageCustItm1 = oAfterReplace
|
||||
ElseIf oMode.StartsWith("PM.ButtonExport2FolderCaption") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2FolderCaption=", "")
|
||||
ButtonExport2Folder_Caption = oAfterReplace
|
||||
ElseIf oMode.StartsWith("PM.ButtonExport2Folder_Mode") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_Mode=", "")
|
||||
ButtonExport2Folder_Mode = oAfterReplace
|
||||
ElseIf oMode.StartsWith("PM.ButtonExport2Folder_RootFolder") Then
|
||||
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "")
|
||||
ButtonExport2Folder_RootFolder = oAfterReplace
|
||||
ElseIf oMode = "MAINFORM_ALLOW_LOGFILES" Then
|
||||
MAINFORM_CREATE_LOG_FILES = True
|
||||
Else
|
||||
LOGGER.Info($"Wrong oMode: {oMode}")
|
||||
End If
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
|
||||
' START_CW = False
|
||||
' End Try
|
||||
'ElseIf oMode.StartsWith("PM.RibbonPageCustTitle") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustTitle=", "")
|
||||
' RibbonPageCustTitle = oAfterReplace
|
||||
'ElseIf oMode.StartsWith("PM.RibbonPageCustItm1") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustItm1=", "")
|
||||
' RibbonPageCustItm1 = oAfterReplace
|
||||
'ElseIf oMode.StartsWith("PM.ButtonExport2FolderCaption") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2FolderCaption=", "")
|
||||
' ButtonExport2Folder_Caption = oAfterReplace
|
||||
'ElseIf oMode.StartsWith("PM.ButtonExport2Folder_Mode") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_Mode=", "")
|
||||
' ButtonExport2Folder_Mode = oAfterReplace
|
||||
'ElseIf oMode.StartsWith("PM.ButtonExport2Folder_RootFolder") Then
|
||||
' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "")
|
||||
' ButtonExport2Folder_RootFolder = oAfterReplace
|
||||
'ElseIf oMode = "MAINFORM_ALLOW_LOGFILES" Then
|
||||
' MAINFORM_CREATE_LOG_FILES = True
|
||||
'Else
|
||||
' LOGGER.Info($"Wrong oMode: {oMode}")
|
||||
'End If
|
||||
Next
|
||||
'If IDB_ACTIVE Then
|
||||
' If CONNECTION_STRING_APP_SERVER <> String.Empty Then
|
||||
@@ -312,4 +313,267 @@ Public Class ClassParamRefresh
|
||||
End If
|
||||
oStopwatch.Done()
|
||||
End Sub
|
||||
Private Shared Sub ProcessWorkingModeParameter(oMode As String, pMode As String)
|
||||
LOGGER.Debug($"Processing Working Mode Parameter: {oMode}")
|
||||
|
||||
Select Case True
|
||||
Case oMode = "PM.FORCE_LAYOUT_OVERVIEW"
|
||||
SetBooleanParameter(FORCE_LAYOUT_OVERVIEW, True, "FORCE_LAYOUT_OVERVIEW")
|
||||
|
||||
Case oMode = "PM.NO_MASS_VALIDATOR"
|
||||
SetBooleanParameter(SHOW_MASS_VALIDATOR, False, "SHOW_MASS_VALIDATOR", LogLevel.Info)
|
||||
|
||||
Case oMode = "PM.NO_CHARTS"
|
||||
SetBooleanParameter(SHOW_CHARTS, False, "SHOW_CHARTS")
|
||||
|
||||
Case oMode = "PM.DEBUG_LOG"
|
||||
DEBUG = True
|
||||
LOGCONFIG.Debug = True
|
||||
LOGGER.Debug($"DEBUG_LOG = True")
|
||||
|
||||
Case oMode = "PM.LOG_HOTSPOTS"
|
||||
SetBooleanParameter(LOG_HOTSPOTS, True, "LOG_HOTSPOTS")
|
||||
|
||||
Case oMode.StartsWith("OPERATION_MODE_FS")
|
||||
OPERATION_MODE_FS = ExtractParameterValue(oMode, "OPERATION_MODE_FS")
|
||||
If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
|
||||
IDB_USES_WMFILESTORE = True
|
||||
End If
|
||||
LOGGER.Info($"OPERATION_MODE_FS = {OPERATION_MODE_FS}")
|
||||
|
||||
Case oMode = "PM.IDBWITHWMFS"
|
||||
SetBooleanParameter(IDB_USES_WMFILESTORE, True, "IDB_USES_WMFILESTORE", LogLevel.Info)
|
||||
|
||||
Case oMode = "PM.NO_BASICCONF"
|
||||
SetBooleanParameter(BASIC_CONF_VISIBLE, False, "BASIC_CONF_VISIBLE", LogLevel.Info)
|
||||
|
||||
Case oMode = "PM.SYS_LOCKED_MAINTENANCE"
|
||||
SetBooleanParameter(SYS_LOCKED_MAINTENANCE, True, "SYS_LOCKED_MAINTENANCE")
|
||||
|
||||
Case oMode.StartsWith("PM.IDB_CONID!")
|
||||
ProcessIDBConnection(oMode)
|
||||
|
||||
Case oMode = "PM.EXCEL_OVERVIEW"
|
||||
SetBooleanParameter(EXCEL_OVERVIEW, True, "EXCEL_OVERVIEW", LogLevel.Info)
|
||||
|
||||
Case oMode = "PM.MONITORING"
|
||||
SetBooleanParameter(MONITORING_ACTIVE, True, "MONITORING_ACTIVE")
|
||||
|
||||
Case oMode = "PM.GHOSTMODE"
|
||||
SetBooleanParameter(GHOSTMODE_ACTIVE, True, "GHOSTMODE_ACTIVE", LogLevel.Info)
|
||||
|
||||
Case oMode.StartsWith("PM.COLORSCHEME")
|
||||
RIBBON_COLOR_SCHEME = ExtractParameterValue(oMode, "PM.COLORSCHEME").ToUpper
|
||||
LOGGER.Debug($"RIBBON_COLOR_SCHEME = {RIBBON_COLOR_SCHEME}")
|
||||
|
||||
Case oMode.StartsWith("PM.NO_DETAIL_PROFILES")
|
||||
SetBooleanParameter(NO_DETAIL_PROFILES, True, "NO_DETAIL_PROFILES")
|
||||
|
||||
Case oMode = "PM.NO_POPUP"
|
||||
SetBooleanParameter(POPUP_REMINDER_ACTIVE, False, "POPUP_REMINDER_ACTIVE")
|
||||
|
||||
Case oMode.StartsWith("PM.POPUP_TIMELAPS_OVERRIDE")
|
||||
ProcessPopupTimeLapse(oMode)
|
||||
|
||||
Case oMode.StartsWith("PM.CONV_IDENTIFICATION")
|
||||
CONV_IDENTIFICATION = ExtractParameterValue(oMode, "PM.CONV_IDENTIFICATION")
|
||||
LOGGER.Debug($"CONV_IDENTIFICATION = {CONV_IDENTIFICATION}")
|
||||
|
||||
Case oMode.StartsWith("PM.INACTIVITY_DURATION")
|
||||
ProcessIntegerParameter(oMode, "PM.INACTIVITY_DURATION", INACTIVITY_DURATION, "InactivityDuration")
|
||||
|
||||
Case oMode.StartsWith("PM.COL_LAST_EDITED")
|
||||
LAST_EDITED_COLUMN = ExtractParameterValue(oMode, "PM.COL_LAST_EDITED")
|
||||
LOGGER.Debug($"LAST_EDITED_COLUMN = {LAST_EDITED_COLUMN}")
|
||||
|
||||
Case oMode.StartsWith("PM.COL_LAST_ADDED")
|
||||
LAST_ADDED_COLUMN = ExtractParameterValue(oMode, "PM.COL_LAST_ADDED")
|
||||
LOGGER.Debug($"LAST_ADDED_COLUMN = {LAST_ADDED_COLUMN}")
|
||||
|
||||
Case oMode.StartsWith("PM.MON_COL_CHANGED_WHEN")
|
||||
MON_EDITED_COLUMN = ExtractParameterValue(oMode, "PM.MON_COL_CHANGED_WHEN")
|
||||
LOGGER.Debug($"MON_EDITED_COLUMN = {MON_EDITED_COLUMN}")
|
||||
|
||||
Case oMode.StartsWith("PM.MON_COL_ADDED_WHEN")
|
||||
MON_ADDED_COLUMN = ExtractParameterValue(oMode, "PM.MON_COL_ADDED_WHEN")
|
||||
LOGGER.Debug($"MON_ADDED_COLUMN = {MON_ADDED_COLUMN}")
|
||||
|
||||
Case oMode.StartsWith("PM.USE_APPSERVER")
|
||||
ProcessBooleanParameter(oMode, "PM.USE_APPSERVER", USE_APPSERVER, "USE_APPSERVER")
|
||||
|
||||
Case oMode.StartsWith("PM.COPYWM2TEMP")
|
||||
ProcessBooleanParameter(oMode, "PM.COPYWM2TEMP", COPY_WMFILE_2TEMP, "COPY_WMFILE_2TEMP")
|
||||
|
||||
Case oMode.StartsWith("PM.MAP_SHARE_DRIVE")
|
||||
MAP_SHARE_DRIVE = ExtractParameterValue(oMode, "PM.MAP_SHARE_DRIVE")
|
||||
LOGGER.Debug($"MAP_SHARE_DRIVE = {MAP_SHARE_DRIVE}")
|
||||
|
||||
Case oMode.StartsWith("PM.MAP_BLACKLIST")
|
||||
MAP_BLACKLIST = ExtractParameterValue(oMode, "PM.MAP_BLACKLIST")
|
||||
LOGGER.Debug($"MAP_BLACKLIST = {MAP_BLACKLIST}")
|
||||
|
||||
Case oMode.StartsWith("PM.SEARCH1")
|
||||
SEARCH1 = ExtractParameterValue(oMode, "PM.SEARCH1")
|
||||
LOGGER.Debug($"SEARCH1 = {SEARCH1}")
|
||||
|
||||
Case oMode.StartsWith("PM.SEARCH2")
|
||||
SEARCH2 = ExtractParameterValue(oMode, "PM.SEARCH2")
|
||||
LOGGER.Debug($"SEARCH2 = {SEARCH2}")
|
||||
|
||||
Case oMode.StartsWith("PM.TRAFFICLIGHT_ICON")
|
||||
ProcessBooleanParameter(oMode, "PM.TRAFFICLIGHT_ICON", TL_ICON, "TL_ICON")
|
||||
|
||||
Case oMode.StartsWith("PM.TITLE_NOTIFICATIONS")
|
||||
TITLE_NOTIFICATIONS = ExtractParameterValue(oMode, "PM.TITLE_NOTIFICATIONS")
|
||||
LOGGER.Debug($"TITLE_NOTIFICATIONS = {TITLE_NOTIFICATIONS}")
|
||||
|
||||
Case oMode.StartsWith("TF.InheritanceMsgAmount") AndAlso pMode = "Load"
|
||||
InheritanceMsgAmount = ExtractParameterValue(oMode, "TF.InheritanceMsgAmount")
|
||||
LOGGER.Debug($"InheritanceMsgAmount = {InheritanceMsgAmount}")
|
||||
|
||||
Case oMode.StartsWith("TF.InheritanceCalcReset") AndAlso pMode = "Load"
|
||||
ProcessInheritanceReset(oMode)
|
||||
|
||||
Case oMode.StartsWith("PM.START_CW")
|
||||
ProcessStartCW(oMode)
|
||||
|
||||
Case oMode.StartsWith("PM.RibbonPageCustTitle")
|
||||
RibbonPageCustTitle = ExtractParameterValue(oMode, "PM.RibbonPageCustTitle")
|
||||
LOGGER.Debug($"RibbonPageCustTitle = {RibbonPageCustTitle}")
|
||||
|
||||
Case oMode.StartsWith("PM.RibbonPageCustItm1")
|
||||
RibbonPageCustItm1 = ExtractParameterValue(oMode, "PM.RibbonPageCustItm1")
|
||||
LOGGER.Debug($"RibbonPageCustItm1 = {RibbonPageCustItm1}")
|
||||
|
||||
Case oMode.StartsWith("PM.ButtonExport2FolderCaption")
|
||||
ButtonExport2Folder_Caption = ExtractParameterValue(oMode, "PM.ButtonExport2FolderCaption")
|
||||
LOGGER.Debug($"ButtonExport2FolderCaption = {ButtonExport2Folder_Caption}")
|
||||
|
||||
Case oMode.StartsWith("PM.ButtonExport2Folder_Mode")
|
||||
ButtonExport2Folder_Mode = ExtractParameterValue(oMode, "PM.ButtonExport2Folder_Mode")
|
||||
LOGGER.Debug($"ButtonExport2Folder_Mode = {ButtonExport2Folder_Mode}")
|
||||
|
||||
Case oMode.StartsWith("PM.ButtonExport2Folder_RootFolder")
|
||||
ButtonExport2Folder_RootFolder = ExtractParameterValue(oMode, "PM.ButtonExport2Folder_RootFolder")
|
||||
LOGGER.Debug($"ButtonExport2Folder_RootFolder = {ButtonExport2Folder_RootFolder}")
|
||||
|
||||
Case oMode = "MAINFORM_ALLOW_LOGFILES"
|
||||
SetBooleanParameter(MAINFORM_CREATE_LOG_FILES, True, "MAINFORM_CREATE_LOG_FILES")
|
||||
|
||||
Case Else
|
||||
LOGGER.Info($"Unknown Working Mode Parameter: {oMode}")
|
||||
End Select
|
||||
End Sub
|
||||
Private Shared Function ExtractParameterValue(parameterString As String, prefix As String) As String
|
||||
Return parameterString.Replace($"{prefix}=", "")
|
||||
End Function
|
||||
|
||||
Private Shared Sub SetBooleanParameter(ByRef target As Boolean, value As Boolean, paramName As String, Optional logLevel As LogLevel = LogLevel.Debug)
|
||||
target = value
|
||||
LogParameterValue(paramName, value.ToString(), logLevel)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessBooleanParameter(oMode As String, prefix As String, ByRef target As Boolean, paramName As String)
|
||||
Dim value = ExtractParameterValue(oMode, prefix)
|
||||
Try
|
||||
target = CBool(value)
|
||||
LOGGER.Debug($"{paramName} = {target}")
|
||||
Catch ex As Exception
|
||||
target = False
|
||||
LOGGER.Warn($"Failed to parse {paramName}: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessIntegerParameter(oMode As String, prefix As String, ByRef target As Integer, paramName As String)
|
||||
Dim value = ExtractParameterValue(oMode, prefix)
|
||||
Try
|
||||
target = CInt(value)
|
||||
LOGGER.Debug($"{paramName} = {target}")
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"Failed to parse {paramName}: {ex.Message}. Setting to 0")
|
||||
target = 0
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessIDBConnection(oMode As String)
|
||||
Dim Database_IDB As MSSQLServer = Nothing
|
||||
Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
|
||||
Dim oConString = DatabaseFallback.GetConnectionString(CON_ID)
|
||||
CONNECTION_STRING_IDB = oConString
|
||||
Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
|
||||
|
||||
If Database_IDB.DBInitialized = True Then
|
||||
IDB_ACTIVE = True
|
||||
LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]")
|
||||
DatabaseFallback.InitializeIDB(Database_IDB)
|
||||
Else
|
||||
IDB_ACTIVE = False
|
||||
LOGGER.Warn($"Failed to initialize IDB with Connection [{CON_ID}]")
|
||||
End If
|
||||
If CONNECTION_STRING_IDB <> "" AndAlso Database_IDB.DBInitialized = True Then
|
||||
IDB_ACTIVE = True
|
||||
LOGGER.Debug("IDB already initialized and active")
|
||||
Return
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessPopupTimeLapse(oMode As String)
|
||||
Dim oTimeLapse = ExtractParameterValue(oMode, "PM.POPUP_TIMELAPS_OVERRIDE")
|
||||
LOGGER.Info($"POPUP_TIMELAPS_OVERRIDE = {oTimeLapse}")
|
||||
Try
|
||||
CONFIG.Config.ReminderTimer = oTimeLapse
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"Failed to set ReminderTimer: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessInheritanceReset(oMode As String)
|
||||
Dim oParam = ExtractParameterValue(oMode, "TF.InheritanceCalcReset")
|
||||
Try
|
||||
If CBool(oParam) = True Then
|
||||
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)
|
||||
UserInheritance_ConfirmationByColumn = Nothing
|
||||
CONFIG.Save()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"Failed to process InheritanceCalcReset: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ProcessStartCW(oMode As String)
|
||||
Dim oAfterReplace = ExtractParameterValue(oMode, "PM.START_CW")
|
||||
Try
|
||||
START_CW = True
|
||||
LOGGER.Debug("PM.START_CW = True")
|
||||
Dim oSplit As String() = oAfterReplace.Split("~")
|
||||
START_CW_CAPTION = oSplit(0)
|
||||
Try
|
||||
START_CW_LOC_VARIANT = oSplit(1)
|
||||
LOGGER.Debug($"START_CW_LOC_VARIANT = {START_CW_LOC_VARIANT}")
|
||||
Catch ex As Exception
|
||||
START_CW_LOC_VARIANT = "-1"
|
||||
LOGGER.Warn($"Could not read START_CW_LOC_VARIANT: {ex.Message}")
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
|
||||
START_CW = False
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub LogParameterValue(paramName As String, value As String, logLevel As LogLevel)
|
||||
Select Case logLevel
|
||||
Case LogLevel.Info
|
||||
LOGGER.Info($"{paramName} = {value}")
|
||||
Case Else
|
||||
LOGGER.Debug($"{paramName} = {value}")
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Enum LogLevel
|
||||
Debug
|
||||
Info
|
||||
End Enum
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user