diff --git a/app/DD_PM_WINDREAM/ApplicationEvents.vb b/app/DD_PM_WINDREAM/ApplicationEvents.vb
index 7e8971b..27e4f35 100644
--- a/app/DD_PM_WINDREAM/ApplicationEvents.vb
+++ b/app/DD_PM_WINDREAM/ApplicationEvents.vb
@@ -16,13 +16,13 @@ Namespace My
LOGGER.Error(e.Exception)
Try
- If USER_DEBUG_LOG = True Then
+ If DEBUG = True Then
Dim oLogMessage = LOGCONFIG.Logs.Last()
Dim oLogSplit As String() = oLogMessage.Split("|")
Dim oDBMessage = PrepareLogMessage(oLogMessage) & $" [Machinename: {Environment.MachineName}]"
Dim oSQL = $"INSERT INTO [dbo].[TBPM_LOG_DEBUG] ([USERID], [LOGMSG], [ADDED_WHEN], DATE_STR) VALUES({USER_ID},'{oDBMessage}',GETDATE(),'{Now}')"
- ClassDatabase.Execute_non_Query(oSQL)
+ Database_ECM.ExecuteNonQuery(oSQL)
End If
Catch ex As Exception
LOGGER.Error(ex)
diff --git a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
index d06e16b..b773dec 100644
--- a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
+++ b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
@@ -45,14 +45,14 @@ Public Class ClassAllgemeineFunktionen
Else
If INACTIVITYRecognized = True Then
oSql = $"UPDATE TBDD_USER_LOGIN_OUT SET COMMENT = 'Inactivity Detected',LOGOUT = GETDATE() WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager') AND LOGOUT IS NULL"
- If ClassDatabase.Execute_non_Query(oSql, "Inactivity insert") = True Then
+ If Database_ECM.ExecuteNonQuery(oSql, "Inactivity insert") = True Then
End If
End If
oSql = $"DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager')"
End If
- If ClassDatabase.Execute_non_Query(oSql, "LOGIN/OUT") = True Then
+ If Database_ECM.ExecuteNonQuery(oSql) = True Then
LOGGER.Debug($"{LoginorOut} of User successfully!")
Return True
Else
@@ -70,7 +70,7 @@ Public Class ClassAllgemeineFunktionen
Try
ERR_MSG = ERR_MSG.Replace("'", "''")
Dim insert As String = $"INSERT INTO TBPM_LOG_DEBUG (USERID, LOGMSG) VALUES ({USER_ID},'{ERR_MSG}')"
- If ExecuteonMSSQL(insert, CONNECTION_STRING) <> "" Then
+ If ExecuteonMSSQL(insert, CONNECTION_STRING_ECM) <> "" Then
LOGGER.Warn("...Eintrag in Log-Tabelle konnte nicht erstellt werden!!", True)
End If
Catch ex As Exception
diff --git a/app/DD_PM_WINDREAM/ClassConfig.vb b/app/DD_PM_WINDREAM/ClassConfig.vb
index beb5442..2734370 100644
--- a/app/DD_PM_WINDREAM/ClassConfig.vb
+++ b/app/DD_PM_WINDREAM/ClassConfig.vb
@@ -27,7 +27,7 @@ Public Class ClassConfig
Public Property FileDelimiter As String = "_"
' Misc Settings
- Public Property LogErrorsOnly As Boolean = True
+ Public Property DEBUG As Boolean = False
Public Property ReminderTimer As Integer = 5
Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270
diff --git a/app/DD_PM_WINDREAM/ClassDataASorDB.vb b/app/DD_PM_WINDREAM/ClassDataASorDB.vb
index 2edec50..8d84f98 100644
--- a/app/DD_PM_WINDREAM/ClassDataASorDB.vb
+++ b/app/DD_PM_WINDREAM/ClassDataASorDB.vb
@@ -23,9 +23,9 @@ Public Class ClassDataASorDB
End Try
Else
If pDB = "DD_ECM" Then
- oReturnDT = ClassDatabase.Return_Datatable_ConStr(pSQL, CONNECTION_STRING)
+ oReturnDT = Database_ECM.GetDatatable(pSQL)
ElseIf pDB = "IDB" Then
- oReturnDT = ClassDatabase.Return_Datatable_ConStr(pSQL, CONNECTION_STRING_IDB)
+ oReturnDT = Database_IDB.GetDatatable(pSQL)
End If
End If
diff --git a/app/DD_PM_WINDREAM/ClassDatabase.vb b/app/DD_PM_WINDREAM/ClassDatabase.vb
index 172d897..87bede6 100644
--- a/app/DD_PM_WINDREAM/ClassDatabase.vb
+++ b/app/DD_PM_WINDREAM/ClassDatabase.vb
@@ -9,7 +9,7 @@ Public Class ClassDatabase
Dim connectionString As String = ""
Try
'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id)
- Dim DTConnection As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id, "Get_ConnectionString")
+ Dim DTConnection As DataTable = Database_ECM.GetDatatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id)
If DTConnection.Rows.Count = 1 Then
Select Case DTConnection.Rows(0).Item("SQL_PROVIDER").ToString.ToUpper
Case "MS-SQL"
@@ -47,7 +47,7 @@ Public Class ClassDatabase
Public Shared Function Init(Optional ConString As String = "")
Try
If ConString = String.Empty Then
- SQLSERVERConnectionString = CONNECTION_STRING
+ SQLSERVERConnectionString = CONNECTION_STRING_ECM
End If
Dim SQLconnect As New SqlClient.SqlConnection
@@ -65,7 +65,7 @@ Public Class ClassDatabase
If ConString <> String.Empty Then
LOGGER.Info($"Error initializing Database [{ConString}] " & ex.Message, True)
Else
- LOGGER.Info($"Error initializing Database [{CONNECTION_STRING}] " & ex.Message, True)
+ LOGGER.Info($"Error initializing Database [{CONNECTION_STRING_ECM}] " & ex.Message, True)
End If
Return False
diff --git a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb
index bed7176..79f4bc7 100644
--- a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb
+++ b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb
@@ -3,7 +3,7 @@
Try
Dim _error As Boolean = False
If CURRENT_DT_FINAL_INDEXING Is Nothing Then
- CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID), "Write_Final_Metadata")
+ CURRENT_DT_FINAL_INDEXING = Database_ECM.GetDatatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID)) ', "Write_Final_Metadata")
End If
If CURRENT_DT_FINAL_INDEXING.Rows.Count > 0 Then
@@ -42,7 +42,7 @@
sql_Statement = clsPatterns.ReplaceInternalValues(sql_Statement)
sql_Statement = clsPatterns.ReplaceWindreamIndicies(sql_Statement, WMObject, True)
LOGGER.Debug("sql after ReplaceAllValues: " & sql_Statement)
- Dim oDynamic_value = ClassDatabase.Execute_Scalar(sql_Statement, CONNECTION_STRING, "Write_Final_Metadata/dynamic_value")
+ Dim oDynamic_value = Database_ECM.GetScalarValue(sql_Statement) ', CONNECTION_STRING_ECM, "Write_Final_Metadata/dynamic_value")
If Not IsNothing(oDynamic_value) Then
value = oDynamic_value
Else
diff --git a/app/DD_PM_WINDREAM/ClassIDBData.vb b/app/DD_PM_WINDREAM/ClassIDBData.vb
index 486002d..4b69db3 100644
--- a/app/DD_PM_WINDREAM/ClassIDBData.vb
+++ b/app/DD_PM_WINDREAM/ClassIDBData.vb
@@ -9,7 +9,7 @@
'''
Public Function Init()
Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE"
- DTVWIDB_BE_ATTRIBUTE = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ)
+ DTVWIDB_BE_ATTRIBUTE = Database_IDB.GetDatatable(oSQL)
End Function
Public IDBSystemIndices As List(Of String)
Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String()
@@ -113,7 +113,7 @@
LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ")
End If
Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({CURRENT_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))"
- oAttributeValue = ClassDatabase.Return_Datatable_ConStr(oFNSQL, CONNECTION_STRING_IDB_READ)
+ oAttributeValue = Database_IDB.GetDatatable(oFNSQL)
Dim odt As DataTable = oAttributeValue
If odt.Rows.Count = 1 Then
oAttributeValue = odt.Rows(0).Item(0)
@@ -134,7 +134,7 @@
oID_IS_FOREIGN = 1
End If
Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {CURRENT_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}"
- ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB_WRITE)
+ Database_IDB.ExecuteNonQuery(oDELSQL)
Catch ex As Exception
LOGGER.Error(ex)
@@ -145,7 +145,7 @@
Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object
Try
Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}'"
- ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB_WRITE)
+ Database_IDB.ExecuteNonQuery(oDELSQL)
Catch ex As Exception
LOGGER.Error(ex)
@@ -227,7 +227,7 @@
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
Dim oSuccess As Boolean = False
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValueRow.Item(1).ToString}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
- oSuccess = ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB_WRITE)
+ oSuccess = Database_IDB.ExecuteNonQuery(oFNSQL)
If oSuccess = False Then
Return False
End If
@@ -235,7 +235,7 @@
Return True
Else
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValue}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
- Return ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB_WRITE)
+ Return Database_IDB.ExecuteNonQuery(oFNSQL)
End If
Catch ex As Exception
diff --git a/app/DD_PM_WINDREAM/ClassInit.vb b/app/DD_PM_WINDREAM/ClassInit.vb
index afb4c9d..ffa049f 100644
--- a/app/DD_PM_WINDREAM/ClassInit.vb
+++ b/app/DD_PM_WINDREAM/ClassInit.vb
@@ -6,6 +6,7 @@ Imports DigitalData.Modules.Config
Imports System.Threading
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
+Imports DigitalData.Modules.Database
Public Class ClassInit
Public _lizenzManager As ClassLicenseManager
@@ -74,19 +75,19 @@ Public Class ClassInit
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
LOGGER.Debug("Test Connection String loaded")
- CONNECTION_STRING = DecryptConnectionString(CONFIG.Config.ConnectionStringTest)
+ CONNECTION_STRING_ECM = DecryptConnectionString(CONFIG.Config.ConnectionStringTest)
Else
LOGGER.Debug("Connection String loaded")
- CONNECTION_STRING = DecryptConnectionString(CONFIG.Config.ConnectionString)
+ CONNECTION_STRING_ECM = DecryptConnectionString(CONFIG.Config.ConnectionString)
End If
- If CONFIG.Config.ConnectionStringAppServer <> String.Empty Then
- LOGGER.Debug("ConnectionStringAppServer will be used")
- CONNECTION_STRING_APP_SERVER = DecryptConnectionString(CONFIG.Config.ConnectionStringAppServer)
- CONNECTION_STRING_READ = CONNECTION_STRING_APP_SERVER
- Else
- CONNECTION_STRING_READ = CONNECTION_STRING
- End If
+ 'If CONFIG.Config.ConnectionStringAppServer <> String.Empty Then
+ ' LOGGER.Debug("ConnectionStringAppServer will be used")
+ ' CONNECTION_STRING_APP_SERVER = DecryptConnectionString(CONFIG.Config.ConnectionStringAppServer)
+ ' CONNECTION_STRING_READ = CONNECTION_STRING_APP_SERVER
+ 'Else
+ ' CONNECTION_STRING_READ = CONNECTION_STRING_ECM
+ 'End If
If CONFIG.Config.EDMIAppServer <> String.Empty Then
@@ -116,8 +117,12 @@ Public Class ClassInit
USER_MANAGER_PATH = CONFIG.Config.UserManagerPath
- LOG_ERRORS_ONLY = CONFIG.Config.LogErrorsOnly
- LOGCONFIG.Debug = Not LOG_ERRORS_ONLY
+ USER_CONFIG_DEBUG = CONFIG.Config.DEBUG
+ If USER_CONFIG_DEBUG = True Then
+ DEBUG = True
+ LOGCONFIG.Debug = True
+ End If
+
TEST_MODE = CONFIG.Config.TestMode
Catch ex As Exception
LOGGER.Error(ex)
@@ -153,22 +158,36 @@ Public Class ClassInit
Public Function InitDatabase()
Dim dbResult As Boolean
- If CONNECTION_STRING <> String.Empty Then
- dbResult = ClassDatabase.Init()
- Else
+ If CONNECTION_STRING_ECM = String.Empty Then
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
ERROR_STATE = "NO DB-CONNECTION"
frmKonfig.ShowDialog()
- dbResult = ClassDatabase.Init()
End If
- If CONNECTION_STRING_APP_SERVER <> String.Empty Then
- If ClassDatabase.Init(CONNECTION_STRING_APP_SERVER) = False Then
- MsgBox("ApplicationServer can not be reached! Check Your configuration.", MsgBoxStyle.Information)
- If dbResult = True Then
- CONNECTION_STRING_READ = CONNECTION_STRING
- End If
+
+ Database_ECM = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM)
+ If Database_ECM.DBInitialized = True Then
+ ClassDatabase.Init(CONNECTION_STRING_ECM)
+ dbResult = True
+ Else
+ dbResult = False
+ End If
+ If CONNECTION_STRING_IDB <> String.Empty Then
+ Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM)
+ If Database_IDB.DBInitialized = True Then
+ IDB_ACTIVE = True
+ LOGGER.Info("IDB is active via Config")
+
End If
End If
+ 'If CONNECTION_STRING_APP_SERVER <> String.Empty Then
+ ' Database_APPSERVER = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_APP_SERVER)
+ ' If Database_APPSERVER.DBInitialized = False Then
+ ' MsgBox("ApplicationServer can not be reached! Check Your configuration.", MsgBoxStyle.Information)
+ ' If dbResult = True Then
+ ' CONNECTION_STRING_READ = CONNECTION_STRING_ECM
+ ' End If
+ ' End If
+ 'End If
diff --git a/app/DD_PM_WINDREAM/ClassParamRefresh.vb b/app/DD_PM_WINDREAM/ClassParamRefresh.vb
index d6a9d54..0d5fdcf 100644
--- a/app/DD_PM_WINDREAM/ClassParamRefresh.vb
+++ b/app/DD_PM_WINDREAM/ClassParamRefresh.vb
@@ -1,9 +1,11 @@
-Public Class ClassParamRefresh
+Imports DigitalData.Modules.Database
+
+Public Class ClassParamRefresh
Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable)
Dim oStopwatch As New RefreshHelper.SW("Refresh_Params")
FORCE_LAYOUT_OVERVIEW = False
SHOW_CHARTS = True
- USER_DEBUG_LOG = False
+
If DT_CHECKUSER.Rows.Count = 1 Then
@@ -30,54 +32,66 @@
LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then
FORCE_LAYOUT_OVERVIEW = True
- LOGGER.Info($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]")
+ 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}]")
+ LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
ElseIf oMode = "PM.NO_CHARTS" Then
SHOW_CHARTS = False
- LOGGER.Info($"SHOW_CHARTS [{SHOW_CHARTS}]")
+ LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]")
ElseIf oMode = "PM.DEBUG_LOG" Then
- USER_DEBUG_LOG = True
+ DEBUG = True
LOGCONFIG.Debug = True
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}]")
+ LOGGER.Debug($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
ElseIf oMode.StartsWith("PM.IDB_CONID!") Then
- Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
- Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID)
- CONNECTION_STRING_IDB = oConString
- If ClassDatabase.Init(CONNECTION_STRING_IDB) = False Then
- IDB_ACTIVE = False
+ If CONNECTION_STRING_IDB <> "" And Not IsNothing(Database_IDB) Then
+ If Database_IDB.DBInitialized = True Then
+ IDB_ACTIVE = True
+ Continue For
+ End If
Else
- IDB_ACTIVE = True
- LOGGER.Info($"Got an IDB-Connection [{CON_ID}]!")
- End If
- ElseIf oMode.StartsWith("PM.IDB_APP_SERV_CONID!") Then
- Dim CON_ID = oMode.Replace("PM.IDB_APP_SERV_CONID!", "")
- Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID)
- CONNECTION_STRING_IDB_APP_SERVER = oConString
- If ClassDatabase.Init(CONNECTION_STRING_IDB_APP_SERVER) = True Then
- LOGGER.Info($"Got an IDB APP-Server-Connection [{CON_ID}]!")
+ Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
+ Dim oConString = ClassDatabase.Get_ConnectionString(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}]!")
+ Else
+ IDB_ACTIVE = False
+ End If
End If
+
+
+
+ 'ElseIf oMode.StartsWith("PM.IDB_APP_SERV_CONID!") Then
+ ' Dim CON_ID = oMode.Replace("PM.IDB_APP_SERV_CONID!", "")
+ ' Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID)
+ ' CONNECTION_STRING_IDB_APP_SERVER = oConString
+ ' If ClassDatabase.Init(CONNECTION_STRING_IDB_APP_SERVER) = True Then
+ ' LOGGER.Info($"Got an IDB APP-Server-Connection [{CON_ID}]!")
+ ' End If
ElseIf oMode = "PM.MONITORING" Then
MONITORING_ACTIVE = True
- LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
+ LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
ElseIf oMode = "PM.GHOSTMODE" Then
GHOSTMODE_ACTIVE = True
- LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
+ LOGGER.Debug($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
- LOGGER.Info($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
+ LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then
NO_DETAIL_PROFILES = True
- LOGGER.Info($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
+ LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
ElseIf oMode = "PM.NO_POPUP" Then
POPUP_REMINDER_ACTIVE = False
- LOGGER.Info($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]")
+ LOGGER.Debug($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]")
ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then
Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "")
CONV_IDENTIFICATION = oIdent
@@ -86,15 +100,16 @@
Try
INACTIVITY_DURATION = CInt(oInactivityDuration)
- LOGGER.Info($"InactivityDuration [{INACTIVITY_DURATION}]")
+ 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.Info($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
+ LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
Catch ex As Exception
LAST_EDITED_COLUMN = ""
@@ -103,7 +118,7 @@
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "")
Try
LAST_ADDED_COLUMN = oLEDITEDCOL
- LOGGER.Info($"LAST_ADDED_COLUMN: {oLEDITEDCOL}")
+ LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}")
Catch ex As Exception
LAST_ADDED_COLUMN = ""
@@ -162,23 +177,30 @@
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_RootFolder") Then
+ Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "")
+ ButtonExport2Folder_RootFolder = oAfterReplace
+
Else
LOGGER.Info($"Wrong oMode: {oMode}")
End If
Next
- If IDB_ACTIVE Then
- If CONNECTION_STRING_APP_SERVER <> String.Empty Then
- If USE_APPSERVER = True Then
- CONNECTION_STRING_IDB_READ = CONNECTION_STRING_APP_SERVER
- Else
- CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB
- End If
+ 'If IDB_ACTIVE Then
+ ' If CONNECTION_STRING_APP_SERVER <> String.Empty Then
+ ' If USE_APPSERVER = True Then
+ ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_APP_SERVER
+ ' Else
+ ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB
+ ' End If
- Else
- CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB
- End If
- CONNECTION_STRING_IDB_WRITE = CONNECTION_STRING_IDB
- End If
+ ' Else
+ ' CONNECTION_STRING_IDB_READ = CONNECTION_STRING_IDB
+ ' End If
+ ' CONNECTION_STRING_IDB_WRITE = CONNECTION_STRING_IDB
+ 'End If
End If
oStopwatch.Done()
End Sub
diff --git a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb
index e57306e..97e3f31 100644
--- a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb
+++ b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb
@@ -85,7 +85,7 @@ Public Class ClassWindream_allgemein
Return False
End If
- If LOG_ERRORS_ONLY = False Then
+ If ModuleMySettings.DEBUG = False Then
LOGGER.Info(" >> windream-Version: '" & oSession.GetSystemInfo("WindreamVersion") & "'")
End If
@@ -136,7 +136,7 @@ LOGGER.Error(ex)
Try
' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist
Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T INNER JOIN TBDD_GROUPS T1 on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID
- Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "StartWMCC-userExistsInServerUserGroup")
+ Dim userExistsInServerUserGroup = Database_ECM.GetScalarValue(sql) ', CONNECTION_STRING_ECM, "StartWMCC-userExistsInServerUserGroup")
If WMSESSION_STARTSTOP_STARTUP = True Then
'And userExistsInServerUserGroup Is Nothing
@@ -159,7 +159,7 @@ LOGGER.Error(ex)
Try
' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist
Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T INNER JOIN TBDD_GROUPS T1 on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID
- Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "StopWMCC-userExistsInServerUserGroup")
+ Dim userExistsInServerUserGroup = Database_ECM.GetScalarValue(sql) ', CONNECTION_STRING_ECM, "StopWMCC-userExistsInServerUserGroup")
If WMSESSION_STARTSTOP_STARTUP = True Then 'And userExistsInServerUserGroup Is Nothing
Dim owindreamControlCenter = CreateObject("Wmcc.ControlCenter")
diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
index d934899..e3bc9c9 100644
--- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
+++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
@@ -162,7 +162,8 @@
..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll
-
+
+ False
..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll
@@ -171,7 +172,8 @@
..\..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll
-
+
+ False
..\..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll
@@ -202,7 +204,7 @@
- ..\packages\NLog.4.5.11\lib\net45\NLog.dll
+ ..\packages\NLog.4.7.10\lib\net45\NLog.dll
P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Oracle.ManagedDataAccess.dll
@@ -590,6 +592,12 @@
frmFormDesigner.vb
Designer
+
+ frmGhostMode.vb
+
+
+ frmGhostMode.vb
+
frmGhostMode.vb
@@ -605,6 +613,9 @@
frmMain.vb
+
+ frmMain.vb
+
frmMain.vb
@@ -651,10 +662,19 @@
frmValidator.vb
+
+ frmValidator.vb
+
frmValidator.vb
Designer
+
+ frmValidatorSearch.vb
+
+
+ frmValidatorSearch.vb
+
frmValidatorSearch.vb
Designer
@@ -707,8 +727,6 @@
-
-
diff --git a/app/DD_PM_WINDREAM/ModuleMySettings.vb b/app/DD_PM_WINDREAM/ModuleMySettings.vb
index 8728f14..091794e 100644
--- a/app/DD_PM_WINDREAM/ModuleMySettings.vb
+++ b/app/DD_PM_WINDREAM/ModuleMySettings.vb
@@ -1,13 +1,8 @@
Module ModuleMySettings
' Connection String
Public SOURCE_INIT As Boolean = False
- Public CONNECTION_STRING As String = ""
- Public CONNECTION_STRING_APP_SERVER As String = ""
- Public CONNECTION_STRING_READ As String
+ Public CONNECTION_STRING_ECM As String = ""
Public CONNECTION_STRING_IDB As String = ""
- Public CONNECTION_STRING_IDB_APP_SERVER As String = ""
- Public CONNECTION_STRING_IDB_READ As String = ""
- Public CONNECTION_STRING_IDB_WRITE As String = ""
Public IDB_ACTIVE As Boolean = False
Public EDMIAppServerActive As Boolean = False
@@ -19,7 +14,7 @@
Public NO_DETAIL_PROFILES As Boolean = False
Public DT_CONNECTIONS As DataTable
' Debug Settings
- Public LOG_ERRORS_ONLY As Boolean = True
+ Public DEBUG As Boolean = False
' Viewer Settings
'Public VIEWER_UNIVERSAL As String = ""
diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
index da15435..c790f05 100644
--- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
+++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
@@ -2,6 +2,8 @@
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
+Imports DigitalData.Modules.Database
+
Module ModuleRuntimeVariables
' Diese Werte müssen später zur Laufzeit geladen werden
@@ -57,7 +59,7 @@ Module ModuleRuntimeVariables
Public USER_RIGHT2 As Boolean = False
Public USER_RIGHT3 As Boolean = False
Public USER_RIGHT4 As Boolean = False
- Public USER_DEBUG_LOG As Boolean = False
+ Public USER_CONFIG_DEBUG As Boolean = False
Public USER_GHOST_MODE_ACTIVE As Boolean = False
Public USER_GHOST_MODE_USRNAME As String = ""
@@ -86,6 +88,9 @@ Module ModuleRuntimeVariables
Public START_CW_LOC_VARIANT As String = 0
Public RibbonPageCustTitle As String = ""
Public RibbonPageCustItm1 As String = ""
+ Public ButtonExport2Folder_Caption As String = ""
+ Public ButtonExport2Folder_RootFolder As String = ""
+
Public LICENSE_COUNT As Integer = 0
Public LICENSE_EXPIRED As Boolean = False
@@ -146,4 +151,11 @@ Module ModuleRuntimeVariables
Public MyIndicies_Types As List(Of Integer)
Public _Client As Client
+
+ Public Database_ECM As MSSQLServer
+ Public Database_IDB As MSSQLServer
+ Public Database_APPSERVER As MSSQLServer
+
+ Public Timer5Mins_running As Boolean = False
+ Public TimerRefresh_running As Boolean = False
End Module
diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
index 85f1f95..810615c 100644
--- a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
+++ b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
+
diff --git a/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb b/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb
index 5a511cd..42c00fe 100644
--- a/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmAdmin2.Designer.vb
@@ -44,10 +44,12 @@ Partial Class frmAdmin2
Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem10 = New DevExpress.XtraBars.BarButtonItem()
Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
+ Me.BarButtonItem11 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.GridControlWK3 = New DevExpress.XtraGrid.GridControl()
Me.GridViewWK3 = New DevExpress.XtraGrid.Views.Grid.GridView()
@@ -159,8 +161,6 @@ Partial Class frmAdmin2
Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBDD_GUI_LANGUAGE_PHRASETableAdapter()
Me.LayoutConverter1 = New DevExpress.XtraLayout.Converter.LayoutConverter(Me.components)
Me.XtraSaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
- Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
- Me.BarButtonItem11 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.spcontwKonfMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.spcontwKonfMain.SuspendLayout()
CType(Me.spcontwKonfleft, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -431,6 +431,13 @@ Partial Class frmAdmin2
Me.BarStaticItem1.Id = 15
Me.BarStaticItem1.Name = "BarStaticItem1"
'
+ 'BarButtonItem11
+ '
+ resources.ApplyResources(Me.BarButtonItem11, "BarButtonItem11")
+ Me.BarButtonItem11.Id = 16
+ Me.BarButtonItem11.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem11.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.BarButtonItem11.Name = "BarButtonItem11"
+ '
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroup4})
@@ -465,6 +472,13 @@ Partial Class frmAdmin2
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
resources.ApplyResources(Me.RibbonPageGroup3, "RibbonPageGroup3")
'
+ 'RibbonPageGroup4
+ '
+ Me.RibbonPageGroup4.AllowTextClipping = False
+ Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem11)
+ Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
+ resources.ApplyResources(Me.RibbonPageGroup4, "RibbonPageGroup4")
+ '
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelStatus)
@@ -1431,20 +1445,6 @@ Partial Class frmAdmin2
'
resources.ApplyResources(Me.XtraSaveFileDialog1, "XtraSaveFileDialog1")
'
- 'RibbonPageGroup4
- '
- Me.RibbonPageGroup4.AllowTextClipping = False
- Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem11)
- Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
- resources.ApplyResources(Me.RibbonPageGroup4, "RibbonPageGroup4")
- '
- 'BarButtonItem11
- '
- resources.ApplyResources(Me.BarButtonItem11, "BarButtonItem11")
- Me.BarButtonItem11.Id = 16
- Me.BarButtonItem11.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem11.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
- Me.BarButtonItem11.Name = "BarButtonItem11"
- '
'frmAdmin2
'
resources.ApplyResources(Me, "$this")
diff --git a/app/DD_PM_WINDREAM/frmAdmin2.resx b/app/DD_PM_WINDREAM/frmAdmin2.resx
index 40dd3b1..5fc8bab 100644
--- a/app/DD_PM_WINDREAM/frmAdmin2.resx
+++ b/app/DD_PM_WINDREAM/frmAdmin2.resx
@@ -2091,7 +2091,7 @@
619, 56
- 1075, 56
+ 17, 95
"xlsx-Dateien|*.xlsx"
@@ -2218,6 +2218,12 @@
DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ BarButtonItem11
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPage1
@@ -2242,6 +2248,12 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ RibbonPageGroup4
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
GridViewWK3
@@ -2656,18 +2668,6 @@
System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- RibbonPageGroup4
-
-
- DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- BarButtonItem11
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
frmAdmin2
diff --git a/app/DD_PM_WINDREAM/frmAdmin2.vb b/app/DD_PM_WINDREAM/frmAdmin2.vb
index b85e8a5..e107bc9 100644
--- a/app/DD_PM_WINDREAM/frmAdmin2.vb
+++ b/app/DD_PM_WINDREAM/frmAdmin2.vb
@@ -57,7 +57,7 @@ Public Class frmAdmin2
End Sub
Sub Load_Email_template()
Try
- TBDD_EMAIL_TEMPLATETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBDD_EMAIL_TEMPLATETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.TBDD_EMAIL_TEMPLATETableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_EMAIL_TEMPLATE)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in loading EmailTemplates:")
@@ -65,7 +65,7 @@ Public Class frmAdmin2
End Sub
Sub Load_Gui_Phrases()
Try
- TBDD_GUI_LANGUAGE_PHRASETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBDD_GUI_LANGUAGE_PHRASETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_GUI_LANGUAGE_PHRASE)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in loading GUIPhrases:")
@@ -101,7 +101,7 @@ Public Class frmAdmin2
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
Dim oSQL = $"Delete from TBDD_EMAIL_TEMPLATE where guid = {GUIDTextEdit.Text}"
- If ClassDatabase.Execute_non_Query(oSQL) = True Then
+ If Database_ECM.ExecuteNonQuery(oSQL) = True Then
Load_Email_template()
Status_Changed("Vorlage gelöscht!")
End If
@@ -128,10 +128,11 @@ Public Class frmAdmin2
End Sub
Private Sub SET_GRID_DESCRIPTION(pGridView As Views.Grid.GridView, pDT As DataTable)
Dim objectCount_Descr = $"{pGridView.Tag} [{pDT.Rows.Count}] "
- If USER_LANGUAGE <> "de-DE" Then
- objectCount_Descr &= " records"
- Else
+ If USER_LANGUAGE = "de-DE" Then
objectCount_Descr &= " Datensätze"
+ ElseIf USER_LANGUAGE = "en-US" Then
+ objectCount_Descr &= " records"
+ ElseIf USER_LANGUAGE = "fr-FR" Then
End If
pGridView.ViewCaption = objectCount_Descr
End Sub
@@ -139,12 +140,12 @@ Public Class frmAdmin2
Me.Cursor = Cursors.WaitCursor
Try
Dim oSQL = "SELECT * FROM TBPM_FURTHER_KONFIG_VIEW"
- DT_FURTHER_KONFIG_VIEW = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data1")
+ DT_FURTHER_KONFIG_VIEW = Database_ECM.GetDatatable(oSQL) ', "Monitor-Load_Grid_Data1")
If Not IsNothing(DT_FURTHER_KONFIG_VIEW) Then
If DT_FURTHER_KONFIG_VIEW.Rows.Count >= 1 Then
oSQL = DT_FURTHER_KONFIG_VIEW.Rows(0).Item("GRID_SQL")
GridViewWK1.Columns.Clear()
- Dim oDTGRID1 As DataTable = ClassDatabase.Return_Datatable(oSQL, "FurtherConfig-Load_Grid_Data1")
+ Dim oDTGRID1 As DataTable = Database_ECM.GetDatatable(oSQL) ', "FurtherConfig-Load_Grid_Data1")
GridControlWK1.DataSource = oDTGRID1
GRID1_TITLE = DT_FURTHER_KONFIG_VIEW.Rows(0).Item("GRID_TITLE")
GridViewWK1.Tag = GRID1_TITLE
@@ -166,7 +167,7 @@ Public Class frmAdmin2
GridViewWK2.Tag = GRID2_TITLE
GridViewWK2.Columns.Clear()
- Dim oDTGRID2 As DataTable = ClassDatabase.Return_Datatable(GRID2_SQL, "FurtherConfig-Load_Grid_Data2")
+ Dim oDTGRID2 As DataTable = Database_ECM.GetDatatable(GRID2_SQL) ', "FurtherConfig-Load_Grid_Data2")
GridControlWK2.DataSource = oDTGRID2
SET_GRID_DESCRIPTION(GridViewWK2, oDTGRID2)
Select Case DT_FURTHER_KONFIG_VIEW.Rows.Count
@@ -177,7 +178,7 @@ Public Class frmAdmin2
GridViewWK3.Tag = GRID3_TITLE
GridViewWK3.Columns.Clear()
- Dim oDTGRID3 As DataTable = ClassDatabase.Return_Datatable(GRID3_SQL, "FurtherConfig-Load_Grid_Data3")
+ Dim oDTGRID3 As DataTable = Database_ECM.GetDatatable(GRID3_SQL) ', "FurtherConfig-Load_Grid_Data3")
GridControlWK3.DataSource = oDTGRID3
SET_GRID_DESCRIPTION(GridViewWK3, oDTGRID3)
Case 4
@@ -185,14 +186,14 @@ Public Class frmAdmin2
GRID3_SQL = DT_FURTHER_KONFIG_VIEW.Rows(2).Item("GRID_SQL")
GridViewWK3.Tag = GRID3_TITLE
GridViewWK3.Columns.Clear()
- Dim oDTGRID3 As DataTable = ClassDatabase.Return_Datatable(GRID3_SQL, "FurtherConfig-Load_Grid_Data3")
+ Dim oDTGRID3 As DataTable = Database_ECM.GetDatatable(GRID3_SQL) ', "FurtherConfig-Load_Grid_Data3")
GridControlWK3.DataSource = oDTGRID3
SET_GRID_DESCRIPTION(GridViewWK3, oDTGRID3)
GRID4_TITLE = DT_FURTHER_KONFIG_VIEW.Rows(3).Item("GRID_TITLE")
GRID4_SQL = DT_FURTHER_KONFIG_VIEW.Rows(3).Item("GRID_SQL")
GridViewWK4.Tag = GRID4_TITLE
GridViewWK4.Columns.Clear()
- Dim oDTGRID4 As DataTable = ClassDatabase.Return_Datatable(GRID4_SQL, "FurtherConfig-Load_Grid_Data4")
+ Dim oDTGRID4 As DataTable = Database_ECM.GetDatatable(GRID4_SQL) ', "FurtherConfig-Load_Grid_Data4")
GridControlWK4.DataSource = oDTGRID4
SET_GRID_DESCRIPTION(GridViewWK4, oDTGRID4)
End Select
diff --git a/app/DD_PM_WINDREAM/frmAdminPasswort.vb b/app/DD_PM_WINDREAM/frmAdminPasswort.vb
index 88740ae..9ce7ee0 100644
--- a/app/DD_PM_WINDREAM/frmAdminPasswort.vb
+++ b/app/DD_PM_WINDREAM/frmAdminPasswort.vb
@@ -5,7 +5,7 @@ Public Class frmAdminPasswort
Private Sub frmAdminPasswort_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
- Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
akt_pw = TBPM_KONFIGURATIONTableAdapter.cmdGetAdminPW
Catch ex As Exception
LOGGER.Error(ex)
diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb
index ee25879..09cb695 100644
--- a/app/DD_PM_WINDREAM/frmAdministration.vb
+++ b/app/DD_PM_WINDREAM/frmAdministration.vb
@@ -27,20 +27,20 @@ Public Class frmAdministration
formloaded = False
UNSAVED_CHANGES_PROFILE = False
Try
- TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPM_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPM_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
PROF_ORIGIN = DD_DMSLiteDataSet.TBPM_PROFILE
- TBPM_TYPETableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBDD_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBDD_GROUPSTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPROFILE_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPROFILE_GROUPTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_TYPETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBDD_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBDD_GROUPSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPROFILE_USERTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPROFILE_GROUPTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
- TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPM_PROFILE_FILESTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPM_PROFILE_FILESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION)
Refresh_Profildaten()
@@ -212,7 +212,7 @@ Public Class frmAdministration
End Try
Else
Dim oSQL = "SELECT GUID, TITLE FROM TBIDB_BUSINESS_ENTITY"
- Dim oDT As DataTable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB)
+ Dim oDT As DataTable = Database_IDB.GetDatatable(oSQL)
For Each oROW As DataRow In oDT.Rows
Me.cmbObjekttypen.Items.Add(oROW.Item(1))
Next
@@ -484,7 +484,7 @@ Public Class frmAdministration
Series4Sequence.Value = 1
Dim oSQLChart As String = "SELECT * FROM TBPM_CHART ORDER BY GROUP_ID"
- DT_CHART_CONFIG = ClassDatabase.Return_Datatable(oSQLChart, "Adm_Chart")
+ DT_CHART_CONFIG = Database_ECM.GetDatatable(oSQLChart) ', "Adm_Chart")
For Each oROW As DataRow In DT_CHART_CONFIG.Rows
If oROW.Item("GROUP_ID") = 1 Then
Series1GUID.Text = oROW.Item("GUID")
@@ -685,7 +685,7 @@ Public Class frmAdministration
End Sub
Private Function Execute_SQL(SQL As String)
Try
- Dim SQLconnection As New SqlClient.SqlConnection(CONNECTION_STRING)
+ Dim SQLconnection As New SqlClient.SqlConnection(CONNECTION_STRING_ECM)
Dim SQLcommand As New SqlCommand(SQL, SQLconnection)
SQLconnection.Open()
SQLcommand.ExecuteNonQuery()
@@ -1082,7 +1082,7 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then
Try
Dim oEXECSQL As String = $"EXEC PRPM_COPY_PROFILE {PROFILGUIDTextBox.Text},'{USER_USERNAME}'"
- If ClassDatabase.Execute_non_Query(oEXECSQL) = True Then
+ If Database_ECM.ExecuteNonQuery(oEXECSQL) = True Then
MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich kopiert!", MsgBoxStyle.Information, "Erfolgsmeldung")
Refresh_Profildaten()
Else
@@ -1106,7 +1106,7 @@ Public Class frmAdministration
Try
Dim profileID = PROFILGUIDTextBox.Text
Dim del As String = $"EXEC PRPM_DELETE_PROFILE {profileID}"
- If ClassDatabase.Execute_non_Query(del) = True Then
+ If Database_ECM.ExecuteNonQuery(del) = True Then
MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich gelöscht!", MsgBoxStyle.Information, "Erfolgsmeldung")
Refresh_Profildaten()
End If
@@ -1123,7 +1123,7 @@ Public Class frmAdministration
Dim result As MsgBoxResult = MsgBox("Wollen Sie die Dateien für dieses Profil wirklich entfernen?" & vbNewLine & "Wenn ja müssen Sie auf die Aktualisierung des Jobs warten bis wieder Dateien zur Bearbeitung frei sind.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
- If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & PROFILGUIDTextBox.Text) = True Then
+ If Database_ECM.ExecuteNonQuery("DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & PROFILGUIDTextBox.Text) = True Then
MsgBox("Die Dateien zum Profil wurden erfolgreich gelöscht!", MsgBoxStyle.Information)
End If
End If
@@ -1180,7 +1180,7 @@ Public Class frmAdministration
Dim result As MsgBoxResult = MsgBox("Do You really want to delete all workflow-Jobs?" & vbNewLine & "If yes You have to wait for the next Sync-Job for the jobs.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
- If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES") = True Then
+ If Database_ECM.ExecuteNonQuery("DELETE FROM TBPM_PROFILE_FILES") = True Then
MsgBox("All workflow-jobs have been erased!", MsgBoxStyle.Information)
End If
End If
@@ -1201,7 +1201,7 @@ Public Class frmAdministration
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
- ClassDatabase.Execute_non_Query(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''")))
+ Database_ECM.ExecuteNonQuery(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''")))
BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") = oForm.SQLCommand
End If
Catch ex As Exception
@@ -1295,7 +1295,7 @@ Public Class frmAdministration
Dim sql As String = $"INSERT INTO TBPM_PROFILE_FINAL_INDEXING (PROFIL_ID, CONNECTION_ID, SQL_COMMAND, INDEXNAME, VALUE, ACTIVE, PREVENT_DUPLICATES, ALLOW_NEW_VALUES, ADDED_WHO,IF_VEKTOR_BEHAVIOUR,DESCRIPTION,SEQUENCE,CONTINUE_INDETERMINED)
VALUES ({oProfileId}, {connectionId}, '{sqlCommand}', '{indexName}', '{value}', {active}, {preventDuplicates}, {AllowAddNewValues}, '{addedWho}','{IF_VEKTOR_BEHAVIOUR}','{oDescription}',{pSequence},{oContinueOIdS})"
- If ClassDatabase.Execute_non_Query(sql, True) Then
+ If Database_ECM.ExecuteNonQuery(sql) Then
tsbStaticInfo.Caption = $"Final index added - {Now.ToLongTimeString}"
INSERT_ACTIVE = False
End If
@@ -1305,7 +1305,7 @@ Public Class frmAdministration
VALUE = '{value}', ACTIVE = {active}, ALLOW_NEW_VALUES = {AllowAddNewValues}, PREVENT_DUPLICATES = {preventDuplicates},IF_VEKTOR_BEHAVIOUR = '{IF_VEKTOR_BEHAVIOUR}', [SEQUENCE] = {oSequence}, CONTINUE_INDETERMINED = {oContinueOIdS}
WHERE GUID = {guid}"
- If ClassDatabase.Execute_non_Query(sql, True) Then
+ If Database_ECM.ExecuteNonQuery(sql) Then
tsbStaticInfo.Caption = $"Final index saved - {Now.ToLongTimeString} - RESTART NECESSARY"
End If
End If
@@ -1344,7 +1344,7 @@ Public Class frmAdministration
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
- ClassDatabase.Execute_non_Query(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''")))
+ Database_ECM.ExecuteNonQuery(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''")))
BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") = oForm.SQLCommand
End If
Catch ex As Exception
@@ -1359,14 +1359,14 @@ Public Class frmAdministration
CURRENT_ProfilGUID = PROFILGUIDTextBox.Text
CURRENT_DESIGN_TYPE = "SQL_PROFILE"
Dim oSQL = $"SELECT [SQL_VIEW] FROM TBPM_PROFILE WHERE GUID = {CURRENT_ProfilGUID}"
- Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING)
+ Dim oldSQL = Database_ECM.GetScalarValue(oSQL)
Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL}
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
If oldSQL <> oForm.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_VIEW = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}"
- If ClassDatabase.Execute_non_Query(oUpdate) = True Then
+ If Database_ECM.ExecuteNonQuery(oUpdate) = True Then
tsbStaticInfo.Caption = $"Profile SQL saved - {Now.ToLongTimeString}"
CHANGES_FORM_DESIGN = True
End If
@@ -1384,14 +1384,14 @@ Public Class frmAdministration
CURRENT_ProfilGUID = PROFILGUIDTextBox.Text
CURRENT_DESIGN_TYPE = "SQL_BTNFINISH"
Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {CURRENT_ProfilGUID}"
- Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick-get SQL_BTN_FINISH")
+ Dim oldSQL = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "bbtnItemFinishSQL_ItemClick-get SQL_BTN_FINISH")
Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL}
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
If oldSQL <> oForm.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_BTN_FINISH = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}"
- If ClassDatabase.Execute_non_Query(oUpdate) = True Then
+ If Database_ECM.ExecuteNonQuery(oUpdate) = True Then
tsbStaticInfo.Caption = $"Profile SQLFinish saved - {Now.ToLongTimeString}"
CHANGES_FORM_DESIGN = True
End If
@@ -1528,7 +1528,7 @@ Public Class frmAdministration
,[CHANGED_WHO] = '{USER_USERNAME}'
,[GROUP_ID] = '{pSequence}'
WHERE GUID = {pGUID}"
- Return ClassDatabase.Execute_non_Query(oUpdate)
+ Return Database_ECM.ExecuteNonQuery(oUpdate)
End Function
Private Function Insert_ChartRow(pTitle As String, pArgument As String, pColumn As String, pType As String, pSQL As String, pSequence As String)
pSQL = pSQL.Replace("'", "''")
@@ -1548,7 +1548,7 @@ Public Class frmAdministration
,'{pTitle}'
,'{USER_USERNAME}'
,'{pSequence}')"
- Return ClassDatabase.Execute_non_Query(oInsert)
+ Return Database_ECM.ExecuteNonQuery(oInsert)
End Function
Private Sub BarButtonItem22_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem22.ItemClick
@@ -1667,7 +1667,7 @@ Public Class frmAdministration
End Sub
Private Function DELETE_ChartRow(pGUID As String)
Dim oDelete = $"DELETE FROM [dbo].[TBPM_CHART] WHERE GUID = {pGUID}"
- Return ClassDatabase.Execute_non_Query(oDelete)
+ Return Database_ECM.ExecuteNonQuery(oDelete)
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
diff --git a/app/DD_PM_WINDREAM/frmConnection.vb b/app/DD_PM_WINDREAM/frmConnection.vb
index af83eef..8ce28ff 100644
--- a/app/DD_PM_WINDREAM/frmConnection.vb
+++ b/app/DD_PM_WINDREAM/frmConnection.vb
@@ -168,7 +168,7 @@ Public Class frmConnection
End Sub
Sub load_connections()
Try
- Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.TBDD_CONNECTIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_CONNECTION)
TBDD_CONNECTIONDataGridView.AutoResizeColumns()
Catch ex As Exception
diff --git a/app/DD_PM_WINDREAM/frmControl_Detail.vb b/app/DD_PM_WINDREAM/frmControl_Detail.vb
index 35e0e23..d39009b 100644
--- a/app/DD_PM_WINDREAM/frmControl_Detail.vb
+++ b/app/DD_PM_WINDREAM/frmControl_Detail.vb
@@ -9,7 +9,7 @@ Public Class frmControl_Detail
Public Function FillData(ID As Integer)
Try
- TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
TBPM_CONTROL_TABLETableAdapter.FillByGUID(DD_DMSLiteDataSet.TBPM_CONTROL_TABLE, ID)
Return True
Catch ex As System.Exception
@@ -57,7 +57,7 @@ Public Class frmControl_Detail
Private Sub frmControl_Detail_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
- Me.TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Me.TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
If My.Settings.frmTableColumns_Position.IsEmpty = False Then
If My.Settings.frmTableColumns_Position.X > 0 And My.Settings.frmTableColumns_Position.Y > 0 Then
Me.Location = My.Settings.frmTableColumns_Position
@@ -93,7 +93,7 @@ Public Class frmControl_Detail
If oldSQL <> oForm.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_CONTROL_TABLE SET CHANGED_WHO = '{USER_USERNAME}', SQL_COMMAND = '{oForm.SQLCommand.Replace("'", "''")}'
, CONNECTION_ID = {oForm.ConnectionID} WHERE GUID = {GUIDTextBox.Text}"
- If ClassDatabase.Execute_non_Query(oUpdate) = True Then
+ If Database_ECM.ExecuteNonQuery(oUpdate) = True Then
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
tslblAenderungen.Caption = "Changes saved - " & Now
End If
@@ -141,7 +141,7 @@ Public Class frmControl_Detail
If oldSQL <> oForm.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_CONTROL_TABLE SET CHANGED_WHO = '{USER_USERNAME}', SQL_COMMAND = '{oForm.SQLCommand.Replace("'", "''")}'
, CONNECTION_ID = {oForm.ConnectionID} WHERE GUID = {GUIDTextBox.Text}"
- If ClassDatabase.Execute_non_Query(oUpdate) = True Then
+ If Database_ECM.ExecuteNonQuery(oUpdate) = True Then
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
tslblAenderungen.Caption = "Changes saved - " & Now
End If
diff --git a/app/DD_PM_WINDREAM/frmDesignerLayout.vb b/app/DD_PM_WINDREAM/frmDesignerLayout.vb
index 70bd601..f775942 100644
--- a/app/DD_PM_WINDREAM/frmDesignerLayout.vb
+++ b/app/DD_PM_WINDREAM/frmDesignerLayout.vb
@@ -105,7 +105,7 @@ Public Class frmDesignerLayout
_LayoutSerializer = New LayoutControlSerializer(LOGCONFIG)
Dim oSQL = "Select * from TBIDB_LAYOUT_CONFIG"
- FormsDatatable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_WRITE)
+ FormsDatatable = Database_IDB.GetDatatable(oSQL)
If Not IsNothing(FormsDatatable) Then
For Each oRow As DataRow In FormsDatatable.Rows
Dim oItem As New BarButtonItem(RibbonControl1.Manager, oRow.Item("TITLE"))
@@ -149,7 +149,7 @@ Public Class frmDesignerLayout
Dim oSql As String = $"UPDATE TBIDB_LAYOUT_CONFIG SET XML_CONTENT = '{oControls}', XML_LAYOUT = '{oLayout}', CHANGED_WHO = '{Environment.UserName}' WHERE GUID = {SelectedLayoutId}"
- ClassDatabase.Execute_non_Query_ConStr(oSql, CONNECTION_STRING_IDB_WRITE)
+ Database_IDB.ExecuteNonQuery(oSql)
End Using
End Using
End Sub
diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb
index e717c06..886d400 100644
--- a/app/DD_PM_WINDREAM/frmFormDesigner.vb
+++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb
@@ -96,10 +96,10 @@ Public Class frmFormDesigner
'End Try
Try
- TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBWH_CHECK_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING
- TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBWH_CHECK_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
+ TBPM_CONTROL_TABLETableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION)
Catch ex As Exception
LOGGER.Error(ex)
@@ -116,7 +116,7 @@ Public Class frmFormDesigner
Private Sub frmFormDesigner_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If ProfileId > 0 Then
Dim sql As String = $"SELECT NAME, INDEX_NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {ProfileId} AND CTRL_TYPE NOT IN ('BUTTON','LBL','LINE')"
- Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "frmFormDesigner_FormClosing")
+ Dim dt As DataTable = Database_ECM.GetDatatable(sql) ', "frmFormDesigner_FormClosing")
Dim missingIndexControls As New List(Of String)
@@ -264,7 +264,7 @@ Public Class frmFormDesigner
SetMovementHandlers(dgv)
Case "TABLE"
- Dim oDTColumnsPerDevExGrid As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]", "FDesignLaodControls")
+ Dim oDTColumnsPerDevExGrid As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]") ', "FDesignLaodControls")
Dim table = ClassControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True)
@@ -514,7 +514,7 @@ Public Class frmFormDesigner
Private Function GetLastID()
Dim sql = String.Format("SELECT MAX(GUID) FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0}", ProfileId)
- Return ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "GetLastID")
+ Return Database_ECM.GetScalarValue(sql)
End Function
Sub SetActiveControlColor()
@@ -1062,7 +1062,7 @@ Public Class frmFormDesigner
Dim bimage() As Byte = BitmapToByteArray(image)
'UPDATE TBPMO_FORM_CONSTRUCTOR SET MENU_IMG = @MENU_IMG, WHERE GUID = @GUID"
Dim SQL As String = "UPDATE TBPM_PROFILE_CONTROLS SET IMAGE_CONTROL = @MENU_IMG WHERE GUID = @GUID"
- Dim conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(CONNECTION_STRING)
+ Dim conn As SqlClient.SqlConnection = New SqlClient.SqlConnection(CONNECTION_STRING_ECM)
Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(SQL, conn)
cmd.Parameters.Add("@MENU_IMG", SqlDbType.VarBinary).Value = bimage
@@ -1098,12 +1098,12 @@ Public Class frmFormDesigner
End If
Try
- If ClassDatabase.Execute_non_Query($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}", True) = True Then
+ If Database_ECM.ExecuteNonQuery($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}") = True Then
tslblAenderungen.Visible = True
tslblAenderungen.Text = "Änderungen gespeichert - " & Now
If columnName.ToUpper = "CTRL_TEXT" Then
Dim oSQL = $"EXEC PRPM_CHANGE_CONTROL_CAPTION {guid},{escapedValue},'{USER_USERNAME}','{USER_LANGUAGE}'"
- ClassDatabase.Execute_non_Query(oSQL)
+ Database_ECM.ExecuteNonQuery(oSQL)
End If
CHANGES_FORM_DESIGN = True
Return True
@@ -1125,7 +1125,7 @@ Public Class frmFormDesigner
Dim oGuid = clsTools.ShortGuid()
Dim oColumnName As String = "colNew" & oGuid
Dim oColumnCaption As String = "New Column " & oGuid
- If ClassDatabase.Execute_non_Query($"INSERT INTO TBPM_CONTROL_TABLE (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE) VALUES({CURRENT_CONTROL_ID}, '{oColumnName}', '{oColumnCaption}', 95)", True) = True Then
+ If Database_ECM.ExecuteNonQuery($"INSERT INTO TBPM_CONTROL_TABLE (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE) VALUES({CURRENT_CONTROL_ID}, '{oColumnName}', '{oColumnCaption}', 95)") = True Then
tslblAenderungen.Visible = True
tslblAenderungen.Text = "Änderungen gespeichert - " & Now
@@ -1142,14 +1142,14 @@ Public Class frmFormDesigner
Try
CURRENT_DESIGN_TYPE = "SQL_BTNFINISH"
Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}"
- Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick")
+ Dim oldSQL = Database_ECM.GetScalarValue(oSQL)
Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL}
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
If oldSQL <> oForm.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_BTN_FINISH = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}"
- If ClassDatabase.Execute_non_Query(oUpdate) = True Then
+ If Database_ECM.ExecuteNonQuery(oUpdate) = True Then
tslblAenderungen.Text = $"Profile SQLFinish saved - {Now.ToLongTimeString}"
tslblAenderungen.Visible = True
CHANGES_FORM_DESIGN = True
diff --git a/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb b/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb
index b027f53..24d7ce9 100644
--- a/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmGhostMode.Designer.vb
@@ -24,10 +24,10 @@ Partial Class frmGhostMode
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmGhostMode))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
+ Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
- Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -37,56 +37,70 @@ Partial Class frmGhostMode
'
'RibbonControl1
'
+ resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.ExpandCollapseItem.Id = 0
+ Me.RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer)
+ Me.RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer)
+ Me.RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.RibbonControl1.ExpandCollapseItem.SearchTags = resources.GetString("RibbonControl1.ExpandCollapseItem.SearchTags")
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1})
- Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 2
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
- Me.RibbonControl1.Size = New System.Drawing.Size(965, 139)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
+ 'BarButtonItem1
+ '
+ resources.ApplyResources(Me.BarButtonItem1, "BarButtonItem1")
+ Me.BarButtonItem1.Id = 1
+ Me.BarButtonItem1.ImageOptions.ImageIndex = CType(resources.GetObject("BarButtonItem1.ImageOptions.ImageIndex"), Integer)
+ Me.BarButtonItem1.ImageOptions.LargeImageIndex = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImageIndex"), Integer)
+ Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.BarButtonItem1.Name = "BarButtonItem1"
+ '
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.RibbonPage1.Name = "RibbonPage1"
- Me.RibbonPage1.Text = "Start"
+ resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
- Me.RibbonPageGroup1.Text = "Aktionen"
+ resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonStatusBar1
'
- Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 487)
+ resources.ApplyResources(Me.RibbonStatusBar1, "RibbonStatusBar1")
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
- Me.RibbonStatusBar1.Size = New System.Drawing.Size(965, 22)
- '
- 'BarButtonItem1
- '
- Me.BarButtonItem1.Caption = "Ghost-Modus aktivieren"
- Me.BarButtonItem1.Id = 1
- Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
- Me.BarButtonItem1.Name = "BarButtonItem1"
'
'GridControl1
'
- Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
- Me.GridControl1.Location = New System.Drawing.Point(0, 139)
+ resources.ApplyResources(Me.GridControl1, "GridControl1")
+ Me.GridControl1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControl1.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControl1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControl1.EmbeddedNavigator.AccessibleName")
+ Me.GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControl1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControl1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControl1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControl1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControl1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControl1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControl1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControl1.EmbeddedNavigator.ToolTip = resources.GetString("GridControl1.EmbeddedNavigator.ToolTip")
+ Me.GridControl1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControl1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControl1.EmbeddedNavigator.ToolTipTitle")
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.Name = "GridControl1"
- Me.GridControl1.Size = New System.Drawing.Size(965, 348)
- Me.GridControl1.TabIndex = 9
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
'GridView1
'
Me.GridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.LightBlue
Me.GridView1.Appearance.EvenRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridView1, "GridView1")
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
Me.GridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
@@ -100,17 +114,14 @@ Partial Class frmGhostMode
Me.GridView1.OptionsView.ShowAutoFilterRow = True
Me.GridView1.OptionsView.ShowErrorPanel = DevExpress.Utils.DefaultBoolean.[True]
Me.GridView1.OptionsView.ShowViewCaption = True
- Me.GridView1.ViewCaption = "Bitte wählen Sie einen Ghost User"
'
'frmGhostMode
'
- Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(965, 509)
Me.Controls.Add(Me.GridControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
- Me.Font = New System.Drawing.Font("Calibri", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow
Me.Name = "frmGhostMode"
Me.TopMost = True
diff --git a/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx b/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx
new file mode 100644
index 0000000..2144b26
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmGhostMode.en-US.resx
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Enable Ghost Mode
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+ aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+ c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+ O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+ ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+ c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8
+ cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx
+ LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02
+ LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw
+ LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z
+ dmc+Cw==
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx b/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx
new file mode 100644
index 0000000..01a6c07
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmGhostMode.fr-FR.resx
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Activer le mode fantôme
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+ aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+ c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+ O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+ ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+ c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8
+ cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx
+ LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02
+ LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw
+ LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z
+ dmc+Cw==
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmGhostMode.resx b/app/DD_PM_WINDREAM/frmGhostMode.resx
index 0a65377..5008d91 100644
--- a/app/DD_PM_WINDREAM/frmGhostMode.resx
+++ b/app/DD_PM_WINDREAM/frmGhostMode.resx
@@ -117,7 +117,119 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 965, 139
+
+
+
+ Fill
+
+
+
+
+
+ GridControl1
+
+
+ 6, 13
+
+
+ Aktionen
+
+
+ $this
+
+
+ 0
+
+
+ 0, 0
+
+
+
+ -1
+
+
+ Bitte wählen Sie einen Ghost User
+
+
+ 965, 348
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ frmGhostMode
+
+
+ DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ RibbonPage1
+
+
+ DevExpress.XtraBars.Ribbon.RibbonStatusBar, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Start
+
+
+ RibbonPageGroup1
+
+
+ Default
+
+
+ GridView1
+
+
+ Ghost-Modus aktivieren
+
+
+
+
+
+
+ Center
+
+
+ 965, 22
+
+
+ BarButtonItem1
+
+
+ 0, 139
+
+
+ -1
+
+
+ 2
+
+
+
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 1
+
+
+ RibbonControl1
+
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
@@ -143,4 +255,68 @@
dmc+Cw==
+
+ $this
+
+
+ Tile
+
+
+
+
+
+ 0, 0
+
+
+ $this
+
+
+ 9
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 0, 487
+
+
+ Inherit
+
+
+
+ None
+
+
+ 965, 509
+
+
+ -1
+
+
+ Top, Left
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ Calibri, 8.25pt
+
+
+ RibbonStatusBar1
+
+
+
+
+
+ -1
+
+
+ True
+
+
+ en-US
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmGhostMode.vb b/app/DD_PM_WINDREAM/frmGhostMode.vb
index 6255665..4ec1808 100644
--- a/app/DD_PM_WINDREAM/frmGhostMode.vb
+++ b/app/DD_PM_WINDREAM/frmGhostMode.vb
@@ -1,13 +1,13 @@
Public Class frmGhostMode
Private Sub frmGhostMode_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim oSQL = "SELECT CONFIG_VALUE FROM TBIDB_BASE WHERE CONFIG_NAME = 'GHOST_SELECT'"
- oSQL = ClassDatabase.Execute_Scalar_ConStr(oSQL, CONNECTION_STRING_IDB, "frmGhostMode_Load")
- Dim DT_USER = ClassDatabase.Return_Datatable(oSQL, "frmGhostMode_LoadDT")
+ oSQL = Database_IDB.GetScalarValue(oSQL) ',CONNECTION_STRING_IDB, "frmGhostMode_Load")
+ Dim DT_USER = Database_ECM.GetDatatable(oSQL) ', "frmGhostMode_LoadDT")
If IsNothing(DT_USER) Then
oSQL = "SELECT [SQL_COMMAND] FROM TBDD_SQL_COMMANDS where TITLE = 'GHOST_SELECT'"
If Not IsNothing(oSQL) Then
- oSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING)
- DT_USER = ClassDatabase.Return_Datatable(oSQL, "frmGhostMode_LoadDT2")
+ oSQL = Database_IDB.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM)
+ DT_USER = Database_ECM.GetDatatable(oSQL) '(oSQL, "frmGhostMode_LoadDT2")
Else
MsgBox("No SQL for Ghostmode via DD_ECM. Check Your configuration.", MsgBoxStyle.Exclamation)
Exit Sub
diff --git a/app/DD_PM_WINDREAM/frmInvDashboard.vb b/app/DD_PM_WINDREAM/frmInvDashboard.vb
index 43aca0f..b7aebdc 100644
--- a/app/DD_PM_WINDREAM/frmInvDashboard.vb
+++ b/app/DD_PM_WINDREAM/frmInvDashboard.vb
@@ -8,13 +8,13 @@ Public Class frmInvDashboard
Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Try
- VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES)
Catch ex As Exception
MsgBox("Error loading form1 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try
- VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5)
Layout_Dashboard()
Catch ex As Exception
@@ -63,7 +63,7 @@ Public Class frmInvDashboard
Dim oChartArgument = cRow.Item("ARGUMENT")
Dim oSqlchart = cRow.Item("SQL_COMMAND")
oSqlchart = oSqlchart.Replace("@USER", USER_USERNAME)
- Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(oSqlchart, "layputDashboard1")
+ Dim DATA_DT As DataTable = Database_ECM.GetDatatable(oSqlchart) ', "layputDashboard1")
Dim series As Series = Create_Series(oChartTitle, oChartType.ToString.ToUpper)
@@ -111,7 +111,7 @@ Public Class frmInvDashboard
oSqlchart = oSqlchart.ToString.ToUpper.Replace("@USER_ID", USER_ID)
oSqlchart = oSqlchart.ToString.ToUpper.Replace("@USER", USER_USERNAME)
- Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(oSqlchart, "layputDashboard2")
+ Dim DATA_DT As DataTable = Database_ECM.GetDatatable(oSqlchart) ', "layputDashboard2")
' Create Series based on type
Dim series As Series = Create_Series(oChartTitle, oChartType)
diff --git a/app/DD_PM_WINDREAM/frmKonfig.resx b/app/DD_PM_WINDREAM/frmKonfig.resx
index ddae1bf..f3a9cd3 100644
--- a/app/DD_PM_WINDREAM/frmKonfig.resx
+++ b/app/DD_PM_WINDREAM/frmKonfig.resx
@@ -646,13 +646,13 @@
438, 29
- 117, 21
+ 68, 21
41
- Log Errors only
+ DEBUG
chkLogErrorsOnly
diff --git a/app/DD_PM_WINDREAM/frmKonfig.vb b/app/DD_PM_WINDREAM/frmKonfig.vb
index 06d19f9..75deeb3 100644
--- a/app/DD_PM_WINDREAM/frmKonfig.vb
+++ b/app/DD_PM_WINDREAM/frmKonfig.vb
@@ -1,4 +1,5 @@
Imports System.Globalization
+Imports DigitalData.Modules.Database
Public Class frmKonfig
Private email As New ClassEmail
@@ -12,16 +13,16 @@ Public Class frmKonfig
gvLogs.Columns.First().Caption = "Log Nachricht"
- If CONNECTION_STRING = String.Empty Then
+ If CONNECTION_STRING_ECM = String.Empty Then
Me.TabControl1.SelectedIndex = 1
Load_ConString("")
Else
- Load_ConString(CONNECTION_STRING)
- Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Load_ConString(CONNECTION_STRING_ECM)
+ Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.TBPM_KONFIGURATIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_KONFIGURATION)
End If
- chkLogErrorsOnly.Checked = CBool(LOG_ERRORS_ONLY)
+ chkLogErrorsOnly.Checked = CBool(DEBUG)
txtIntervall.Text = CONFIG.Config.ReminderTimer
Catch ex As Exception
@@ -86,8 +87,9 @@ Public Class frmKonfig
result = MessageBox.Show("Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?", "Erfolgsmeldung:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
'ConnectionString in Anwendung speichern
- CONNECTION_STRING = oPlainConnectionString
+ CONNECTION_STRING_ECM = oPlainConnectionString
ClassDatabase.Init()
+ Database_ECM = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_ECM)
'Das Passwort verschlüsseln
If chkbxUserAut.Checked = False Then
Dim wrapper As New ClassEncryption("!35452didalog=")
@@ -100,18 +102,18 @@ Public Class frmKonfig
If RadioDefaultConnection.Checked Then
LOGGER.Debug("ConnectionString saved")
- CONNECTION_STRING = oPlainConnectionString
+ CONNECTION_STRING_ECM = oPlainConnectionString
CONFIG.Config.ConnectionString = oEncryptedConnectionString
CONFIG.Save(ForceAll:=True)
Else
LOGGER.Debug("ConnectionStringTest saved")
- CONNECTION_STRING = oPlainConnectionString
+ CONNECTION_STRING_ECM = oPlainConnectionString
CONFIG.Config.ConnectionStringTest = oEncryptedConnectionString
CONFIG.Save(ForceAll:=True)
End If
- Load_ConString(CONNECTION_STRING)
- Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Load_ConString(CONNECTION_STRING_ECM)
+ Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.TBPM_KONFIGURATIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_KONFIGURATION)
End If
Catch ex As Exception
@@ -195,9 +197,9 @@ Public Class frmKonfig
End Sub
Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged
- LOG_ERRORS_ONLY = chkLogErrorsOnly.Checked
- LOGCONFIG.Debug = Not LOG_ERRORS_ONLY
- CONFIG.Config.LogErrorsOnly = LOG_ERRORS_ONLY
+ DEBUG = chkLogErrorsOnly.Checked
+ LOGCONFIG.Debug = DEBUG
+ CONFIG.Config.DEBUG = DEBUG
CONFIG.Save()
'SaveMySettingsValue("LogErrorsOnly", chkLogErrorsOnly.Checked)
End Sub
diff --git a/app/DD_PM_WINDREAM/frmLicense.vb b/app/DD_PM_WINDREAM/frmLicense.vb
index 181eea2..edb49fb 100644
--- a/app/DD_PM_WINDREAM/frmLicense.vb
+++ b/app/DD_PM_WINDREAM/frmLicense.vb
@@ -84,7 +84,7 @@ Public Class frmLicense
Private Sub frmLicense_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Try
- TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Formular Load:")
diff --git a/app/DD_PM_WINDREAM/frmLoginAdmin.vb b/app/DD_PM_WINDREAM/frmLoginAdmin.vb
index 928291f..3600234 100644
--- a/app/DD_PM_WINDREAM/frmLoginAdmin.vb
+++ b/app/DD_PM_WINDREAM/frmLoginAdmin.vb
@@ -4,7 +4,7 @@ Public Class frmLoginAdmin
Dim akt_pw As String
Private Sub frmLoginAdmin_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
- Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ Me.TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
akt_pw = TBPM_KONFIGURATIONTableAdapter.cmdGetAdminPW
Me.txtPW.Focus()
Me.txtPW.Text = ""
diff --git a/app/DD_PM_WINDREAM/frmMain.Designer.vb b/app/DD_PM_WINDREAM/frmMain.Designer.vb
index 3f9abae..ac55282 100644
--- a/app/DD_PM_WINDREAM/frmMain.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmMain.Designer.vb
@@ -92,6 +92,7 @@ Partial Class frmMain
Me.SearchItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarStaticItemAppServer = New DevExpress.XtraBars.BarStaticItem()
Me.bbtniCW = New DevExpress.XtraBars.BarButtonItem()
+ Me.bsiInactivityCheck = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -235,6 +236,12 @@ Partial Class frmMain
'
Me.GridControl_Docs.ContextMenuStrip = Me.ContextMenuGrid
resources.ApplyResources(Me.GridControl_Docs, "GridControl_Docs")
+ Me.GridControl_Docs.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControl_Docs.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControl_Docs.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControl_Docs.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControl_Docs.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControl_Docs.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl_Docs.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
Me.GridControl_Docs.MainView = Me.GridView_Docs
Me.GridControl_Docs.Name = "GridControl_Docs"
Me.GridControl_Docs.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView_Docs})
@@ -464,9 +471,9 @@ Partial Class frmMain
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 26
+ Me.RibbonControl1.MaxItemId = 27
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1})
@@ -571,7 +578,6 @@ Partial Class frmMain
Me.bsilastsync.ImageOptions.Image = CType(resources.GetObject("bsilastsync.ImageOptions.Image"), System.Drawing.Image)
Me.bsilastsync.ImageOptions.LargeImage = CType(resources.GetObject("bsilastsync.ImageOptions.LargeImage"), System.Drawing.Image)
Me.bsilastsync.Name = "bsilastsync"
- Me.bsilastsync.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
'
'bsiDebug
'
@@ -693,6 +699,14 @@ Partial Class frmMain
Me.bbtniCW.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large
Me.bbtniCW.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'
+ 'bsiInactivityCheck
+ '
+ resources.ApplyResources(Me.bsiInactivityCheck, "bsiInactivityCheck")
+ Me.bsiInactivityCheck.Id = 26
+ Me.bsiInactivityCheck.ImageOptions.SvgImage = CType(resources.GetObject("bsiInactivityCheck.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.bsiInactivityCheck.Name = "bsiInactivityCheck"
+ Me.bsiInactivityCheck.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
+ '
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup4})
@@ -746,6 +760,7 @@ Partial Class frmMain
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiLicenses)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiUserLoggedIn)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemAppServer)
+ Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiInactivityCheck)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiGeneralInfo)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiVersion)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsilastsync)
@@ -1552,4 +1567,5 @@ Partial Class frmMain
Friend WithEvents SearchItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarStaticItemAppServer As DevExpress.XtraBars.BarStaticItem
Friend WithEvents bbtniCW As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents bsiInactivityCheck As DevExpress.XtraBars.BarStaticItem
End Class
diff --git a/app/DD_PM_WINDREAM/frmMain.fr-FR.resx b/app/DD_PM_WINDREAM/frmMain.fr-FR.resx
new file mode 100644
index 0000000..282f17d
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmMain.fr-FR.resx
@@ -0,0 +1,1966 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
+ CAAAAk1TRnQBSQFMAgEBAgEAAeABBAHgAQQBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
+ AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
+ AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
+ AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
+ AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
+ AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
+ ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
+ AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
+ AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
+ AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
+ AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
+ AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
+ AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
+ AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
+ AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
+ ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
+ Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
+ AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
+ AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
+ AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
+ ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
+ Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
+ AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
+ AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
+ AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
+ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
+ AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
+ AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0YAAQgEcgEICgABGgEc
+ AnQBHAEaKQABcgFVAVoCWwFaAVUBTwgAAXQBeQF6AuUBegF5AXQnAAJVAVoBWwLkAVsBWgJVBgABdAJ6
+ BOUBegF5AVIlAAFPAVUCWgRbAVoCVQFPBAABUgFZAXoG5QF6AlIjAAEIAlUIWgJVAQgCAAEaAVIBWQF6
+ BuUBWQFYAVIBGiIAAU8CVQdaA1UBTwIAAUwBUgpZAVIBTCIAAU8BNApVATQBLgIAAUwBUgFTCFkBUwFS
+ AUwiAAEtAzMHNAIzAS0CAAIrAjIGUwIyAisiAAFPAS0BMwhVATQCLQIAAUwCKwhTAVICKyIAAQgBLQFV
+ CJcBVQEtAQgCAAEaASsBUgh1AVIBKwEaIwABAgGXCJgBlwEtBAABKgF0CJoBdAErJQABTwEIARsFwgHx
+ AU8GAAFMARoBGwQaARsBGgFSJwABTwEIAfMC/wHzAQgBcggAAUwBGgT2ARoBdCkAAQgEcgEICgABGgR0
+ ARplAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wQAAfgBHwH4AR8EAAHw
+ AQ8B8AEPBAAB4AEHAeABBwQAAcABAwHAAQMEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA
+ AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAHAAQMBwAEDBAAB4AEHAeABBwQAAfABDwHwAQ8EAAH4
+ AR8B+AEfBAAE/wQACw==
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAANNJREFUOE+1k80NgzAMRhmlI3QGZuGeLdiBXjoEU2QaCk3gSPssjJIQBXpopE9y
+ 7M/PCT9VuuZ5XgsanHP3zZpfGOu6zqpt23NICYBOISHgNYyRipBlWW7e+ycAa63Ivd06jdMBEEKkGRIb
+ mpExRqR7QLmTUJPJ32Bomkaa+r7fDcTkqIWQCKDHxqiFVHoavY7mBcB0Ap3cdY99EjE5anj0FCkgmq6N
+ CtI8Hu/8fwCXr6CeCPDLQ0w9Arj6GjHndOlDolb8gVjBp7yDiMlR22zJqqoPDtN4ChAfojUAAAAASUVO
+ RK5CYII=
+
+
+
+
+ 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
+ yg8AvH8CqUB0J/cNlPoAAAAASUVORK5CYII=
+
+
+
+
+ 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
+ QmCC
+
+
+
+
+ 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
+ pImxyBTJaA8EGBEBLMJMXt2fMs+5UeZ5gLiL2+dcsXcsNC68p5OBLj9H7CHbc82AAVejvhnr1RcPl0BD
+ aI8uxBlNjuoPsck6upgu6LqyL0RdadfZSbRTmCjkXPShsaFioJthICgii5psbACldwRVmLC0L37nVild
+ fhVAzKvyR9sfu7kfNqcFGxJU+SH6YYP6QsSXJi7vg+iNDemNDarF/ZVeWEIvGr24uzLA36EuXYPCs2hX
+ znl81xXjmw5w1NvfRfTWCO9F44WeNG5JL52e9C0T2oPGhgGOYHRIDxoT0l2END6hUcHdadQiRPANgO6H
+ hoGfluyWCtzjrB82SxTQjt10zDyvb5I+Ffmjk9u13KcjbYxdn3JEb+O6zKWNa3zWQv4LtzsZ6PZjWCY9
+ a27RJtaF+KZaxBg2gJs1AS3WymS4lsoiypS6rp1H6wa0seY9jU9hYIEY+EgZ6Do3NJOeNrXIADURi/N5
+ DGfJAg6TaW2I6AaceKCNi05WBkzx2gdN9PipnSzztzlVoPPs4B1/nq28KyaeNNkR7fQEpWL4s6zxmV2n
+ BRnoEWzCm9O8ZqfHCoxJ/b1MItPA4Iub48nzt8k3KKMWusaDqO0Yt7BJHtbkuinWVPJgAlIEd8Y/mSYr
+ LEnkpvBLIlchUZjkq0gQJvr8nXia6B1PP3jF1Y0cv9CVdYF8lvM7mU/45cBl4bX5Nz7+j/Ac/ADiT3LO
+ Xv4z4j/shDt4Td40rMN6rCsG+FAnbxPtIKL/EXL5C4aQjGB1h9mhAAAAAElFTkSuQmCC
+
+
+
+
+ AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA
+ AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v
+ uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN
+ 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ
+ 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8
+ 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G
+ 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd
+ kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA
+ AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh
+ nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h
+ n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke
+ i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT
+ WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk
+ o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h
+ nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk
+ pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA
+ AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD
+ D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws
+ yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco
+ uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB
+ Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws
+ yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke
+ jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K
+ L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn
+ tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD
+ D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr
+ x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA
+ AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd
+ hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj
+ n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk
+ pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA
+ AP8ZD1L/Oi7E/zEkpP8wJKP/MSSk/zQnr/9BL9n/EQw7/xINQ/9bRPT/Xkfl/1lD3+4xJKXuNym6/yke
+ jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UWGH/GW50/xpydf8RS1b/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8FFRf/GWtz/xdmc/8bc3b/Cy81/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wg0
+ K/8acnP/FmZx/xZncf8nJoj/MRug/zMlq/86K8P/OSrB/zQmsP8ZE1b/CAYc/zEkr/9TP9v/X0fn/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8y3fX/P////0L/
+ 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
+ pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
+ qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
+ 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
+ n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
+ pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
+ iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
+ jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
+ n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
+ 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
+ f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
+ uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
+ pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA=
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAANJJREFUOE+lkrENwkAQBI1EATRg0YFzirDI
+ SMgdIkeQ0wQlkJKZjH5o4tl9/Z5O6B6BCUY67d7tv33fpJT+IhR/wYr+fBctGMEEngXW1OjlvlrAAhxA
+ qnADGxAGrEAPGHICA1gXWD+AQtooYF8aGGK68zugkFG6TA7pmjlEDR7ovAn9SVo0LCwk8IyPJoeP18sS
+ dfUQfz2uiuIgzcPm4tswdd/APdPgj+qkO9+H2Of5Bj4Srkgh72vcAYXYnA8gfCQKidiC3FsLIPOe8lxC
+ 8XtS8wL/7IdaesUzOwAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAc5JREFUWEfFlj1Ow1AQhFMEmnRIFCgUFCDl
+ BNAlJ/BVUtImQkIcAW7gA9BwgHTUqSgouAK9mUHeaN9mXuwQ8VJ8Sjxvdnfkv+dB0zRHRYolkWJJpFgS
+ KZZEijmqh7cJmIMarMF3C/9T49pE1eaQYgRNx2AJPkDTAT30jlWviBQ9aHQLXkEc1AVrpqqnR4oGGpAL
+ 8AnUkC5WYGcIKRIUkqr9vQIW4h0swAyctfA/Na7FEDwT2cshRYIiDmcDH+IR3Cg/4Rp4ATHEUvnJlnBf
+ Pw9RYMMNC3ES/RF4RiCG4I0pn47kAMPPYYzDjcp7dwEvz0S8HHPlTQ5gyg039gnBe8LX1sq3+QND13Cj
+ Vwj4eGP6urXymbnvcCMJweOw3pfqoOIDQ/zWbxp4sMh3uzfPlC8C396XcasJgYEbiy9YKJ8C3q4QyZlL
+ ig2YuKv5Ij5S2RdQBN5ciIqPuvcmhQaM3HbjzseXy0j5PfCcAhWCw4fRnxx4UMAt1TcgDNH1Kn4C18CH
+ SE67R4oERfwGUNtwn83oC/gQcgaRooHCKeCWGkP0gSEugextSNGDBgzx1w+SO9XTI8UIGh3vk8yDpsf5
+ KP1PpFgSKZZEiiWRYjmawQ//5PL6OeAKogAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj
+ aMjN118AAACCSURBVDhPtY7REYAwCENd0DUcxGOJbuJ22KjpUSy13unHOw0JoZOqFuZ1UzIyB5WIgtEc
+ NEM2HM2JL1h80OrM4XMHfFPgQoUnD4TXO1SvCC9cdH1bMHqdlFf8VwAzf0nlZV4XNLEFN2ACEVGD12mk
+ gEv8t/oM9XALXreXLFeYOC1pB/JUiL0FdxNpAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj
+ aMjN118AAADxSURBVFhH7ZJRDsIwDEN3Qa7BQdAuwU24XUZQi1zPrbJ1G2Lax5OIcRxTMZjZT5HikUjx
+ SKTI3B4vI5Rn5mOPQopMNDjqQ6TIRIOjPkSKGQ5klvoUUsykgDuGIeRTfHazTyHFDIZUQJ/iKvDHBSio
+ RtiL2YgUnbTY+vVRmq8gRQeXO9mvAHlrLCtAy5vD94rBScYtnp6RL1EMDpo35mQFKnstrgK7FwjBezPh
+ bfIDqwqM42hL8L0ixEkHugqgLuYn+r5fZNKB7hdwTc2o++cixOFDNcTeSQr0kIP5EM6o+2cZtBYMRo3m
+ 9p+whxwcxcyGCV++4POOhQ6sAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
+ eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAARBJREFUOE+l
+ 0z9qAlEQx/E1Bi1t7D1BCgXb3EBT2nkBmxQSW5HtPUCKdIGcwL2CFnuI4A0EFSRuvr9lHsyTlSWk+PCY
+ cf68XTUpiuJfKpN/kaRpek8D7ziYDzwgqouCG11sUThDRHU+uLfxB2HABL4nGqDpfpsot3PxAr4nGqDp
+ vlmU+0SONnx9yQeaHg0YrbLENNHH2U7F5Wd+QAdHNZqDFWnQG2a42qm4XOAHyBxhwJQCbVLxxRoCxcpH
+ Ax7xhGfToEDX1UY1rdGzU7HyfTXq5SzxjT1eTIsCPbOurYYeuVedFit/1oAvhGt77fFqM6Co9ganm8Yg
+ p6DuHTTD81eioP5bqPqHBSpw/O/AclnyC9lwIPbajFPHAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
+ eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAAsFJREFUWEfF
+ 1k+ITWEYx/EZ/8IwslQWNlJylcJM/hU76U7drBAWWCh2YiGb6W5sbSULRSQrf0aNPxmE/JdpRlZI2E0i
+ orm+v5n3bZ6ennMdV6E+Ofd53/f3vOfcc86dtkaj8V+FxX8pLJZVr9fX4zI+4gc+4So2RPMjYbEMmnTj
+ JxoB1ddF67ywWAYNTpmGkbPROi8slkGDJ66h9zRa54XFMmhwFKOmofc6WueFxYyQHRiAvcnuYifacRhR
+ c9F9UIlyrbAoLD5iwiL6NwMjiMalGmVbYZGFM/HZBEW+ohO3TM16hulRvhUWWdhlgppZi4uulu2Ksr2w
+ yOJNLqyI5h1zNfmAjijbC4ss3mfCmtmP5a72HRuj3EhYJOCeCWzmAXS/HMd9nMRv73wrLBLSj6ih11+w
+ voIp0ZgXFlNA0Xs+0/hSTHNr50Pvi8fYq8923AuLwsKixyvTC2oy9Ou3GyuwB+9g5+kFdgJzq719bV7Y
+ XFhQSwFFNL7G1byFxgLMK70BYcEZRMGn0/gFV79jjKQmrzCcG3ph44yQqTiAN1CDtzgEXfotqZbpyWnv
+ 6b2yutZ7aQ7HldSkkeSmnViVP4eNMwWa49nmeFL6fzOGMLYBmncTOorn2I4byBu4mWoa05wuxBsgbBF0
+ +Q8WjOtX8LzmKcTQ2b1AblpEczR3YgOEzYIu7yDyZdVbreaa69LbR1Tzta5DgdiK3EhnqqsgOs51zZn4
+ Clisu9k/PtZDnMMjU7PsldClzs17Uk10nDehOeMbYPEyfDFhrdAGhlJ4dh25eWbvCRnWBsq+dpvRBl66
+ 8NvwG1DNzhnUBr65sFYsJiw3sV9BNdVEx+FX8N6FtUp/mi0h1N+E1zCQjnN9G8Y3YO/wVuSgpPXHsFUK
+ MVZCZ/p3L6I/oRBHr9mxs0vyBvJnjZV7FZeRg5rQj5EEY31tvwDXIzKeLFW7IwAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv
+ bWl6O09wdGlvbnNZCaCYAAAAvklEQVQ4T72RQQoCMQxFB7qYY8wZ6j0E7+HOxRxAu/c44wFcz1FcFxTj
+ /5DBBmaa4sLAIyTk/6ZtJyKGlJI4mHlTEA5txX8MgBdm3hSP+0lKlljptxlsUWpaDF5gBv1CqfEM2Ov2
+ 51s4XKYdctYcWgx4MsUCRnAEb82sIakbzBgKOvykoID16Bn0ui5PpOgKBs2s2Y9VAwxkwLUpGNDjlWjC
+ mv3sGUTw8wbuG4BgDNZQQdsv1ICA1+GbxG9fug/ssNACwjT8OgAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv
+ bWl6O09wdGlvbnNZCaCYAAABy0lEQVRYR82VPU7DQBSEc4O0UZQ2TZooB6HMRZCoIyFXdFyDE3AAKqrQ
+ 0keIBkU0EQixzET7nJeXifAPllnpU9azb2d27bUzSCn1ihQjRVGkBnCe9PNIUVC7VQknUvS4HdUmeimk
+ 6MlGtVtehPT0SDHQuLVeQN5FK6JnRIpGNmjcWi8A/EVTviVSJG8Pl+kc3187lBwar1WdgSYziBSJMjI+
+ Xh9Rcmi8VnUGmswgUiTKyHh/ut2Hcuf85bWqM6K3R4pEGTUlenukSJRRU6K3R4pEGTUlenukSJRRRZ7B
+ 0KP8DSkSTFTmihewcawvru+nYJuZKn9DigRGKizC8AFCRmCM/hJcoT8HKTM3T9aAkc8pO5Ec8BsbGuag
+ O7AAE3ADPjPsU+MYa1hbLuIk2BBhCi6AuzLjKrB2bDknwYYIU/CZL2HI3akwxcLnHIV6QpCCp30N+Mx5
+ iy2Ad2UFZhn2qdn4xOcchXpc0DmGMONp54Hjc7aAFcY4v4SaG2ct5+zfDhlOMFGFergAvmY05WGzgBnG
+ 4gJ4J2zcarfMkeEEE1Wo518soNdH0PshJN29hlWBYTcfoqrArJtPcR1oCMpdod/+z6gNCKn4d5wGP9ko
+ qHzFAnr7AAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF
+ pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq
+ 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW
+ sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/
+ tQHvKFEAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ
+ CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW
+ DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo
+ Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru
+ bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi
+ WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn
+ +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED
+ iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD
+ oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB
+ J+0x6AAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJxJREFUOE+t
+ k+ENQDAUhDuKafyzlN9MYQkbWEdiAO5rNEEOlZJ8Cb17l77XCk07XqlFLyYx7/DOGtrJf/yoRCcWsd6A
+ hgfvKYCFQbgiB94YkgJIdcYnqIkB9GW3rSeA0wQ1NSLDcYa3AOgRmbATc5gI4JicmLOD+ZeA2xYyAmIL
+ xUMsPkYoukhQfJVTCKm2nR00PLEYjgGJD7/zGDZMp1TRLvGgqwAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAahJREFUWEfN
+ lz1SwzAQhcMRSMXkCpyFPkeggg5aJjWTmqNQ5AoU3CC3yFCZ/TzejGQ/WZKNxxRfxuPs232RVj/ZNE2z
+ Ku3Hw+GzhJ2xN47GyTgblw6eecd3xBCrckSUGrg33oxvoymEWDRoVc6WnIEb49H4MlSREtCSg1yDGmMG
+ 7ox3QyWdArnIGdVJGSDww1CJ5kDOyIQywFCV/PIf48nYGrfdM+9UbAi5r9OhDDBfStjnGV2IvXvtxaSg
+ hjRAx5Y23DYs3uVgNFRsH2q0qwNdaIBlowSKOQaAWpEBNo6ada6m4KUXMwa1duhczO6lAlN4E9KANU0Y
+ sg8NsIWqoCU5hgbYx1XQkpxCAxwmKigJuhAVk+GMzsWcaCooiRd2VEyGC7p/Y2D1KahuQi/sqJgMURNW
+ L0Mv7KiYDNEyrN2ITDbbQLQR1W7FJptlYLAVQ81hZLJZBgaHEdQcxyabbCB5HEPphcRkkw0kLyRQeiWb
+ SvZKBqteSh0C/3IkyBUVhzEDwFAxX8WNKUBLjuuwh+QMOHQsy6ZmnyAWTdvtKUoNOMv9OV2PZvMLsfKg
+ vDjYoZ0AAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF
+ pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq
+ 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW
+ sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/
+ tQHvKFEAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ
+ CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW
+ DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo
+ Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru
+ bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi
+ WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn
+ +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED
+ iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD
+ oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB
+ J+0x6AAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAWdEVYdFRpdGxlAFRpbWU7Q2xvY2s7V2F0Y2hviDio
+ AAAAyklEQVQ4T62TzRGCQAxGaYM+KIES6MCDZchhO6ERmnDGJjjYgDFvJ2EChoPi4TG7yeOb/YFGRE5R
+ H49LH+mUUZmVxWBMjd7qZgFX5a7IAfRw0gAaT+WlTMqgtAZjavRwakgMYGmkI9yoQSlFwOf0zMHtqHmD
+ /bHEyWXYBwCOuSNzL3JIFIcoHwSwHdyZuRc5aYptlD0gBuGYuzD/W0C6hQwcczdbSA8xA8fczSGm17iH
+ njkf1winPqQYQjpLzKBXX4YsAL7/mX5Hmjfh6HbzAvf6qQAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAWdEVYdFRpdGxlAFRpbWU7Q2xvY2s7V2F0Y2hviDio
+ AAAByElEQVRYR8WWsW0DMQxFPYEHSenKTbqMkA3SGJnA6T1EJgjgxgNkEm+RykC6C59BGhQpn9lEVzzA
+ R/3/xTtJd15N07Qo3eJIusWRdIsjSYXz28scW2EvnISzcFH4TY0xND3vlThfKvRMwrPwKfwI0wPQoMWT
+ suJ8qdAxvQvcYW+yOfDgbfLifKkQDB/Cr2ChPO6jsBM2wlrhNzXG0JgeLxm3zDhfKjgx3fvJv4XXqI+g
+ Ua1v4vYkoj4VQISsn3/sX8JT1B0Oh0lp6mjVY36yrnvC6yAVQIRsIjNzN2lyuNcA4FGv5ZCZdKkgIo6R
+ 7XbW8+5jn2sA8GoGWWRuo6a5ABFxlq3rYxz3PGoAyHB5+zjeXICIeKGYYRfHPcUGOB2Wd4rjzQWIyG++
+ TRz3FBvgiFreOY43FyAif47XcdzjGmjwGjJc3sWPQXMBiJxhkQbKS1CBDJdXWoLyJqxAhssrbcLyMaxA
+ hssrHcPyi+gReDWDrPKLCEqv4jnwqNdyyq9iKH2M7oFWPeavf4wQKct8jk2oLPqHxKB7vxxV8Nzu3Ijz
+ pUI0KKwfm8hOxxxo0F7XPBLnS4WeyfH/f8tH0y2OpFscSbc4jmn1Bw8VkFVeTnsNAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0
+ O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAGtJREFUOE/NztENgCAMBFAWdB0HcAlH
+ cAW3O1vCNZTyIYFEP14CZ3uYAEzphiNCsB03RMj364QIeQiWF5RFh9+UHcpiy16uyPgXBZz7dwHlRVpV
+ 4HBH2YFYwLssUP4TVc+7i5ouGNUN30N6AFQmr8/EPoHpAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0
+ O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAN5JREFUWEft0MsRwjAMhOE0SDsUQBOU
+ QAt0Z2SPl6zNn9xQcsjhG4aV9ZgspZRDYZgJw0wYZsIwE4bu9niXgLX761kC1vb6HIbuOoAG9cWz4U3G
+ AfVXvgf09wPvnWHo+pAh00JzzAH03xeL3hEMXR8yZNcBKQfQoNBq1wFnOWC22aeZBMOKBoVWq8u6tli2
+ +jSTYFjRoNBqtvSYA0QHeAY9Ea/1GYYVDQrDm38fIG2x+Bs6QLyP6oJhpWYfVPmbjS/w0+f1GYZOg6h2
+ ygNkr89hmAnDTBhmwjAThnnK8gHwijMDX2l9pwAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA
+ cUlEQVQ4T92P2wmAMAxF3ck5upTkO/O4jJuosSkk1PRl/BIDh5bL7SGdiOhGWNYQIUOwPaEI+MGTTCgC
+ t4DX44IT/VKy15DCiK4AAKjBrAK51OCyHc4QcRPJcAM7nO3HqZJXghy3IJ+/COLZ5BuCPkAXqoH69KX6
+ 0EkAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA
+ 00lEQVRYR+2SXw7CIAyHdz4TruSD4cmIN+AeXoaL6EOli5DiWoHN4J+0yZcUNn79ljEBwEdhN0dSLMzh
+ ImEi0IihmTWKRTwswQ0SoZk1ikU8LJHCuWeU/xVogma1kpsY0HPR1rK4oFSAO/B20rzEzwrM//wZGtxK
+ bmIAN0histZCjb095t57v6ODE7lhhrxiFmgtfPfkzqzEMIEQAiuRGwSDW+kVwEIJ59yNStDh3JdKrBLA
+ ekhck8QwAY5YYwS4UgEVUAEVWAj0ogIq8BUCWwGA6Q7DQtTyWUCXGgAAAABJRU5ErkJggg==
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYDAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+ Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG
+ QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iR2F1Z2VTdHls
+ ZUhhbGZDaXJjdWxhciI+DQogICAgPHBhdGggZD0iTTIzLjcsOS43bC02LDZjMC4yLDAuNCwwLjMsMC44
+ LDAuMywxLjNjMCwxLjctMS4zLDMtMywzcy0zLTEuMy0zLTNzMS4zLTMsMy0zYzAuNSwwLDAuOSwwLjEs
+ MS4zLDAuM2w2LTYgICBMMjMuNyw5Ljd6IE0zMCwxN3Y3SDB2LTdDMCw4LjcsNi43LDIsMTUsMlMzMCw4
+ LjcsMzAsMTd6IE0yOCwxN2MwLTcuMi01LjgtMTMtMTMtMTNTMiw5LjgsMiwxN3Y1aDI2VjE3eiIgY2xh
+ c3M9IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9Ik0xNSw2QzguOSw2LDQsMTAuOSw0LDE3djNoNHYtM2Mw
+ LTMuOSwzLjEtNyw3LTdjMC44LDAsMS42LDAuMSwyLjMsMC40bDMtM0MxOC44LDYuNSwxNi45LDYsMTUs
+ NnoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0yNC42LDExLjZsLTMsM2MwLjMsMC43LDAu
+ NCwxLjUsMC40LDIuNHYzaDR2LTNDMjYsMTUsMjUuNSwxMy4yLDI0LjYsMTEuNnoiIGNsYXNzPSJSZWQi
+ IC8+DQogIDwvZz4NCjwvc3ZnPgs=
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJoCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iSW5mb3JtYXRpb24iIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
+ MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1
+ O30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yMSwxNGMtNSwwLTks
+ NC05LDljMCw1LDQsOSw5LDlzOS00LDktOUMzMCwxOCwyNiwxNCwyMSwxNHogTTIyLDI4aC0ydi02aDJW
+ Mjh6IE0yMiwyMGgtMnYtMmgyVjIweiIgY2xhc3M9IkJsdWUiIC8+DQogIDxwYXRoIGQ9Ik0xMCwyM2Mw
+ LTYuMSw0LjktMTEsMTEtMTFjMC4zLDAsMC43LDAsMSwwLjFWNEgzQzIuNCw0LDIsMy42LDIsM2MwLTAu
+ NiwwLjQtMSwxLTFoMTlWMWMwLTAuNi0wLjQtMS0xLTFIMyAgQzEuMywwLDAsMS4zLDAsM3YyMGMwLDEu
+ NywxLjMsMywzLDNoNy40QzEwLjIsMjUsMTAsMjQsMTAsMjN6IiBjbGFzcz0iWWVsbG93IiAvPg0KPC9z
+ dmc+Cw==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABB0RVh0VGl0
+ bGUATWFzaztSb2xlO7qx7LMAAANOSURBVDhPTZN5UIxhHMffELWiVKtr7bbtJDWOypVyHyOaiHJPJhMa
+ KkdESUx/mNE0RsM6QrEy0eX4K3dCy04SohZjHe3bJlOyu91bX79ns4135jvvPL/3+Xx+zzPz/jh6rCjD
+ /mUoZQirqS9GcfU5q7n68xG0NO9h36wpNhRbtgZALyrW567XVJ1eLX+SFb7jZvrieSlrJ3tQ3e5fRgX7
+ CsdeSpi+pDg5OP7ukZALVZnzPvu42zlYBDYf89agpTobjQ/T8LUkHurcdag7F446eRg+nFpGWYrPV9fh
+ a2EM+LJE1GTOYaSjRWCrvhCJPuMd9BmK0N9Vhf7uWvR3PEffn1KY2m7A1KJAjzYThpok6N9k4PWxIEY6
+ WwSCunMrYWq9DFNTDEzNcej9uZ2ATeh8PR7tKhnaK6XQP5KAvypCa0U8qjMCGSkcFNSeCdP36OQw/Uo0
+ w726rejlt6DzlTfaX8pgfCZF210xeIUILQ9joToyue9/wci3J5c2dX7LQm/zXpxf7wl5lJhOEG3ubqTu
+ KbOdsX+mExrzJWgu2wjlwQn6/wUC1fH5Nfp36dQ1iRJDcAy6NZFoV3rB+FQKY7kETYUi8Nd8wJdG4MFu
+ ry/EOVkENuVHg4ubKxII2oGehmj0/KD7v19AsKcZ1t9jx/eA7ro/NHkLURIrKiPO3iKwLt7jn6gpiELX
+ h2h0f1qJro8r6N4yGAg2PBDjV5EHtHnu0BUFozYrAPJIYSpxthbBkM2zXaXVx2Z0dryLo64y5GzwhKZA
+ DMP9cVDnuCNruRsackVoLFyA5/skXWF+tlOIG/gTX2UEMongToKP4vv1cBgq5kB3U4z0uS44EOSEfTMc
+ oT7lCq3CD+psf+RvdCqh/Q4UqwHB4UlMMHRVwBjvylS/n7rbEdAVTgV/xQvaS27gcyUE+6JBMROPE11b
+ Q31GBNB+64rtDpxZoDrky6lSvJlkRFqoMFSZ7PX709lZaChYhKbSxfihCIH6xESUxwvbdocIomgfGySr
+ J9tGDwheJMu4F/ulTMAmzmZDoN2UG5vHFt+Lc9E+2+mMslhHPn+t/a0VvsOn0XeBBR4UKJMknHLvOK5y
+ jwdXucuNidhYj6IIKazgQrGnsFEehAcE4P4CACn8IorHn6UAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+ 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
+ mfEXvolKuJ+Y6BUAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+ aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+ c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+ O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+ ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+ c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8
+ cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx
+ LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02
+ LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw
+ LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z
+ dmc+Cw==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAAA3klE
+ QVQ4T52SvQ2CYBRFia0TuACF0coxbLF1AgvDAJQu4ASG6ACugI07UJlYKvYUeo95H/lASITiRO7Pu8GE
+ 4HmJS/EeSMlA0TD7UDCQN8w+5AxkJk5iKcb2i3bFrixjIDUxE2gH2g10ZSkiMTHkDRIGIhNDiBgIxcsz
+ /4Wb0P2ns5l94CZwA1sz+8BNNTAV7ntYmNcGGR263FQDsBOEezEyzwePjA7dr+8X5uIqKBzFSkwMnvHI
+ 6ND9GYC1eAiKbZDRqW78Y8dG3EXzGI+s1q8JD762g7gZPOM1enHwAUbOxAVvaZeAAAAAAElFTkSuQmCC
+
+
+
+ -1
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAACmUlE
+ QVRYR8XWv29OcRTH8ZakQhlEikhFiEQZxM/QRGNoRJoKmyK2iviRpsEmERaDwWCxmQ1iaewW5i4MiH/B
+ ZL8+72++5+bcb8/zuH2eG4bXzePecz7nVO+9fUaqqvqvwpPm16eH83Ja9siocG4YZJBF5jwzwsFGRUvy
+ LLsnV2VWTshB2SXbZEw2ZHzmHNeooZYeesmwvCVmhIONihZdQ9cWmREONipaKJq6tMCMcLBR0VzR1KU5
+ ZoSDjYqmi6YuTTMjHGxUNFU0tfFUbos9Qaasm2KGDXot3KGnxD9uW+Sy3JS78kgeZ3zmHNeomZEjslPI
+ IItMsndIucCEX+CbVNkXeSfP5ZZclKPC87tVNmZ85hzXqKGWHnrJsDyyywXuSJptC3wWa+ga2eUCV6Sx
+ wHuJmrtA9l7xC/DraSzwSqLmLpB9WGw4989uaSzwQHzTR+FO3pfxmXO+pm0d2WfEFrguzGwswO/Eh56U
+ VORwzoe3rSObm9QWYJlU6xfgv8ga+Cl8oMe19daRfU0Yzh+37ZLq/AJYFWvqCplk3xcWuJD/HS7wRqKQ
+ YZDJDcfwZZmQngvwcohChkHmcWGB81IPR7nAMfktUdAgyCLzktyQzdJ3AaxIFDYIsvh2xHcKvh35OUm0
+ AHdpFDYIsvbLpPgZtWiBA/JdosD1IIOscfH5DdECeCE+rN/zbvxzDzL++i261wL8Tf8pFtbrjWfKNx+9
+ ZNQ1zOglHXxx9kQs0Jbgp7R3fr93P72NvHKolw5lg/C6/CA+uA166letKYd66VA2ZHzT+SrRoAi19KzJ
+ Kod66RA1ZWelzVNBDbVRxpqhXjpETc4heSvRYHCNmqg3KYd66RA1FTbJOXkpPzI+c45rUU+tHOqFJ/+d
+ auQPQiXhdkHlGrsAAAAASUVORK5CYII=
+
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iRmluZCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
+ MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5
+ bGU+DQogIDxwYXRoIGQ9Ik0yOS41LDE5LjdMMjkuNSwxOS43TDI5LjUsMTkuN0MyOS41LDE5LjcsMjku
+ NSwxOS43LDI5LjUsMTkuN0wyMy44LDZsMCwwYy0wLjQtMS4yLTEuNS0yLTIuOC0yICBjLTEuNywwLTMs
+ MS4zLTMsM3YzaC00VjdjMC0xLjctMS4zLTMtMy0zQzkuNyw0LDguNiw0LjksOC4yLDZsMCwwTDIuNSwx
+ OS43YzAsMCwwLDAsMCwwbDAsMGgwQzIuMiwyMC40LDIsMjEuMiwyLDIyICBjMCwzLjMsMi43LDYsNiw2
+ czYtMi43LDYtNnYtNGg0djRjMCwzLjMsMi43LDYsNiw2czYtMi43LDYtNkMzMCwyMS4yLDI5LjgsMjAu
+ NCwyOS41LDE5Ljd6IE04LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00ICBzNCwxLjgsNCw0UzEw
+ LjIsMjYsOCwyNnogTTI0LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNi4y
+ LDI2LDI0LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iRmluZCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
+ MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5
+ bGU+DQogIDxwYXRoIGQ9Ik0yOS41LDE5LjdMMjkuNSwxOS43TDI5LjUsMTkuN0MyOS41LDE5LjcsMjku
+ NSwxOS43LDI5LjUsMTkuN0wyMy44LDZsMCwwYy0wLjQtMS4yLTEuNS0yLTIuOC0yICBjLTEuNywwLTMs
+ MS4zLTMsM3YzaC00VjdjMC0xLjctMS4zLTMtMy0zQzkuNyw0LDguNiw0LjksOC4yLDZsMCwwTDIuNSwx
+ OS43YzAsMCwwLDAsMCwwbDAsMGgwQzIuMiwyMC40LDIsMjEuMiwyLDIyICBjMCwzLjMsMi43LDYsNiw2
+ czYtMi43LDYtNnYtNGg0djRjMCwzLjMsMi43LDYsNiw2czYtMi43LDYtNkMzMCwyMS4yLDI5LjgsMjAu
+ NCwyOS41LDE5Ljd6IE04LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00ICBzNCwxLjgsNCw0UzEw
+ LjIsMjYsOCwyNnogTTI0LDI2Yy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNi4y
+ LDI2LDI0LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
+ RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
+ Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
+ aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
+ PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
+ MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
+ NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
+ di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
+ LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
+ NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABoEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+ aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+ c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+ O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+ ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+ c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJTY2hlZHVsZXIiPg0K
+ ICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTYgMTYsOCAxNCw4IDE0LDE4IDI0LDE4IDI0LDE2ICAiIGNs
+ YXNzPSJCbGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMTYsMkM4LjMsMiwyLDguMywyLDE2czYuMywxNCwx
+ NCwxNHMxNC02LjMsMTQtMTRTMjMuNywyLDE2LDJ6IE0xNiwyNmMtNS41LDAtMTAtNC41LTEwLTEwICAg
+ YzAtNS41LDQuNS0xMCwxMC0xMHMxMCw0LjUsMTAsMTBDMjYsMjEuNSwyMS41LDI2LDE2LDI2eiIgY2xh
+ c3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA
+ AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v
+ uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN
+ 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ
+ 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8
+ 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G
+ 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd
+ kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA
+ AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh
+ nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h
+ n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke
+ i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT
+ WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk
+ o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h
+ nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk
+ pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA
+ AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD
+ D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws
+ yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco
+ uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB
+ Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws
+ yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke
+ jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K
+ L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn
+ tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD
+ D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr
+ x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA
+ AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd
+ hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj
+ n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk
+ pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA
+ 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
+ wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg
+ kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl
+ q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk
+ pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
+ qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
+ 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
+ n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
+ pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
+ iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
+ jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
+ n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
+ 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
+ f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
+ uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
+ pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA=
+
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAChE
+ ZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0cmVhbWVyAAAAAAIAAAAL
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+ -1
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx
index 1433c47..0cc0b08 100644
--- a/app/DD_PM_WINDREAM/frmMain.resx
+++ b/app/DD_PM_WINDREAM/frmMain.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
- CAAAAk1TRnQBSQFMAgEBAgEAAYgBBwGIAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CAAAAk1TRnQBSQFMAgEBAgEAAaQBBwGkAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -291,6 +291,27 @@
Fill
+
+
+ True
+
+
+ None
+
+
+ None
+
+
+ NoControl
+
+
+
+ None
+
+
+
+ Application
+
233, 25
@@ -1117,7 +1138,6 @@
Dashboard Invoice
-
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
@@ -1374,6 +1394,34 @@
BarButtonItem3
+
+ BarStaticItem1
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABoEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+ aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+ c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+ O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+ ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+ c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJTY2hlZHVsZXIiPg0K
+ ICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTYgMTYsOCAxNCw4IDE0LDE4IDI0LDE4IDI0LDE2ICAiIGNs
+ YXNzPSJCbGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMTYsMkM4LjMsMiwyLDguMywyLDE2czYuMywxNCwx
+ NCwxNHMxNC02LjMsMTQtMTRTMjMuNywyLDE2LDJ6IE0xNiwyNmMtNS41LDAtMTAtNC41LTEwLTEwICAg
+ YzAtNS41LDQuNS0xMCwxMC0xMHMxMCw0LjUsMTAsMTBDMjYsMjEuNSwyMS41LDI2LDE2LDI2eiIgY2xh
+ c3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+
+
0, 0
@@ -2050,6 +2098,12 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ bsiInactivityCheck
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPage1
@@ -2512,7 +2566,6 @@
DevExpress.XtraBars.Ribbon.RibbonForm, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb
index ab02eda..1603a63 100644
--- a/app/DD_PM_WINDREAM/frmMain.vb
+++ b/app/DD_PM_WINDREAM/frmMain.vb
@@ -89,7 +89,7 @@ Public Class frmMain
Private Function Free_File()
Try
Dim sql = $"UPDATE TBPM_PROFILE_FILES SET EDIT = 0, IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
- Return ClassDatabase.Execute_non_Query(sql)
+ Return Database_ECM.ExecuteNonQuery(sql)
Catch ex As Exception
allgFunk.Insert_LogEntry($"ERROR Free_File >> {ex.Message}")
LOGGER.Error(ex)
@@ -317,7 +317,7 @@ Public Class frmMain
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Check_Timer_Notification()
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("FormLoad")
Restore_Form_Position()
@@ -381,15 +381,31 @@ Public Class frmMain
End Try
End Sub
- Public Sub Timer_Inactivity_Reset_Disable()
+ Public Sub Timer_Inactivity_Reset_Disable(pTrigger As String)
Try
+ If Timer5Mins_running = True Or TimerRefresh_running = True Then
+ Exit Sub
+ End If
If INACTIVITY_DURATION <> 0 Then
TimerInactivity.Stop()
TimerInactivity.Interval = INACTIVITY_DURATION * 60000
TimerInactivity.Start()
+ bsiInactivityCheck.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ Dim StartTime As DateTime = #12:00:00 AM#
+ 'load combo box
+
+ Dim oStarttime As DateTime = Now
+ oStarttime = oStarttime.AddMinutes(INACTIVITY_DURATION)
+ If LOGCONFIG.Debug = False Then
+ pTrigger = ""
+ Else
+ pTrigger = $"({pTrigger})"
+ End If
+ bsiInactivityCheck.Caption = $"Next Inactivity-Check: {oStarttime.ToShortTimeString} {pTrigger}"
Else
TimerInactivity.Enabled = False
TimerInactivity.Stop()
+ bsiInactivityCheck.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
Catch ex As Exception
LOGGER.Error(ex)
@@ -686,7 +702,7 @@ Public Class frmMain
FRONTEND_ACTION = "NAVBAR LINK CLICKED"
Dim _tag = e.Link.Item.Tag
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("navBar_LinkClicked")
If Not IsNothing(_tag) Then
If _tag.ToString.Contains("itmProfile#") Then
@@ -781,7 +797,7 @@ Public Class frmMain
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
- CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQL, "Load_single_Profile")
+ CURR_DT_OVERVIEW = Await Database_ECM.GetDatatableAsync(oSQL)
If ForceReload = True Then
LOGGER.Info("ForceReload is true!")
End If
@@ -1070,7 +1086,7 @@ Public Class frmMain
Exit Sub
End If
-
+ TimerRefresh_running = True
'If Application.OpenForms().OfType(Of frmValidator).Any Then
' Exit Sub
'End If
@@ -1090,7 +1106,7 @@ Public Class frmMain
' Dim oUpdate = "Not Defined"
' Try
' oUpdate = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = NULL, IN_WORK_WHEN = NULL where UPPER(WORK_USER) = UPPER('{USER_USERNAME}')"
- ' ClassDatabase.Execute_non_Query(oUpdate)
+ ' Database_ECM.ExecuteNonQuery(oUpdate)
' Catch ex As Exception
' LOGGER.Warn($"Unexpected Error in freefileforUser [{oUpdate}] - {ex.Message}")
' End Try
@@ -1099,6 +1115,7 @@ Public Class frmMain
If bwSync.IsBusy Then
Exit Sub
+ TimerRefresh_running = False
End If
Try
' SaveGridLayout()
@@ -1119,7 +1136,7 @@ Public Class frmMain
Catch ex As Exception
LOGGER.Error(ex)
End Try
-
+ TimerRefresh_running = False
'BarEditItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
'' call this method to start your asynchronous Task.
'bwSync.RunWorkerAsync()
@@ -1462,8 +1479,21 @@ Public Class frmMain
ElseIf hitInfo.InDataRow Then
LOGGER.Debug($"Item_Scope: hitInfo.InDataRow...")
- Dim oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID"))
- Dim oFocusedDocID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("DocID"))
+ Dim oFocusedDocGUID
+ Try
+ oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID"))
+ Catch ex As Exception
+ MsgBox("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical)
+
+ End Try
+ Dim oFocusedDocID
+ Try
+ oFocusedDocID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("DocID"))
+ Catch ex As Exception
+ MsgBox("Could not get DocID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical)
+
+ End Try
+
If IsNothing(oFocusedDocID) Then
LOGGER.Warn("In hitInfo.InDataRow: DocID is nothing!!!")
bsiMessage.Caption = "Error getting DocID!"
@@ -1495,26 +1525,26 @@ Public Class frmMain
'Next
'If result = 1 Then
CURRENT_DOC_ID = oFocusedDocID
- CURRENT_JUMP_DOC_GUID = oFocusedDocGUID
- CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID
- CURRENT_DOC_PATH = DOC_PATH
- Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})"
- Dim oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING_READ, $"Item_Scope-FNPM_CHECK_DocGUID_Valid")
- Try
- If CBool(oResult) = True Then
- Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID)
- Else
- Dim omsg As String = "Achtung: der gewählte Beleg ist durch einen anderen Benutzer bereits in Bearbeitung oder anderweitig gesperrt"
- Dim otitle = "Achtung:"
- If USER_LANGUAGE <> "de-DE" Then
- omsg = "Attention: the item You chose is rather in work or locked from another user!"
- otitle = "Attention:"
- End If
- MsgBox(omsg, MsgBoxStyle.Exclamation, otitle)
+ CURRENT_JUMP_DOC_GUID = oFocusedDocGUID
+ CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID
+ CURRENT_DOC_PATH = DOC_PATH
+ Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})"
+ Dim oResult = Database_ECM.GetScalarValue(oSQL)
+ Try
+ If CBool(oResult) = True Then
+ Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID)
+ Else
+ Dim omsg As String = "Achtung: der gewählte Beleg ist durch einen anderen Benutzer bereits in Bearbeitung oder anderweitig gesperrt"
+ Dim otitle = "Achtung:"
+ If USER_LANGUAGE <> "de-DE" Then
+ omsg = "Attention: the item You chose is rather in work or locked from another user!"
+ otitle = "Attention:"
End If
- Catch ex As Exception
- LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ")
- End Try
+ MsgBox(omsg, MsgBoxStyle.Exclamation, otitle)
+ End If
+ Catch ex As Exception
+ LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ")
+ End Try
'Else
'LOGGER.Warn($"Unable to load Object DocID {CURRENT_DOC_ID} and DocGUID {CURRENT_JUMP_DOC_GUID}: Expression returned 0 [{expression}]")
@@ -1700,7 +1730,7 @@ Public Class frmMain
oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString)
oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
- CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQLOverview, "Load_Grid_Overview")
+ CURR_DT_OVERVIEW = Await Database_ECM.GetDatatableAsync(oSQLOverview)
oStopWatch2.Done()
If Not IsNothing(CURR_DT_OVERVIEW) Then
@@ -1978,7 +2008,7 @@ Public Class frmMain
Private Async Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click
FRONTEND_ACTION = "RESET_LAYOUT"
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("TabellenlayoutZurücksetzenToolStripMenuItem")
Await Reset_GridLayout(False)
Await Decide_Load(False, True)
SaveGridLayout()
@@ -2140,7 +2170,7 @@ Public Class frmMain
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(20)
oSQL = String.Format("SELECT T.* FROM VWPM_PROFILE_ACTIVE T WHERE T.FILE_COUNT > 0 AND T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({0}))", USER_ID)
- CURR_DT_VWPM_PROFILE_ACTIVE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData2")
+ CURR_DT_VWPM_PROFILE_ACTIVE = Database_ECM.GetDatatable(oSQL)
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(30)
LoadCURRENT_DT_PROFILES()
@@ -2203,7 +2233,7 @@ Public Class frmMain
End Sub
Sub Handling_DEBUG_USER()
- If USER_DEBUG_LOG = True Then
+ If DEBUG = True Then
If USER_LANGUAGE = "de-DE" Then
bsiDebug.Caption = "HINWEIS: UserDebugMode ist eingeschaltet!"
Else
@@ -2223,7 +2253,7 @@ Public Class frmMain
Dim oMessage = PrepareLogMessage(oSLogstring)
Dim oDateTime As Date = CDate(oLogSplit(0))
oSQL = $"INSERT INTO [dbo].[TBPM_LOG_DEBUG] ([USERID] , [LOGMSG], [ADDED_WHEN],DATE_STR) VALUES({USER_ID},'{oMessage}',GetDate(),'{oDateTime}')"
- ClassDatabase.Execute_non_Query(oSQL)
+ Database_ECM.ExecuteNonQuery(oSQL)
Next
LOGCONFIG.ClearLogs()
Catch ex As Exception
@@ -2243,7 +2273,7 @@ Public Class frmMain
End Sub
Private Sub LöscheAlleFilterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöscheAlleFilterToolStripMenuItem.Click
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("LöscheAlleFilterToolStripMenuItem")
Try
GridView_Docs.ClearFindFilter()
@@ -2356,18 +2386,19 @@ Public Class frmMain
Private Sub Timer5Mins_Tick(sender As Object, e As EventArgs) Handles Timer5Mins.Tick
Try
+ Timer5Mins_running = True
If Not bwBasicData.IsBusy Then
BarEditItem1.Caption = "Get BasicData"
BarEditItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
bwBasicData.RunWorkerAsync()
End If
- If USER_DEBUG_LOG = True Then
+ If DEBUG = True Then
' 'Jetzt de rinsert der Inhalte
If Not IsNothing(LOGCONFIG.Logs) Then
If LOGCONFIG.Logs.Count > 0 Then
' Dim odel = $"delete from TBPM_LOG_DEBUG where userid = {USER_ID}"
- ' ClassDatabase.Execute_non_Query(odel)
+ ' Database_ECM.ExecuteNonQuery(odel)
Dim thread As New Thread(AddressOf DebuglogBackgroundthread)
thread.Start()
@@ -2379,6 +2410,7 @@ Public Class frmMain
Catch ex As Exception
LOGGER.Warn($"Timer5Mins Error: {ex.Message}")
End Try
+ Timer5Mins_running = False
End Sub
Private Sub bwBasicData_DoWork(sender As Object, e As DoWorkEventArgs) Handles bwBasicData.DoWork
GetBaseData("bwBasicData")
@@ -2491,7 +2523,7 @@ Public Class frmMain
Dim oReceipiant = ""
Dim oFocusedDocGUID = GridView_Docs.GetFocusedRowCellValue(GridView_Docs.Columns("GUID"))
Dim oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({oFocusedDocGUID},1)"
- Dim oFilePath = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING_READ, $"DateiAlsLinkVersendenToolStripMenuItem_Click")
+ Dim oFilePath = Database_ECM.GetScalarValue(oSQL)
Dim oLink = "Link zur Datei
"
Dim oLink2 = "Link zur Datei"
@@ -2519,7 +2551,7 @@ Public Class frmMain
If FormShown = False Then
Exit Sub
End If
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("GridView_Docs.ColumnFilterChanged")
Dim objectCount_Descr = GridView_Docs.RowCount.ToString
If USER_LANGUAGE <> "de-DE" Then
objectCount_Descr &= " objects (filtered)"
@@ -2547,36 +2579,37 @@ Public Class frmMain
End Sub
+
Private Sub TimerInactivity_Tick(sender As Object, e As EventArgs) Handles TimerInactivity.Tick
Try
If Application.OpenForms().OfType(Of frmValidator).Any Then
bsiMessage.Caption = "Validation Active - no Inactivity-Logout"
bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("frmValidator")
Exit Sub
End If
If Application.OpenForms().OfType(Of frmAdministration).Any Then
bsiMessage.Caption = "Administration Active - no Inactivity-Logout"
bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("frmAdministration")
Exit Sub
End If
If Application.OpenForms().OfType(Of frmAdmin2).Any Then
bsiMessage.Caption = "Administration2 Active - no Inactivity-Logout"
bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("frmAdmin2")
Exit Sub
End If
If Application.OpenForms().OfType(Of frmMonitor).Any Then
bsiMessage.Caption = "Monitoring open - no Inactivity-Logout"
bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("frmMonitor")
Exit Sub
End If
If GHOSTMODE_ACTIVE And USER_GHOST_MODE_ACTIVE Then
bsiMessage.Caption = "GhostMode Active - no Inactivity-Logout"
bsiMessage.ItemAppearance.Normal.BackColor = Color.Yellow
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("USER_GHOST_MODE_ACTIVE")
Exit Sub
End If
INACTIVITYRecognized = True
@@ -2643,7 +2676,7 @@ Public Class frmMain
If FRONTEND_ACTION <> "NONE" Then
Exit Sub
End If
- Timer_Inactivity_Reset_Disable()
+ Timer_Inactivity_Reset_Disable("GridLayout_Changed")
SaveGridLayout()
End Sub
@@ -2651,4 +2684,8 @@ Public Class frmMain
Private Sub GridView_Docs_EndGrouping(sender As Object, e As EventArgs) Handles GridView_Docs.EndGrouping
GridLayout_Changed()
End Sub
+
+ Private Sub bsilastsync_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bsilastsync.ItemClick
+
+ End Sub
End Class
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb
index 106510f..96ef6f7 100644
--- a/app/DD_PM_WINDREAM/frmMassValidator.vb
+++ b/app/DD_PM_WINDREAM/frmMassValidator.vb
@@ -58,7 +58,7 @@ Public Class frmMassValidator
Size = My.Settings.frmMassValidatorSize
End If
Try
- DTCONTROLS = ClassDatabase.Return_Datatable($"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,{USER_LANGUAGE},CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG,* FROM TBPM_PROFILE_CONTROLS WHERE SQL_UEBERPRUEFUNG NOT LIKE '%WMI%' AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC", "MV_Load1")
+ DTCONTROLS = Database_ECM.GetDatatable($"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,{USER_LANGUAGE},CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG,* FROM TBPM_PROFILE_CONTROLS WHERE SQL_UEBERPRUEFUNG NOT LIKE '%WMI%' AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC") ', "MV_Load1")
LOGGER.Debug("Profile Data geladen")
Catch ex As Exception
LOGGER.Error(ex)
@@ -102,7 +102,7 @@ Public Class frmMassValidator
tslblCountDocs.Text = "#Documents for MassChange: " & CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count
Next
- If LOG_ERRORS_ONLY = False Then
+ If DEBUG = False Then
LOGGER.Info(" >> Profildaten gespeichert")
LOGGER.Info(" >> WD_Search: " & WM_SEARCH)
LOGGER.Info(" >> finalProfile: " & FINAL_PROFILE)
@@ -367,7 +367,7 @@ Public Class frmMassValidator
Case "TABLE"
LOGGER.Debug("Versuch Tabelle zu laden")
- Dim oDTMyColumns As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE", "MV_LoadControls1")
+ Dim oDTMyColumns As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1")
oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False)
End Select
@@ -417,7 +417,7 @@ Public Class frmMassValidator
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
LOGGER.Debug(">>> sql after ReplaceAllValues: " & oSqlCommand)
_dependingControl_in_action = True
- Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable(oSqlCommand, "MV_OnLookUp1")
+ Dim oDTDEPENDING_RESULT As DataTable = Database_ECM.GetDatatable(oSqlCommand) ', "MV_OnLookUp1")
Try
Dim oDependingLookup As LookupControl3 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault()
For Each oControl As Control In pnldesigner.Controls
@@ -554,7 +554,7 @@ Public Class frmMassValidator
Select Case Typ
'Tabellendarstellung
Case "TABLE"
- Dim dt As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {CONTROL_ID} ORDER BY SEQUENCE", "MV_FillIndexValues")
+ Dim dt As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {CONTROL_ID} ORDER BY SEQUENCE") ', "MV_FillIndexValues")
Dim SpaltenWerte As String()
If dt.Rows.Count > 1 Then
For Each Zeile As Object In wertWD
@@ -1026,7 +1026,7 @@ Public Class frmMassValidator
If TypeOf control Is Label Then Exit Sub
Dim sql As String = $"SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE GUID = {controlId} AND PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(ISNULL(SQL_UEBERPRUEFUNG,'')) > 0 AND SQL_UEBERPRUEFUNG NOT LIKE '%#WMI#%' AND SQL_UEBERPRUEFUNG NOT LIKE '%#CTRL#%'"
- Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData")
+ Dim dt As DataTable = Database_ECM.GetDatatable(sql) ', "MV_LoadSimpleData")
If IsNothing(dt) Then Exit Sub
If dt.Rows.Count = 0 Then Exit Sub
@@ -1048,7 +1048,7 @@ Public Class frmMassValidator
sql = clsPatterns.ReplaceInternalValues(sql)
LOGGER.Debug(">>> sql after ReplaceInternalValues: " & sql)
'sql = ClassPatterns.ReplaceInternalValues(sqlStatement)
- dt = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData1")
+ dt = Database_ECM.GetDatatable(sql) ', "MV_LoadSimpleData1")
If IsNothing(dt) Then
MsgBox($"SQL-Query for control {control.Name} is invalid.")
@@ -1144,7 +1144,7 @@ Public Class frmMassValidator
If CreateWMObject() = True Then
If ClassFinalizeDoc.Write_Final_Metadata(CURRENT_WMFILE) = True Then
Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID)
- If ClassDatabase.Execute_non_Query(sql) = True Then
+ If Database_ECM.ExecuteNonQuery(sql) = True Then
workedFiles += 1
End If
End If
@@ -1237,14 +1237,14 @@ Public Class frmMassValidator
WORK_HISTORY_ENTRY = ""
End If
Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, WORK_HISTORY_ENTRY)
- ClassDatabase.Execute_non_Query(ins)
+ Database_ECM.ExecuteNonQuery(ins)
'####### ANNOTIEREN WENN KONFIGURIERT #######
If docrow.Item("FULL_PATH").ToString.ToLower.EndsWith(".pdf") Then
If Not IsNothing(WORK_HISTORY_ENTRY) Then
If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(Sql, "MV_Finish1")
+ Dim DT_ENTRY As DataTable = Database_ECM.GetDatatable(Sql) ', "MV_Finish1")
If Not IsNothing(DT_ENTRY) Then
If DT_ENTRY.Rows.Count = 1 Then
Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
@@ -1255,7 +1255,7 @@ Public Class frmMassValidator
Dim value = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
If CBool(value) = True Then
Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(Sql, "MV_Finish2")
+ Dim DT_ENTRIES As DataTable = Database_ECM.GetDatatable(Sql) ', "MV_Finish2")
If Not IsNothing(DT_ENTRIES) Then
If DT_ENTRIES.Rows.Count > 0 Then
Dim AnnotationString As String = ""
@@ -1318,12 +1318,12 @@ Public Class frmMassValidator
Private Function GetWMDocPathWindows(_CheckStandard As Integer)
Dim oResult As String
Dim oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},{_CheckStandard})"
- oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1")
+ oResult = Database_ECM.GetScalarValue(oSQL)
LOGGER.Debug($"Checking file 0 GDP [{oResult}] exists?...")
If File.Exists(oResult) = False Then
LOGGER.Debug($"GetWMDocPathWindows returned false - trying with standard again...")
oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},1)"
- oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1")
+ oResult = Database_ECM.GetScalarValue(oSQL)
LOGGER.Debug($"Checking file 1 GDP [{oResult}] exists?...")
If File.Exists(oResult) = False Then
Return False
diff --git a/app/DD_PM_WINDREAM/frmMonitor.vb b/app/DD_PM_WINDREAM/frmMonitor.vb
index e8d7b30..660014a 100644
--- a/app/DD_PM_WINDREAM/frmMonitor.vb
+++ b/app/DD_PM_WINDREAM/frmMonitor.vb
@@ -55,7 +55,7 @@ Public Class frmMonitor
oDetailSQL = oDetailSQL.Replace("@IDBOBJID", oDocID)
oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID)
oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME)
- Dim oDT2 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail1")
+ Dim oDT2 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail1")
If Not IsNothing(oDT2) Then
LOGGER.Debug($"Found {oDT2.Rows.Count} rows for GridView2")
GridView2.Columns.Clear()
@@ -76,7 +76,7 @@ Public Class frmMonitor
oDetailSQL = oDetailSQL.Replace("@IDBOBJID", oDocID)
oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID)
oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME)
- Dim oDT3 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail2")
+ Dim oDT3 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail2")
LOGGER.Debug($"oDetailSQL for Grid 3: {oDetailSQL}")
If Not IsNothing(oDT3) Then
LOGGER.Debug($"Found {oDT3.Rows.Count} rows for GridView3")
@@ -91,7 +91,7 @@ Public Class frmMonitor
oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID)
oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME)
LOGGER.Debug($"oDetailSQL for Grid 4: {oDetailSQL}")
- Dim oDT4 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail3")
+ Dim oDT4 As DataTable = Database_ECM.GetDatatable(oDetailSQL) ', "Monitor_Detail3")
If Not IsNothing(oDT4) Then
LOGGER.Debug($"Found {oDT4.Rows.Count} rows for GridView4")
GridView4.Columns.Clear()
@@ -186,12 +186,12 @@ Public Class frmMonitor
Try
FormShown = False
Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG"
- DT_MONITOR_KONFIG = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data1")
+ DT_MONITOR_KONFIG = Database_ECM.GetDatatable(oSQL) ', "Monitor-Load_Grid_Data1")
If Not IsNothing(DT_MONITOR_KONFIG) Then
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
GridView1.Columns.Clear()
- Dim oDTGRID1 As DataTable = Await ClassDatabase.Return_DatatableAsync(oSQL, "Monitor-Load_Grid_Data2")
+ Dim oDTGRID1 As DataTable = Await Database_ECM.GetDatatableAsync(oSQL) ', "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
diff --git a/app/DD_PM_WINDREAM/frmSQL_Admin.vb b/app/DD_PM_WINDREAM/frmSQL_Admin.vb
index 33e57d3..a7633e6 100644
--- a/app/DD_PM_WINDREAM/frmSQL_Admin.vb
+++ b/app/DD_PM_WINDREAM/frmSQL_Admin.vb
@@ -7,7 +7,7 @@ Public Class frmSQL_Admin
Private Sub btnrunSQL_Click(sender As Object, e As EventArgs) Handles btnrunSQL.Click
If txtSQL.Text <> "" Then
If txtSQL.Text.ToLower.StartsWith("select") Then
- Dim dt As DataTable = ClassDatabase.Return_Datatable(txtSQL.Text, "btnrunSQL_Click")
+ Dim dt As DataTable = Database_ECM.GetDatatable(txtSQL.Text) ', "btnrunSQL_Click")
If Not dt Is Nothing Then
XtraTabControl1.SelectedTabPageIndex = 1
BindingSource1.DataSource = dt
@@ -19,7 +19,7 @@ Public Class frmSQL_Admin
Try
Me.Cursor = Cursors.WaitCursor
- Dim connection As New SqlClient.SqlConnection(CONNECTION_STRING) 'csb.ConnectionString)
+ Dim connection As New SqlClient.SqlConnection(CONNECTION_STRING_ECM) 'csb.ConnectionString)
connection.Open()
Dim cmd As New SqlClient.SqlCommand(txtSQL.Text, connection)
cmd.ExecuteNonQuery()
@@ -39,7 +39,7 @@ Public Class frmSQL_Admin
End Sub
Sub Load_ConString(constr As String)
Dim csb As New SqlClient.SqlConnectionStringBuilder
- csb.ConnectionString = CONNECTION_STRING
+ csb.ConnectionString = CONNECTION_STRING_ECM
If csb.Password.Length > 0 Then
constr = constr.Replace(csb.Password, "XXXXX")
End If
@@ -68,7 +68,7 @@ Public Class frmSQL_Admin
End Sub
Private Sub frmSQL_Admin_Load(sender As Object, e As EventArgs) Handles Me.Load
- Load_ConString(CONNECTION_STRING)
+ Load_ConString(CONNECTION_STRING_ECM)
End Sub
Private Sub txtSQL_KeyPress_1(sender As Object, e As KeyPressEventArgs) Handles txtSQL.KeyPress
diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb
index 851d2c6..a31dcc9 100644
--- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb
+++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb
@@ -32,14 +32,14 @@ Public Class frmSQL_DESIGNER
Private Sub frmSQL_FINAL_INDICES_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
lblSaveFinalIndex.Visible = False
- TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
+ TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION)
If CURRENT_DESIGN_TYPE = "INPUT_INDEX" Then
- CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_UEBERPRUEFUNG,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_CONTROLS T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_CONTROL_ID), "frmSQL_FINAL_INDICES_Load1")
+ CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_UEBERPRUEFUNG,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_CONTROLS T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_CONTROL_ID)) ', "frmSQL_FINAL_INDICES_Load1")
ElseIf CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then
- CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0} ORDER BY T.SEQUENCE", CURRENT_INDEX_ID), "frmSQL_FINAL_INDICES_Load2")
+ CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0} ORDER BY T.SEQUENCE", CURRENT_INDEX_ID)) ', "frmSQL_FINAL_INDICES_Load2")
ElseIf CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN" Then
- CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_CONTROL_TABLE T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID), "frmSQL_FINAL_INDICES_Load2")
+ CURRENT_DT_SQL_CONFIG_TABLE = Database_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_CONTROL_TABLE T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID)) ', "frmSQL_FINAL_INDICES_Load2")
End If
If CURRENT_DESIGN_TYPE = "SQL_OVERVIEW" Then
cmbConnection.Enabled = False
@@ -60,7 +60,7 @@ Public Class frmSQL_DESIGNER
End If
If CURRENT_DESIGN_TYPE <> "SQL_SOURCE_TABLE_COLUMN" Then
Dim oSQL = String.Format("SELECT NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND CTRL_TYPE <> 'LBL' ORDER BY NAME", CURRENT_ProfilGUID)
- Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL, "frmSQL_FINAL_INDICES_Load3")
+ Dim oDatatable As DataTable = Database_ECM.GetDatatable(oSQL) ', "frmSQL_FINAL_INDICES_Load3")
cmbControls.DataSource = oDatatable
cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName
cmbControls.Visible = True
@@ -205,7 +205,7 @@ Public Class frmSQL_DESIGNER
Return dataset
Else
- If LOG_ERRORS_ONLY = True Then LOGGER.Info(" >> It's an Oracle-Connection (ExecuteWithConnection)", False)
+ If DEBUG = True Then LOGGER.Info(" >> It's an Oracle-Connection (ExecuteWithConnection)", False)
Dim sqlConnection As OracleConnection
Dim sqlCommand As OracleCommand
Dim sqlAdapter As New OracleDataAdapter
diff --git a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb
index 7698ebb..9d0d4e8 100644
--- a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb
+++ b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb
@@ -171,19 +171,19 @@ Public Class frmUserKonfig_AddUsers
Dim SQL
If Not UserExists(USERNAME) Then
SQL = "INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, ADDED_WHO) VALUES('" & PRENAME & "', '" & NAME & "', '" & USERNAME & "','" & email & "','" & USER_USERNAME & "')"
- If ClassDatabase.Execute_non_Query(SQL, False) = True Then
- Dim ID = ClassDatabase.Execute_Scalar("SELECT MAX(GUID) FROM TBDD_USER", CONNECTION_STRING, "btnAddUsers_Click")
+ If Database_ECM.ExecuteNonQuery(SQL) = True Then
+ Dim ID = Database_ECM.GetScalarValue("SELECT MAX(GUID) FROM TBDD_USER")
Dim msg = String.Format(">> USER {0}, {1} - {2} ADDED TO CONFIGURATION", NAME, PRENAME, USERNAME)
LOGGER.Info(msg)
SQL = String.Format("INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES ({0},(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'))", ID)
- If ClassDatabase.Execute_non_Query(SQL, False) = False Then
+ If Database_ECM.ExecuteNonQuery(SQL) = False Then
MsgBox("Attention: could not add user to module! - Please check the log.", MsgBoxStyle.Exclamation)
End If
usersAdded = usersAdded + 1
End If
Else
SQL = String.Format("UPDATE TBDD_USER SET PRENAME = '{0}', NAME = '{1}', EMAIL = '{2}' WHERE UPPER(USERNAME) = UPPER('{3}')", PRENAME, NAME, email, USERNAME)
- If ClassDatabase.Execute_non_Query(SQL, False) = True Then
+ If Database_ECM.ExecuteNonQuery(SQL) = True Then
usersAdded = usersAdded + 1
End If
End If
@@ -207,7 +207,7 @@ Public Class frmUserKonfig_AddUsers
Private Function UserExists(username As String) As Boolean
Try
Dim SQL = "SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('" & username & "')"
- If ClassDatabase.Execute_Scalar(SQL, CONNECTION_STRING, "UserExists") = Nothing Then
+ If Database_ECM.GetScalarValue(SQL) = Nothing Then
Return False
Else
Return True
diff --git a/app/DD_PM_WINDREAM/frmValidator.Designer.vb b/app/DD_PM_WINDREAM/frmValidator.Designer.vb
index 055f203..c5e3329 100644
--- a/app/DD_PM_WINDREAM/frmValidator.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmValidator.Designer.vb
@@ -82,7 +82,7 @@ Partial Class frmValidator
Me.bbtniAnnotation = New DevExpress.XtraBars.BarButtonItem()
Me.bsiInfo1 = New DevExpress.XtraBars.BarStaticItem()
Me.bsiInfo2 = New DevExpress.XtraBars.BarStaticItem()
- Me.BbtnItm = New DevExpress.XtraBars.BarButtonItem()
+ Me.BbtnitmSave = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarLinkContainerItem1 = New DevExpress.XtraBars.BarLinkContainerItem()
Me.btnitemConversationEnd = New DevExpress.XtraBars.BarButtonItem()
@@ -97,6 +97,7 @@ Partial Class frmValidator
Me.btnitemConversation_reload = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItemAttmt = New DevExpress.XtraBars.BarButtonItem()
+ Me.barbtnitmExport = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPageConversations = New DevExpress.XtraBars.Ribbon.RibbonPageCategory()
Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroupConv1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -108,6 +109,7 @@ Partial Class frmValidator
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog()
CType(Me.SplitContainer2_DV_Chat, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer2_DV_Chat.SuspendLayout()
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -450,9 +452,9 @@ Partial Class frmValidator
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnItm, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt, Me.barbtnitmExport})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 28
+ Me.RibbonControl1.MaxItemId = 29
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageConversations})
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
@@ -579,13 +581,13 @@ Partial Class frmValidator
Me.bsiInfo2.Name = "bsiInfo2"
Me.bsiInfo2.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
'
- 'BbtnItm
+ 'BbtnitmSave
'
- resources.ApplyResources(Me.BbtnItm, "BbtnItm")
- Me.BbtnItm.Id = 16
- Me.BbtnItm.ImageOptions.Image = CType(resources.GetObject("BbtnItm.ImageOptions.Image"), System.Drawing.Image)
- Me.BbtnItm.ImageOptions.LargeImage = CType(resources.GetObject("BbtnItm.ImageOptions.LargeImage"), System.Drawing.Image)
- Me.BbtnItm.Name = "BbtnItm"
+ resources.ApplyResources(Me.BbtnitmSave, "BbtnitmSave")
+ Me.BbtnitmSave.Id = 16
+ Me.BbtnitmSave.ImageOptions.Image = CType(resources.GetObject("BbtnitmSave.ImageOptions.Image"), System.Drawing.Image)
+ Me.BbtnitmSave.ImageOptions.LargeImage = CType(resources.GetObject("BbtnitmSave.ImageOptions.LargeImage"), System.Drawing.Image)
+ Me.BbtnitmSave.Name = "BbtnitmSave"
'
'BarButtonItem2
'
@@ -679,6 +681,14 @@ Partial Class frmValidator
Me.BarButtonItemAttmt.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemAttmt.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItemAttmt.Name = "BarButtonItemAttmt"
'
+ 'barbtnitmExport
+ '
+ resources.ApplyResources(Me.barbtnitmExport, "barbtnitmExport")
+ Me.barbtnitmExport.Id = 28
+ Me.barbtnitmExport.ImageOptions.SvgImage = CType(resources.GetObject("barbtnitmExport.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.barbtnitmExport.Name = "barbtnitmExport"
+ Me.barbtnitmExport.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ '
'RibbonPageConversations
'
Me.RibbonPageConversations.Name = "RibbonPageConversations"
@@ -722,7 +732,7 @@ Partial Class frmValidator
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniRefresh)
- Me.RibbonPageGroup3.ItemLinks.Add(Me.BbtnItm)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.BbtnitmSave)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniRefreshSearches)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniNext)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniDelete)
@@ -733,6 +743,7 @@ Partial Class frmValidator
'RibbonPageCust
'
Me.RibbonPageCust.ItemLinks.Add(Me.BarButtonItemAttmt)
+ Me.RibbonPageCust.ItemLinks.Add(Me.barbtnitmExport)
Me.RibbonPageCust.Name = "RibbonPageCust"
Me.RibbonPageCust.Visible = False
'
@@ -860,7 +871,7 @@ Partial Class frmValidator
Friend WithEvents bsiInfo1 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents bsiInfo2 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents DocumentViewerValidator As DigitalData.Controls.DocumentViewer.DocumentViewer
- Friend WithEvents BbtnItm As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents BbtnitmSave As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents Panel1 As Panel
Friend WithEvents SplitContainer2_DV_Chat As DevExpress.XtraEditors.SplitContainerControl
@@ -883,4 +894,6 @@ Partial Class frmValidator
Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItemAttmt As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageCust As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents barbtnitmExport As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog
End Class
diff --git a/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx b/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx
new file mode 100644
index 0000000..ffd2d7e
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmValidator.fr-FR.resx
@@ -0,0 +1,1003 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0
+ bGUAVmlld01lcmdlZERhdGE7shxIswAAAkJJREFUOE+lkl9Ik2EUxjdnYg4Z6IUX0Y1dBEUQdrOQpEYy
+ K9LEQpTFxD+oTXMbXkT7xoKyzaitVrJkW0RXQbJagU5rG5ulEYEXgUIkmNYHBl4krWB/ejrv15avK696
+ 4Afn/TjPc97348gA/BcbxYbkREEWBVFIbMvCavmWASZfJGLyR2H0RTDgDeP86Av03X2Oc54p9IyE0OkK
+ xqmtaKuAAqM/QuXfymQySKfTaHcGWaOK9RLSTfgABZuaL2acDMdhc9zE6bZ+1Ld2xk6caeulfvYkOR9Q
+ 2E9XZroXFeENf4YntIQLtwIwX3LiYWgWn9a+IxyfgUmwJ2sbWvqYhw8oYm/llUwmYR0i88QsyCvp7eJX
+ 3A9Oo/aUbpo8JXxAMftRTJ6pFdweX8K1sXk06Q3SZKYv335iZHIZLz+sU8DZH+RR8QHbu9zjUmNOiUQC
+ g8JlhGOvsErmOTEN98RH3HkUQc2xptf5Acp21zPJ6Hy6CPvYAmzeKIbMvTBevAL/4xhi79dhdgWgM1hS
+ VdVHLWwoH1Cqv/5ECkilUlgVVxBymREUmmGs16KjZwCaBh0Oak6+268+bKP+MkLBB6h0w4GseZnMJgSt
+ zXAcV+NNLApRFHHE4GKNVYSSmSUfF6BsFPwzLVbfn8l2MtfpLdAOjhJ+HOoanqO+ipwnP4DtffmNDu3V
+ B911EKp3r+0rL22lb3uIXUQlUUH8e5Wlw+8VVXXv3enQ7CirobqEkFsOVMp4Nnn4g7tRnQspJqRVzTdv
+ DoDsF67YQEGpdtFTAAAAAElFTkSuQmCC
+
+
+
+
+ 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
+ vDjYoZ0AAAAASUVORK5CYII=
+
+
+
+
+ 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
+ RK5CYII=
+
+
+
+ Rechargez
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAALlJREFUOE+lksENgzAMRVkEdQhOSJmnZyZg
+ pt56ZIwee2cJ93/LRiQ4kIpID4y//RXidCJyizD5D1uQUnJ6MIE3WA3GzFHzujkyGMELSAVqrJn5XRrQ
+ 3ZsX8AQPgzFz1D72Phhwi948eN40MoAv0GZCTQtqqzDQbe/ZDK6Imgk1LziIQE/5Cn1EzSAvDFbNgAfF
+ A8sMLOeTmDxfGviIzsbIUfeRAbfdepG0b2+g/2w0XeXM4A5hsh3pfngbEtI9NQFmAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAbFJREFUWEfFljFOw0AQRXMAJK6TwtwkJ6Ak
+ TWhyDk5BlQJuQscRqJDozH/W2poZj2MLm03xJO/4//mOd7PeXdu2NyUt1iQt1iQt1mRUaJrmGntxEq/i
+ Q3wXuKbGPTSZtyPmjQqZSTyIF/El2hnQoMWT9TrbPBcOieFR8AuzsGvgwWt7nYVilj/As/gRWcAS8NJj
+ CAeb58KhiIGnz8LfxZNgru8LXFPjXtTT42JrNs+FgwTA/MXX/imO4i56erhXNGit12E9rgFIACwia6Lh
+ IWoj0vQcisf2GLAe1wAk4HXG1X6MugzpLG/C9hiwHtcAJOC/bA3M6+Rrt0jXMyy4DOtxDdai5rPhYD2u
+ wVrUfDYcrMc1uAVpsSZukL2uBLeXr8UNkrAIc+w8a3GDEBbpwsF6ppCOXTFuzaeoc4MgtrCpdOFgPVNI
+ x5Zse7C57aPODYLB0m3FYtEDFG3citneR1o3CIYIDf/6MeLD1h1QoscNjAH4hG71OR4OJjYP3KAYoF9w
+ Wx5IFj/AsNoLWx7JXB64gQQxvGezQ6nNg1EhMxmY6/89ltcmLdYkLdYkLdaj3f0Cj5M+ApfcyL4AAAAA
+ SUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAndEVYdFRpdGxlAFJlZnJlc2g7UmVwZWF0O0JhcnM7
+ UmliYm9uO1JlbG9hZM1N9ukAAADSSURBVDhPpZKxDcJAEASNRAE0YNGBc4qwyEjIHSJHkNMEJZCSmYx+
+ aOLZff2eTugegQlGOu3e7b9936SU/iIUf8GK/nwXLRjBBJ4F1tTo5b5awAIcQKpwAxsQBqxADxhyAgNY
+ F1g/gELaKGBfGhhiuvM7oJBRukwO6Zo5RA0e6LwJ/UlaNCwsJPCMjyaHj9fLEnX1EH89roriIM3D5uLb
+ MHXfwD3T4I/qpDvfh9jn+QY+Eq5IIe9r3AGF2JwPIHwkConYgtxbCyDznvJcQvF7UvMC/+yHWnrFMzsA
+ AAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAndEVYdFRpdGxlAFJlZnJlc2g7UmVwZWF0O0JhcnM7
+ UmliYm9uO1JlbG9hZM1N9ukAAAHOSURBVFhHxZY9TsNQEIRTBJp0SBQoFBQg5QTQJSfwVVLSJkJCHAFu
+ 4APQcIB01KkoKLgCvZlB3mjfZl7sEPFSfEo8b3Z35L/nQdM0R0WKJZFiSaRYEimWRIo5qoe3CZiDGqzB
+ dwv/U+PaRNXmkGIETcdgCT5A0wE99I5Vr4gUPWh0C15BHNQFa6aqp0eKBhqQC/AJ1JAuVmBnCCkSFJKq
+ /b0CFuIdLMAMnLXwPzWuxRA8E9nLIUWCIg5nAx/iEdwoP+EaeAExxFL5yZZwXz8PUWDDDQtxEv0ReEYg
+ huCNKZ+O5ADDz2GMw43Ke3cBL89EvBxz5U0OYMoNN/YJwXvC19bKt/kDQ9dwo1cI+Hhj+rq18pm573Aj
+ CcHjsN6X6qDiA0P81m8aeLDId7s3z5QvAt/el3GrCYGBG4svWCifAt6uEMmZS4oNmLir+SI+UtkXUATe
+ XIiKj7r3JoUGjNx2487Hl8tI+T3wnAIVgsOH0Z8ceFDALdU3IAzR9Sp+AtfAh0hOu0eKBEX8BlDbcJ/N
+ 6Av4EHIGkaKBwinglhpD9IEhLoHsbUjRgwYM8dcPkjvV0yPFCBod75PMg6bH+Sj9T6RYEimWRIolkWI5
+ msEP/+Ty+jngCqIAAAAASUVORK5CYII=
+
+
+
+
+ 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
+ gg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJxJREFUOE+t
+ k+ENQDAUhDuKafyzlN9MYQkbWEdiAO5rNEEOlZJ8Cb17l77XCk07XqlFLyYx7/DOGtrJf/yoRCcWsd6A
+ hgfvKYCFQbgiB94YkgJIdcYnqIkB9GW3rSeA0wQ1NSLDcYa3AOgRmbATc5gI4JicmLOD+ZeA2xYyAmIL
+ xUMsPkYoukhQfJVTCKm2nR00PLEYjgGJD7/zGDZMp1TRLvGgqwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAahJREFUWEfN
+ lz1SwzAQhcMRSMXkCpyFPkeggg5aJjWTmqNQ5AoU3CC3yFCZ/TzejGQ/WZKNxxRfxuPs232RVj/ZNE2z
+ Ku3Hw+GzhJ2xN47GyTgblw6eecd3xBCrckSUGrg33oxvoymEWDRoVc6WnIEb49H4MlSREtCSg1yDGmMG
+ 7ox3QyWdArnIGdVJGSDww1CJ5kDOyIQywFCV/PIf48nYGrfdM+9UbAi5r9OhDDBfStjnGV2IvXvtxaSg
+ hjRAx5Y23DYs3uVgNFRsH2q0qwNdaIBlowSKOQaAWpEBNo6ada6m4KUXMwa1duhczO6lAlN4E9KANU0Y
+ sg8NsIWqoCU5hgbYx1XQkpxCAxwmKigJuhAVk+GMzsWcaCooiRd2VEyGC7p/Y2D1KahuQi/sqJgMURNW
+ L0Mv7KiYDNEyrN2ITDbbQLQR1W7FJptlYLAVQ81hZLJZBgaHEdQcxyabbCB5HEPphcRkkw0kLyRQeiWb
+ SvZKBqteSh0C/3IkyBUVhzEDwFAxX8WNKUBLjuuwh+QMOHQsy6ZmnyAWTdvtKUoNOMv9OV2PZvMLsfKg
+ vDjYoZ0AAAAASUVORK5CYII=
+
+
+
+ Sauvez
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAACI
+ SURBVDhPvY/NDYAgDEZZkEUcgEU8MAJHEy+enK3ShjalQfAvHp4U+L4XcQDwCvrM07JnACl7mhvoO+yI
+ QEInAj6zd/8JmGsCBgMN+oKbfCzAWYOBDmNBSFEDCurg+ljAjARc8Gqu9iOBLVp8JTCsOdCT4Lk8YTPl
+ kYTKSPXLFg4VWCLlkKI7AOsCiV3t5qKnAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAAEG
+ SURBVFhH7Ze7DcJAEETdmSUiJ07pAQqgEQJKIESiC/pAchPAsWPp0Oyy/omzAemCJ3vv1jMvdRFC+Cru
+ 4ZK4h0uihv32VAoXIRA4Z/huCLuP7JI7rUBDyxEut4FDePsNd1oBuwy4vGsHeDvuPndmgSyQUsDD3efO
+ vxSYylsmd44RSA53ZoE+gdXueChSgCzO5s5OAS/oEzibOxcTiHAfUMMMAshRcB9QQxbIAj8lIFTygRfa
+ Ryy6CRuambWA+3buE5jCWcIgUMdg4VVi4PPaClxN8BQ8iTu9A1WOTitQCd6/wVg8iQe9R9ryNwG5SAlL
+ uOVgTgFgJVQ5UIMszEGUwFP1hRCKJ8gHxL8Yk0HaAAAAAElFTkSuQmCC
+
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkZvcmJpZCI+DQogICAgPHBhdGggZD0iTTE2LDRDOS40
+ LDQsNCw5LjQsNCwxNnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiBNMTYsOGMx
+ LjUsMCwyLjksMC40LDQuMSwxLjFsLTExLDExICAgQzguNCwxOC45LDgsMTcuNSw4LDE2QzgsMTEuNiwx
+ MS42LDgsMTYsOHogTTE2LDI0Yy0xLjUsMC0yLjgtMC40LTQtMS4xTDIyLjksMTJjMC43LDEuMiwxLjEs
+ Mi41LDEuMSw0QzI0LDIwLjQsMjAuNCwyNCwxNiwyNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwv
+ c3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
+ QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
+ LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
+ Cjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41
+ LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs
+ NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3
+ LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt
+ NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz
+ LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj
+ bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKQCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iRHVwbGljYXRlX1ZhbHVlcyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5k
+ Om5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6Izcy
+ NzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQog
+ IDxyZWN0IHg9IjE0IiB5PSIxNCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMCIgcnk9IjAiIGNs
+ YXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cG9seWdvbiBwb2ludHM9IjEyLDEy
+ IDE4LDEyIDE4LDggOCw4IDgsMTggMTIsMTggICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBh
+ dGggZD0iTTMxLDJIMUMwLjQsMiwwLDIuNCwwLDN2MjZjMCwwLjYsMC40LDEsMSwxaDMwYzAuNiwwLDEt
+ MC40LDEtMVYzQzMyLDIuNCwzMS42LDIsMzEsMnogTTMwLDI4SDJWNGgyOFYyOHoiIGNsYXNzPSJCbGFj
+ ayIgLz4NCjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMACAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkF0dGFjaCI+DQogICAgPHBhdGggZD0iTTIwLDEwdjEz
+ YzAsMi44LTIuMiw1LTUsNXMtNS0yLjItNS01VjdjMC0xLjcsMS4zLTMsMy0zczMsMS4zLDMsM3YxNmMw
+ LDAuNi0wLjQsMS0xLDFzLTEtMC40LTEtMVYxMGgtMnYxMyAgIGMwLDEuNywxLjMsMywzLDNzMy0xLjMs
+ My0zVjdjMC0yLjgtMi4yLTUtNS01UzgsNC4yLDgsN3YxNmMwLDMuOSwzLjEsNyw3LDdzNy0zLjEsNy03
+ VjEwSDIweiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAVxJREFUWEfF
+ l7FxwzAMRT2Bq4yjPp1nyAAZxNu4dZkt0rnLCm4ZPF+gg5LPCLJko3h3Ovn/T5gCSWnXWitF3nwm48Uw
+ DHPsjYNxNM7Gxbj+wDX3+A0NWpUxsqSAF+Pd+DBaErR48KrMdAGvxslQg2TAS8af7EwBb8anoYKXQAZZ
+ k/y5AjB8GSrwHsiaFPFfAUzZFv/8N2SOj6NXAE2z5pnPQfatMXsF0LnKuCWMIQtg7aaXmvuCX+oEjLF3
+ XwxgA1EGifuCX+o6HNwXA9jFlFjivuCXug5H98UAtlIllrgv+KWuw9l9MYD9XIkl7gt+qetwcV8M4FBR
+ Yon7gl/qOlzdFwPKCyh/BOVNWL4MF21EK5EbUflWDOnDyH3BL3WC7mEE5ccxlL6QOKWvZA6GLWaCjMng
+ kCkAmLI1PYF3nPZItgCgaejc9BI10OK5NZxiSQHOYz/NqpA3n0fbfQM/tJcKTygMggAAAABJRU5ErkJg
+ gg==
+
+
+
+
+ AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA
+ AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v
+ uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN
+ 9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ
+ 6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8
+ 0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G
+ 9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd
+ kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA
+ AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh
+ nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h
+ n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke
+ i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT
+ WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk
+ o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h
+ nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk
+ pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA
+ AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD
+ D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws
+ yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco
+ uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB
+ Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws
+ yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke
+ jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K
+ L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn
+ tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD
+ 3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD
+ D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr
+ x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA
+ AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd
+ hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj
+ n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk
+ pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA
+ 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
+ wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg
+ kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl
+ q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk
+ pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
+ qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
+ 3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
+ n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
+ pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
+ pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
+ pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
+ iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
+ jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
+ n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
+ 3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
+ f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
+ 0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
+ uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
+ 5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
+ pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
+ 3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA=
+
+
+
+
+ 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
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
+ VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp
+ ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC
+ b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
+ dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAb
+ w5ZmZm5lbiBTaWUgZWluZSBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRl
+ bUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4
+ E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJh
+ d2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5V
+ dGlscy5Ub29sVGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAA
+ AAsAAAAJEAAAAAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls
+ cy5Ub29sVGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50
+ CE1heFdpZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRl
+ ZmF1bHRCb29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRv
+ b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAA
+ Bg8AAAAYU3BlaWNoZXJuIGRlciBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw
+ SXRlbUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUlu
+ ZGV4E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHBy
+ ZXNzLlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0u
+ RHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAAB
+ DgAAAAsAAAAJEAAAAAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
+ VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp
+ ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC
+ b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
+ dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAN
+ RGF0ZWkgZHJ1Y2tlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMF
+ AAAACEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERp
+ c3RhbmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw
+ SW1hZ2VBbGlnbm1lbnQCAAAACAgCAAAABhAAAAAABe////8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAF
+ d2lkdGgGaGVpZ2h0AAAICAkAAAAAAAAAAAAAAAXu////JkRldkV4cHJlc3MuVXRpbHMuVG9vbFRpcElt
+ YWdlQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAP////8OAAAAAQ4AAAALAAAACRAAAAAB7f//
+ /+////8AAAAAAAAAAAHs////7v///wAAAAD/////DgAAAAs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt
+ BwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lkdGgST3du
+ ZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4D
+ AAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFn
+ ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAABlWb3JoZXJp
+ Z2UgU2VpdGUgYW56ZWlnZW4uBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0
+ aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9U
+ ZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRv
+ b2xUaXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJhd2luZy5TaXpl
+ AgAAAAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5VdGlscy5Ub29s
+ VGlwSW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAAAAsAAAAJEAAA
+ AAHt////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H
+ AAAADUFsbG93SHRtbFRleHQESWNvbgxJbWFnZU9wdGlvbnMKTGVmdEluZGVudAhNYXhXaWR0aBJPd25l
+ ckFsbG93SHRtbFRleHQEVGV4dAQEBAAAAAEfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVhbgMA
+ AAATU3lzdGVtLkRyYXdpbmcuSWNvbgkAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdl
+ T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAAA8AQAAAAYPAAAAF07DpGNoc3Rl
+ IFNlaXRlIGFuemVpZ2VuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0aW9u
+ cwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9UZXh0
+ RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRvb2xU
+ aXBJbWFnZUFsaWdubWVudAIAAAAICAIAAAAGEAAAAAAF7////xNTeXN0ZW0uRHJhd2luZy5TaXplAgAA
+ AAV3aWR0aAZoZWlnaHQAAAgICQAAAAAAAAAAAAAABe7///8mRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw
+ SW1hZ2VBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAA/////w4AAAABDgAAAAsAAAAJEAAAAAHt
+ ////7////wAAAAAAAAAAAez////u////AAAAAP////8OAAAACw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU
+ aXBJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lk
+ dGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJv
+ b2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0
+ ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAAAtU
+ ZXh0IHN1Y2hlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMFAAAA
+ CEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERpc3Rh
+ bmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSW1h
+ Z2VBbGlnbm1lbnQCAAAACAgCAAAABhAAAAAABe////8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lk
+ dGgGaGVpZ2h0AAAICAkAAAAAAAAAAAAAAAXu////JkRldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEltYWdl
+ QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAP////8OAAAAAQ4AAAALAAAACRAAAAAB7f///+//
+ //8AAAAAAAAAAAHs////7v///wAAAAD/////DgAAAAs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu
+ My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
+ QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
+ b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
+ eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
+ b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg
+ Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
+ dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
+ ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E
+ cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO
+ AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx
index 3e6b2b7..d57e99b 100644
--- a/app/DD_PM_WINDREAM/frmValidator.resx
+++ b/app/DD_PM_WINDREAM/frmValidator.resx
@@ -319,7 +319,7 @@
DocumentViewerValidator
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.4.4.0, Culture=neutral, PublicKeyToken=null
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=null
SplitContainer1.Panel2
@@ -870,10 +870,10 @@
Tahoma, 9.75pt
-
+
Speichern
-
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAACI
@@ -882,7 +882,7 @@
kYTKSPXLFg4VWCLlkKI7AOsCiV3t5qKnAAAAAElFTkSuQmCC
-
+
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgVG87U2F2ZdSrmXIAAAEG
@@ -1038,6 +1038,29 @@
LDAuNi0wLjQsMS0xLDFzLTEtMC40LTEtMVYxMGgtMnYxMyAgIGMwLDEuNywxLjMsMywzLDNzMy0xLjMs
My0zVjdjMC0yLjgtMi4yLTUtNS01UzgsNC4yLDgsN3YxNmMwLDMuOSwzLjEsNyw3LDdzNy0zLjEsNy03
VjEwSDIweiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+ BarButtonItem6
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOsCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+ WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
+ Pg0KICA8ZyBpZD0iRXhwb3J0Ij4NCiAgICA8cGF0aCBkPSJNMTAsMTJINlY2aDRWMTJ6IE0yMiwxMnY2
+ djljMCwwLjYtMC40LDEtMSwxSDFjLTAuNiwwLTEtMC40LTEtMVY3YzAtMC42LDAuNC0xLDEtMWgzdjho
+ MTR2LTJIMjJ6IE0xOCwxOEg0ICAgdjZoMTRWMTh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBvbHln
+ b24gcG9pbnRzPSIxNiwxMCAyNCwxMCAyNCwxNCAzMiw4IDI0LDIgMjQsNiAxNiw2ICAiIGNsYXNzPSJH
+ cmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
@@ -1599,10 +1622,10 @@
DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BbtnItm
+
+ BbtnitmSave
-
+
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -1689,6 +1712,12 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ barbtnitmExport
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPageConversations
@@ -1749,6 +1778,12 @@
DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ FolderBrowserDialog1
+
+
+ System.Windows.Forms.FolderBrowserDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
frmValidator
@@ -2070,4 +2105,7 @@
RibbonPage2
+
+ 1128, 17
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb
index 9a808e7..d78371e 100644
--- a/app/DD_PM_WINDREAM/frmValidator.vb
+++ b/app/DD_PM_WINDREAM/frmValidator.vb
@@ -44,7 +44,7 @@ Public Class frmValidator
Dim AnzDoks As Integer
Dim docCounter As Integer = 1
'Anzahl der Validierungsdokumente
- Dim Anzahl_ValDoks As Integer
+ Dim Amount_Docs2Validate As Integer
'Anzahl der validierten Dokumente
Dim Anzahl_validierte_Dok As Integer = 0
Dim me_closing As Boolean = False
@@ -66,6 +66,8 @@ Public Class frmValidator
Private DTConversations As DataTable
Private DTDYNAMIC_RIGHTS As DataTable
+ Private DT_AdditionalSearches_Resultset_Docs As DataTable
+
Private Right_Conversation_Add As Boolean = False
Private Right_Conversation_Stop As Boolean = False
Private Right_Conversation_Message As Boolean = False
@@ -121,15 +123,25 @@ Public Class frmValidator
If My.Settings.frmValidatorPosition.IsEmpty = False Then
If My.Settings.frmValidatorPosition.X > 0 And My.Settings.frmValidatorPosition.Y > 0 Then
Location = My.Settings.frmValidatorPosition
+ Else
+ Try
+ LOGGER.Debug($"!! Invalid PositionData X({My.Settings.frmValidatorPosition.X.ToString}), Y({My.Settings.frmValidatorPosition.Y})")
+ Catch ex As Exception
+
+ End Try
+
End If
End If
If My.Settings.frmValidatorSize.IsEmpty = False Then
- If My.Settings.frmValidatorWindowState = "Normal" Then
- Size = My.Settings.frmValidatorSize
- Else
- Me.WindowState = FormWindowState.Maximized
+ If My.Settings.frmValidatorSize.Width > 0 And My.Settings.frmValidatorSize.Height > 0 Then
+ If My.Settings.frmValidatorWindowState = "Normal" Then
+ Size = My.Settings.frmValidatorSize
+ Else
+ Me.WindowState = FormWindowState.Maximized
+ End If
End If
+
End If
Catch ex As Exception
LOGGER.Info($"Error loading position: {ex.Message}")
@@ -137,15 +149,12 @@ Public Class frmValidator
Dim _step = 0
Try
-
DocumentViewerValidator.Init(LOGCONFIG, GDPICTURE_LICENSE)
Catch ex As Exception
LOGGER.Error(ex)
End Try
Try
_step = 1
-
-
_step = 2
DTVWCONTROL_INDEX.Clear()
@@ -225,14 +234,14 @@ Public Class frmValidator
bbtniNext.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If CURRENT_JUMP_DOC_GUID <> 0 Then
bbtniNext.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
- Anzahl_ValDoks = 1
+ Amount_Docs2Validate = 1
Else
- Anzahl_ValDoks = 0
+ Amount_Docs2Validate = 0
End If
Next
- If LOG_ERRORS_ONLY = False Then
+ If DEBUG = False Then
LOGGER.Info(" >> profiledata saved:")
LOGGER.Info(" >> WD_Search: " & WD_Search)
LOGGER.Info(" >> finalProfile: " & finalProfile)
@@ -265,12 +274,11 @@ Public Class frmValidator
RibbonPageConversations.Visible = False
If IDB_ACTIVE Then
Dim oSQL = $"SELECT * FROM [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] ({CURRENT_DOC_ID},{USER_ID})"
- DTDYNAMIC_RIGHTS = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ, "FNIDB_OBJECT_DYNAMIC_CONFIG")
+ DTDYNAMIC_RIGHTS = Database_IDB.GetDatatable(oSQL) ', CONNECTION_STRING_IDB, "FNIDB_OBJECT_DYNAMIC_CONFIG")
RibbonPageGroupConv1.Enabled = False
Dim oView As DataView = New DataView(DTDYNAMIC_RIGHTS)
- Debug.WriteLine(oView.Count, "oView before")
oView.RowFilter = "CONF_TITLE like '%CONVERSATION_RIGHT%'"
- Debug.WriteLine(oView.Count, "oView after")
+ Console.WriteLine(oView.Count, "oView after")
If oView.Count > 0 Then
LOGGER.Debug("CONVERSATION-RIGHTS EXISTING")
RibbonPageConversations.Visible = True
@@ -324,9 +332,11 @@ Public Class frmValidator
Else
SplitContainer2_DV_Chat.Collapsed = True
-
End If
+
+
LOGGER.Debug("frmValidation_Load finished!")
+
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Error LOADING Profile-Data1:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
@@ -411,14 +421,14 @@ Public Class frmValidator
End Try
My.Settings.frmValidatorSize = Me.Size
My.Settings.Save()
- If INACTIVITY_DURATION <> 0 Then frmMain.Timer_Inactivity_Reset_Disable()
+ If INACTIVITY_DURATION <> 0 Then frmMain.Timer_Inactivity_Reset_Disable("FormClosing")
Catch ex As Exception
LOGGER.Error(ex)
End Try
Try
- Dim oDel = $"DELETE FROM TBPM_FILES_USER_NOT_INDEXED WHERE UPPER(USR_NAME) = UPPER('{USER_USERNAME}')"
- ClassDatabase.Execute_non_Query(oDel)
+ Dim oDel = $"DELETE FROM TBPM_DOCWALKOVER WHERE UserID = {USER_ID}"
+ Database_ECM.ExecuteNonQuery(oDel)
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Error in delete jumped files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@@ -483,23 +493,18 @@ Public Class frmValidator
If Not IsNothing(oDatatableDocResult) Then
If oDatatableDocResult.Rows.Count > 0 Then
oDocResultsExist = True
+ DT_AdditionalSearches_Resultset_Docs = oDatatableDocResult
End If
End If
End If
If oDataResultsExist = True Or oDocResultsExist = True Then
bbtniRefreshSearches.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
- If RibbonPageCustTitle <> "" Then
- RibbonPageCust.Text = RibbonPageCustTitle
- RibbonPageCust.Visible = True
- If RibbonPageCustItm1 <> "" Then
- BarButtonItemAttmt.Caption = RibbonPageCustItm1
- BarButtonItemAttmt.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
- End If
- Else
- RibbonPageCust.Visible = False
- End If
+ If RibbonPageCustItm1 <> "" Then
+ BarButtonItemAttmt.Caption = RibbonPageCustItm1
+ BarButtonItemAttmt.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ End If
Try
_frmValidatorSearch.Show()
@@ -1027,7 +1032,7 @@ Public Class frmValidator
'LOGGER.Error(ex)
Dim omsg = $"Unexpected Error in Create_Controls (Select Case) [{oControlInfo}] - ERROR: {ex.Message}"
LOGGER.Warn(omsg)
- If LOG_ERRORS_ONLY = False Then MsgBox(omsg, MsgBoxStyle.Critical, "Attention:")
+ If DEBUG = False Then MsgBox(omsg, MsgBoxStyle.Critical, "Attention:")
End Try
@@ -1043,7 +1048,7 @@ Public Class frmValidator
'LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Create_Controls")
LOGGER.Warn($"Unexpected Error in Create_Controls [{oControlInfo}] Line: {st.GetFrame(0).GetFileLineNumber().ToString} - {ex.Message}")
- If LOG_ERRORS_ONLY = False Then MsgBox("Error CreateControls: " & ex.Message, MsgBoxStyle.Critical, "Attention:")
+ If DEBUG = False Then MsgBox("Error CreateControls: " & ex.Message, MsgBoxStyle.Critical, "Attention:")
allgFunk.Insert_LogEntry($"ERROR CreateControls >> {ex.Message}")
End Try
End Sub
@@ -1211,7 +1216,7 @@ Public Class frmValidator
End If
oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True)
Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, pnldesigner, True)
- Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "onCustomButtonClick")
+ Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL) ', "onCustomButtonClick")
If IsNothing(oDT_ACTIONS) Then
MsgBox("Something went wrong in custom action - Please check Your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Exit Sub
@@ -1292,7 +1297,7 @@ Public Class frmValidator
If oResult1 = True Then
Dim oREsult As Boolean = True
If Override_SQLCommand <> "" Then
- oREsult = ClassDatabase.Execute_non_Query(Override_SQLCommand)
+ oREsult = Database_ECM.ExecuteNonQuery(Override_SQLCommand)
End If
If oREsult = True Then
Reload_Controls(oControlName)
@@ -1307,7 +1312,7 @@ Public Class frmValidator
If result = MsgBoxResult.Yes Then
Dim oREsult As Boolean = True
If Override_SQLCommand <> "" Then
- oREsult = ClassDatabase.Execute_non_Query(Override_SQLCommand)
+ oREsult = Database_ECM.ExecuteNonQuery(Override_SQLCommand)
End If
If oREsult = True Then
SetStatusLabel("Refreshed single control", "Yellow")
@@ -1341,7 +1346,7 @@ Public Class frmValidator
Try
Dim CONTROL_ID = DirectCast(dgv.Tag, ClassControlCreator.ControlMetadata).Guid
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
- Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "onDGVRowValidating")
+ Dim DT As DataTable = Database_ECM.GetDatatable(sql) ', "onDGVRowValidating")
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
For Each ROW As DataRow In DT.Rows
Try
@@ -2045,7 +2050,7 @@ Public Class frmValidator
Try
Dim CONTROL_ID = DirectCast(oCombobox.Tag, ClassControlCreator.ControlMetadata).Guid
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
- Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "OnCmbselectedIndex")
+ Dim DT As DataTable = Database_ECM.GetDatatable(sql) ', "OnCmbselectedIndex")
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
If _dependingControl_in_action = True Then
Exit Sub
@@ -2325,12 +2330,18 @@ Public Class frmValidator
If PROFIL_sortbynewest = True Then
oBIT = 1
End If
- Dim oSQL = $"SELECT * from [dbo].[FNPM_GET_NEXT_DOC_INFO] ({CURRENT_ProfilGUID},{oBIT},{CURRENT_DOC_GUID},'{USER_USERNAME}')"
+ Dim oSQL = $"EXEC PRPM_GET_NEXT_DOC_INFO {CURRENT_ProfilGUID},{CURRENT_DOC_ID},{USER_ID}"
- Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSQL, "Get_Next_GUID")
+ Dim oDT As DataTable = Database_ECM.GetDatatable(oSQL) ', "Get_Next_GUID")
If oDT.Rows.Count > 0 Then
oNewGUID = oDT.Rows(0).Item(0)
CURRENT_DOC_ID = oDT.Rows(0).Item(1)
+ Try
+ Amount_Docs2Validate = oDT.Rows(0).Item(2)
+ Catch ex As Exception
+ LOGGER.Warn("Amount_Docs2Validate Error: " & ex.Message)
+ End Try
+
Else
LOGGER.Info(" >> Attention: in GetNextGUID - Could not get a GUID(1)")
oNewGUID = 0
@@ -2394,14 +2405,14 @@ Public Class frmValidator
Dim oResult As String
Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})"
- oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows1")
+ oResult = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "GetDocPathWindows1")
LOGGER.Debug($"Checking file 0 [{oResult}] exists?...")
WMDocPathWindows = String.Empty
If File.Exists(oResult) = False Then
DocPathWindows = oResult
LOGGER.Info($"GetWMDocPathWindows returned false [{oResult}] - trying with standard again...")
oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({CURRENT_DOC_GUID},1)"
- oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows2")
+ oResult = Database_ECM.GetScalarValue(oSQL) ', CONNECTION_STRING_ECM, "GetDocPathWindows2")
LOGGER.Debug($"Checking file 1[{oResult}] exists?...")
If File.Exists(oResult) = False Then
LOGGER.Info($"GetWMDocPathWindows FileExists2 also returned false [{oResult}]!")
@@ -2433,7 +2444,7 @@ Public Class frmValidator
oSQl = oSQl.Replace("@DOC_GUID", CURRENT_DOC_GUID)
oSQl = oSQl.Replace("@DOC_ID", CURRENT_DOC_ID)
oSQl = oSQl.Replace("@DocID", CURRENT_DOC_ID)
- IDB_DT_DOC_DATA = ClassDatabase.Return_Datatable(oSQl, "Load_IDB_DOC_DATA")
+ IDB_DT_DOC_DATA = Database_ECM.GetDatatable(oSQl)
Catch ex As Exception
LOGGER.Error(ex)
End Try
@@ -2502,11 +2513,15 @@ Public Class frmValidator
'If WMDocPathWindows <> String.Empty Then
' >> >> >> >> >> >>##### Das Dokument in Bearbeitung nehmen ###########################
Dim sql = $"UPDATE TBPM_PROFILE_FILES SET IN_WORK = 1, IN_WORK_WHEN = GETDATE(), WORK_USER = '{USER_USERNAME}' WHERE GUID = {CURRENT_DOC_GUID}"
- ClassDatabase.Execute_non_Query(sql)
+ Database_ECM.ExecuteNonQuery(sql)
' ############ Infos eintragen #################
' txtDateipfad.Text = Document_Path
- bsiInformation.Caption = "Datei " & docCounter.ToString & " von " & Anzahl_ValDoks.ToString
+ Dim omsg = $"Verbleibende Belege: {Amount_Docs2Validate}"
+ If USER_LANGUAGE <> "de-DE" Then
+ omsg = $"Remaining documents: {omsg}"
+ End If
+ bsiInformation.Caption = omsg
bsiDocID.Caption = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID
LOGGER.Debug("AllDocInfo created...")
@@ -3541,7 +3556,7 @@ Public Class frmValidator
If IDB_ACTIVE = True Then
Try
Dim oSQL = $"select Attribut, TERM_VALUE from VWIDB_VALUE_TEXT WHERE LANG_CODE = '{USER_LANGUAGE}' AND IDB_OBJ_ID = {CURRENT_DOC_ID} AND Attribut in ('PM_Info1','PM_Info2') ORDER BY Attribut"
- Dim oDTINFO As DataTable = ClassDatabase.Return_Datatable_ConStr(oSQL, CONNECTION_STRING_IDB_READ)
+ Dim oDTINFO As DataTable = Database_IDB.GetDatatable(oSQL)
If Not IsNothing(oDTINFO) Then
Dim oColor As System.Drawing.Color
If oDTINFO.Rows.Count > 0 Then
@@ -3609,6 +3624,7 @@ Public Class frmValidator
End If
+
'Flag setzen das Indexe geladen sind
_Indexe_Loaded = True
Load_Additional_Searches()
@@ -3640,6 +3656,50 @@ Public Class frmValidator
End If
FormLoaded = True
+ Try
+ If USER_GHOST_MODE_ACTIVE Then
+ BbtnitmSave.Enabled = False
+ btnSave.Enabled = False
+ Else
+ BbtnitmSave.Enabled = True
+ btnSave.Enabled = True
+ End If
+ Catch ex As Exception
+
+ End Try
+ Try
+ If RibbonPageCustTitle <> "" Then
+ RibbonPageCust.Text = RibbonPageCustTitle
+ RibbonPageCust.Visible = True
+
+ Else
+ RibbonPageCust.Visible = False
+ End If
+ If Not IsNothing(WMDocPathWindows) Then
+ If ButtonExport2Folder_Caption <> "" And WMDocPathWindows <> "" Then
+ If File.Exists(WMDocPathWindows) Then
+ barbtnitmExport.Caption = ButtonExport2Folder_Caption
+ barbtnitmExport.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ Try
+ If ButtonExport2Folder_RootFolder <> "" Then
+ If Directory.Exists(ButtonExport2Folder_RootFolder) Then
+ FolderBrowserDialog1.RootFolder = ButtonExport2Folder_RootFolder
+ Else
+ LOGGER.Warn($"### Dis/Enabale Export2Path - RootFolder {ButtonExport2Folder_RootFolder} not existing or accessible!###")
+ End If
+
+ End If
+ Catch ex As Exception
+ LOGGER.Warn($"### Error Dis/Enabale Export2Path: {ex.Message} !###")
+ End Try
+
+ End If
+ End If
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ End Try
+
LOGGER.Debug("frmValidation_Shown finished!")
End Sub
Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
@@ -3684,7 +3744,7 @@ Public Class frmValidator
Dim oSQL = PROFIL_FINISH_SQL
oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True)
- Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "btnFinish_continue")
+ Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL)
If IsNothing(oDT_ACTIONS) Then
MsgBox("Something went wrong in btnFinish_continue - Please check Your log and inform the workflow-team!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Return False
@@ -3855,68 +3915,68 @@ Public Class frmValidator
oResult(0) = oValue
LOGGER.Debug($"oIndexType {oIndexType.ToString}")
- If oIndexType > 4000 And oIndexType < 5000 Then
+ If oIndexType > 4000 And oIndexType <5000 Then
'If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then
- ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
- 'Hier muss nun separat as Vektorfeld indexiert werden
- If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then
- LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!")
- Else
- errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
- My.Settings.Save()
- frmError.ShowDialog()
- oErrorOcurred = True
- ItemWorked = False
- End If
- Else
- LOGGER.Debug("Now the final 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)
- LOGGER.Warn("Something went wrong while final-indexing")
- Exit For
- End If
- Dim oFIResult As Boolean = False
- If IDB_ACTIVE = False Then
- If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then
- oFIResult = True
- LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT")
+ ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
+ 'Hier muss nun separat as Vektorfeld indexiert werden
+ If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then
+ LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!")
+ Else
+ errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
+ My.Settings.Save()
+ frmError.ShowDialog()
+ oErrorOcurred = True
+ ItemWorked = False
+ End If
+ Else
+ LOGGER.Debug("Now the final 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)
+ LOGGER.Warn("Something went wrong while final-indexing")
+ Exit For
+ End If
+ Dim oFIResult As Boolean = False
+ If IDB_ACTIVE = False Then
+ If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then
+ oFIResult = True
+ LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT")
- 'Nun das Logging
- If PROFIL_LOGINDEX <> "" Then
- Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME"))
- WMIndexVectofield(logstr, PROFIL_LOGINDEX)
- End If
- End If
- Else
- If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then
- oFIResult = True
- LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]")
- End If
- End If
- If oFIResult = False Then
- errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
- My.Settings.Save()
- frmError.ShowDialog()
- oErrorOcurred = True
- ItemWorked = False
- End If
-
- End If
- If oErrorOcurred = True Then
- ItemWorked = False
- Exit For
- End If
- Next
+ 'Nun das Logging
+ If PROFIL_LOGINDEX <> "" Then
+ Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME"))
+ WMIndexVectofield(logstr, PROFIL_LOGINDEX)
+ End If
End If
- Catch ex As Exception
- LOGGER.Warn($"Error in finalIndexing: {ex.Message}")
+ Else
+ If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then
+ oFIResult = True
+ LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]")
+ End If
+ End If
+ If oFIResult = False Then
+ errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
+ My.Settings.Save()
+ frmError.ShowDialog()
+ oErrorOcurred = True
+ ItemWorked = False
+ End If
+
+ End If
+ If oErrorOcurred = True Then
+ ItemWorked = False
+ Exit For
+ End If
+ Next
+ End If
+ Catch ex As Exception
+ LOGGER.Warn($"Error in finalIndexing: {ex.Message}")
oErrorOcurred = True
End Try
End If
Try
''Wenn kein Fehler nach der finalen Indexierung gesetzt wurde
If Override = True And Override_SQLCommand <> "" Then
- ClassDatabase.Execute_non_Query(Override_SQLCommand)
+ Database_ECM.ExecuteNonQuery(Override_SQLCommand)
End If
If oErrorOcurred = False Then
@@ -4020,14 +4080,14 @@ Public Class frmValidator
End If
End If
Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, WORK_HISTORY_ENTRY)
- ClassDatabase.Execute_non_Query(ins)
+ Database_ECM.ExecuteNonQuery(ins)
Dim oFIsql As String
'Close_document_viewer()
If WMDocPathWindows.ToLower.EndsWith(".pdf") Then
If Not IsNothing(WORK_HISTORY_ENTRY) Then
If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(oFIsql, "Finish_WFStep2")
+ Dim DT_ENTRY As DataTable = Database_ECM.GetDatatable(oFIsql) ', "Finish_WFStep2")
If Not IsNothing(DT_ENTRY) Then
If DT_ENTRY.Rows.Count = 1 Then
Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
@@ -4038,7 +4098,7 @@ Public Class frmValidator
Dim oAnnotateAllWHEs = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
If CBool(oAnnotateAllWHEs) = True Then
oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(oFIsql, "Finish_WFStep3")
+ Dim DT_ENTRIES As DataTable = Database_ECM.GetDatatable(oFIsql) ', "Finish_WFStep3")
If Not IsNothing(DT_ENTRIES) Then
If DT_ENTRIES.Rows.Count > 0 Then
Dim AnnotationString As String = ""
@@ -4092,7 +4152,7 @@ Public Class frmValidator
Else
LOGGER.Info($"Overriding all in action for DocID: {CURRENT_DOC_ID} - ProfileID: {CURRENT_ProfilGUID}")
If Override_SQLCommand <> "" Then
- If ClassDatabase.Execute_non_Query(Override_SQLCommand) = False Then
+ If Database_ECM.ExecuteNonQuery(Override_SQLCommand) = False Then
oErrorOcurred = True
End If
End If
@@ -4103,12 +4163,12 @@ Public Class frmValidator
Else
'Das Dokument freigeben und as editiert markieren
'Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID)
- 'ClassDatabase.Execute_non_Query(sql)
+ 'Database_ECM.ExecuteNonQuery(sql)
Anzahl_validierte_Dok += 1
'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID)
LOGGER.Debug("Validation of document ended successfully!")
Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}"
- ClassDatabase.Execute_non_Query(oPROCSQL)
+ Database_ECM.ExecuteNonQuery(oPROCSQL)
End If
If CURRENT_JUMP_DOC_GUID <> 0 Then
@@ -5136,7 +5196,7 @@ Public Class frmValidator
Free_File()
Dim oSQL = $"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID}"
- ClassDatabase.Execute_non_Query(oSQL)
+ Database_ECM.ExecuteNonQuery(oSQL)
LOGGER.Debug($"Skipped DocGUID {CURRENT_DOC_GUID}")
Load_Next_Document(False)
@@ -5148,7 +5208,7 @@ Public Class frmValidator
Private Function Free_File()
Try
Dim sql = $"UPDATE TBPM_PROFILE_FILES SET EDIT = 0, IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
- Return ClassDatabase.Execute_non_Query(sql)
+ Return Database_ECM.ExecuteNonQuery(sql)
Catch ex As Exception
allgFunk.Insert_LogEntry($"ERROR Free_File >> {ex.Message}")
LOGGER.Error(ex)
@@ -5170,8 +5230,8 @@ Public Class frmValidator
Application.DoEvents()
FreeFile()
'Aus der Tabelle löschen
- Dim oDelete = $"DELETE FROM TBPM_PROFILE_FILES WHERE (GUID = {CURRENT_DOC_GUID})"
- If ClassDatabase.Execute_non_Query(oDelete) = True Then
+ Dim oDelete = $"DELETE FROM TBPM_PROFILE_FILES WHERE GUID = {CURRENT_DOC_GUID}"
+ If Database_ECM.ExecuteNonQuery(oDelete) = True Then
Dim oDeleteResult As Boolean = False
If IDB_ACTIVE = False Then
oDeleteResult = Delete_WMFile()
@@ -5277,6 +5337,9 @@ Public Class frmValidator
If e.KeyCode = Keys.F4 Then
Datei_ueberspringen()
ElseIf e.KeyCode = Keys.F2 Then
+ If USER_GHOST_MODE_ACTIVE Then
+ Exit Sub
+ End If
btnSave.Enabled = False
Finish_WFStep()
btnSave.Enabled = True
@@ -5398,6 +5461,11 @@ Public Class frmValidator
Private Sub bbtniNext_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniNext.ItemClick
If ForceGridValidation() = True Then
Datei_ueberspringen()
+ Try
+ btnSave.Text = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("frmValidator.ValidationButton")
+ Catch ex As Exception
+
+ End Try
End If
End Sub
@@ -5416,7 +5484,7 @@ Public Class frmValidator
load_viewer()
End Sub
- Private Sub BbtnItm_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnItm.ItemClick
+ Private Sub BbtnItm_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnitmSave.ItemClick
If ForceGridValidation() = True Then
Dim oRESULT As String
@@ -5427,6 +5495,8 @@ Public Class frmValidator
End If
If Check_UpdateIndexe() = True Then
SetStatusLabel($"Data saved", "LimeGreen")
+ Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, Environment.MachineName, "Manual Save via button")
+ Database_ECM.ExecuteNonQuery(ins)
Else
SetStatusLabel($"Error while saving data!", "Red")
End If
@@ -5480,7 +5550,7 @@ Public Class frmValidator
For Each oRow As DataRow In DTDYNAMIC_RIGHTS.Rows
If oRow.Item("CONF_TITLE") = "NEW_CONVERSATION_USER_SELECT" Then
Dim oSQL = oRow.Item("CONF_VALUE")
- oDTUSER = ClassDatabase.Return_Datatable(oSQL)
+ oDTUSER = Database_IDB.GetDatatable(oSQL)
End If
Next
If Not IsNothing(oDTUSER) Then
@@ -5510,7 +5580,7 @@ Public Class frmValidator
result = MessageBox.Show(oQuestion.Rows(0).Item("STRING1").ToString, oQuestion.Rows(0).Item("STRING2").ToString, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
If result = MsgBoxResult.Yes Then
Dim oSQL = $"EXEC PRIDB_END_CONVERSATION {ChatControl1.CurrentConversationID}, '{USER_USERNAME}', '{USER_LANGUAGE}'"
- If ClassDatabase.Execute_non_Query_ConStr(oSQL, CONNECTION_STRING_IDB_WRITE, "EXEC PRIDB_END_CONVERSATION") = True Then
+ If Database_IDB.ExecuteNonQuery(oSQL) = True Then
btnitemConversationEnd.Enabled = False
SplitContainer2_DV_Chat.Collapsed = True
btnitemConversationEnd.Enabled = True
@@ -5569,4 +5639,40 @@ Public Class frmValidator
Private Sub BarButtonItem6_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemAttmt.ItemClick
Click_Additional_Searches()
End Sub
+
+ Private Sub barbtnitmExport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles barbtnitmExport.ItemClick
+ If File.Exists(WMDocPathWindows) Then
+ Try
+ Dim oFilenameOnly As String
+ Dim oTargetPath As String
+ If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
+ Dim oCount As Integer = 0
+ oFilenameOnly = Path.GetFileName(WMDocPathWindows)
+ oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oFilenameOnly
+ File.Copy(WMDocPathWindows, oTargetPath)
+ oCount += 1
+
+ If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
+ For Each oFileRecord As DataRow In DT_AdditionalSearches_Resultset_Docs.Rows
+ Dim oFromFilename = oFileRecord.Item("FULL_FILENAME")
+ If File.Exists(oFromFilename) Then
+ oFilenameOnly = Path.GetFileName(oFromFilename)
+ oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oFilenameOnly
+ File.Copy(oFromFilename, oTargetPath)
+ oCount += 1
+ End If
+ Next
+ End If
+ MsgBox($"[{oCount}] file/s successfully exported to target [{FolderBrowserDialog1.SelectedPath}]!", MsgBoxStyle.Information, ADDITIONAL_TITLE)
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ MsgBox("Could not move file to target: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE)
+ End Try
+
+ Else
+ MsgBox("Workflow-Document seems not to exist. Check Your log.", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
+ End If
+
+ End Sub
End Class
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb b/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb
index e718d34..f108c20 100644
--- a/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmValidatorSearch.Designer.vb
@@ -48,11 +48,6 @@ Partial Class frmValidatorSearch
Me.GridControlDocSearch5 = New DevExpress.XtraGrid.GridControl()
Me.GridViewDocSearch5 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
- Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
- Me.ToolStripDropDownButtonFile = New System.Windows.Forms.ToolStripDropDownButton()
- Me.DateiÖffnenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
- Me.EigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
- Me.ToolStripButtonRefreshSearches = New System.Windows.Forms.ToolStripButton()
Me.SplitContainerSearches = New System.Windows.Forms.SplitContainer()
Me.XtraTabControlSQL = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPageSearch1 = New DevExpress.XtraTab.XtraTabPage()
@@ -75,6 +70,11 @@ Partial Class frmValidatorSearch
Me.ToolStrip2 = New System.Windows.Forms.ToolStrip()
Me.tslblDocID = New System.Windows.Forms.ToolStripLabel()
Me.tslblState = New System.Windows.Forms.ToolStripLabel()
+ Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
+ Me.ToolStripDropDownButtonFile = New System.Windows.Forms.ToolStripDropDownButton()
+ Me.DateiÖffnenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
+ Me.EigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripButtonRefreshSearches = New System.Windows.Forms.ToolStripButton()
Me.ContextMenuStripWMFile = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.EigenschaftenDateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -103,7 +103,6 @@ Partial Class frmValidatorSearch
Me.XtraTabPageDoc5.SuspendLayout()
CType(Me.GridControlDocSearch5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewDocSearch5, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.ToolStrip1.SuspendLayout()
CType(Me.SplitContainerSearches, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerSearches.Panel1.SuspendLayout()
Me.SplitContainerSearches.Panel2.SuspendLayout()
@@ -127,6 +126,7 @@ Partial Class frmValidatorSearch
CType(Me.GridViewSearch5, System.ComponentModel.ISupportInitialize).BeginInit()
Me.StatusStrip1.SuspendLayout()
Me.ToolStrip2.SuspendLayout()
+ Me.ToolStrip1.SuspendLayout()
Me.ContextMenuStripWMFile.SuspendLayout()
Me.ContextMenuStripSQL.SuspendLayout()
Me.SuspendLayout()
@@ -135,10 +135,10 @@ Partial Class frmValidatorSearch
'
resources.ApplyResources(Me.SplitContainerControlDoc, "SplitContainerControlDoc")
Me.SplitContainerControlDoc.Name = "SplitContainerControlDoc"
- Me.SplitContainerControlDoc.Panel1.Controls.Add(Me.XtraTabControlDocs)
resources.ApplyResources(Me.SplitContainerControlDoc.Panel1, "SplitContainerControlDoc.Panel1")
- Me.SplitContainerControlDoc.Panel2.Controls.Add(Me.DocumentViewer1)
+ Me.SplitContainerControlDoc.Panel1.Controls.Add(Me.XtraTabControlDocs)
resources.ApplyResources(Me.SplitContainerControlDoc.Panel2, "SplitContainerControlDoc.Panel2")
+ Me.SplitContainerControlDoc.Panel2.Controls.Add(Me.DocumentViewer1)
Me.SplitContainerControlDoc.SplitterPosition = 351
'
'XtraTabControlDocs
@@ -150,13 +150,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageDoc1
'
+ resources.ApplyResources(Me.XtraTabPageDoc1, "XtraTabPageDoc1")
Me.XtraTabPageDoc1.Controls.Add(Me.GridControlDocSearch1)
Me.XtraTabPageDoc1.Name = "XtraTabPageDoc1"
- resources.ApplyResources(Me.XtraTabPageDoc1, "XtraTabPageDoc1")
'
'GridControlDocSearch1
'
resources.ApplyResources(Me.GridControlDocSearch1, "GridControlDocSearch1")
+ Me.GridControlDocSearch1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlDocSearch1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.AccessibleName")
+ Me.GridControlDocSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlDocSearch1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlDocSearch1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlDocSearch1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlDocSearch1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlDocSearch1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlDocSearch1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlDocSearch1.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.ToolTip")
+ Me.GridControlDocSearch1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlDocSearch1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch1.EmbeddedNavigator.ToolTipTitle")
GridLevelNode1.RelationName = "Level1"
Me.GridControlDocSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1})
Me.GridControlDocSearch1.MainView = Me.GridViewDocSearch1
@@ -169,6 +181,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch1.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewDocSearch1, "GridViewDocSearch1")
Me.GridViewDocSearch1.GridControl = Me.GridControlDocSearch1
Me.GridViewDocSearch1.Name = "GridViewDocSearch1"
Me.GridViewDocSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -182,13 +195,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageDoc2
'
+ resources.ApplyResources(Me.XtraTabPageDoc2, "XtraTabPageDoc2")
Me.XtraTabPageDoc2.Controls.Add(Me.GridControlDocSearch2)
Me.XtraTabPageDoc2.Name = "XtraTabPageDoc2"
- resources.ApplyResources(Me.XtraTabPageDoc2, "XtraTabPageDoc2")
'
'GridControlDocSearch2
'
resources.ApplyResources(Me.GridControlDocSearch2, "GridControlDocSearch2")
+ Me.GridControlDocSearch2.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlDocSearch2.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.AccessibleName")
+ Me.GridControlDocSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlDocSearch2.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlDocSearch2.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlDocSearch2.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlDocSearch2.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlDocSearch2.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlDocSearch2.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlDocSearch2.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.ToolTip")
+ Me.GridControlDocSearch2.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlDocSearch2.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch2.EmbeddedNavigator.ToolTipTitle")
Me.GridControlDocSearch2.MainView = Me.GridViewDocSearch2
Me.GridControlDocSearch2.Name = "GridControlDocSearch2"
Me.GridControlDocSearch2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch2})
@@ -199,6 +224,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch2.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch2.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewDocSearch2, "GridViewDocSearch2")
Me.GridViewDocSearch2.GridControl = Me.GridControlDocSearch2
Me.GridViewDocSearch2.Name = "GridViewDocSearch2"
Me.GridViewDocSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -212,13 +238,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageDoc3
'
+ resources.ApplyResources(Me.XtraTabPageDoc3, "XtraTabPageDoc3")
Me.XtraTabPageDoc3.Controls.Add(Me.GridControlDocSearch3)
Me.XtraTabPageDoc3.Name = "XtraTabPageDoc3"
- resources.ApplyResources(Me.XtraTabPageDoc3, "XtraTabPageDoc3")
'
'GridControlDocSearch3
'
resources.ApplyResources(Me.GridControlDocSearch3, "GridControlDocSearch3")
+ Me.GridControlDocSearch3.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlDocSearch3.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.AccessibleName")
+ Me.GridControlDocSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlDocSearch3.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlDocSearch3.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlDocSearch3.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlDocSearch3.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlDocSearch3.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlDocSearch3.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlDocSearch3.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.ToolTip")
+ Me.GridControlDocSearch3.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlDocSearch3.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch3.EmbeddedNavigator.ToolTipTitle")
Me.GridControlDocSearch3.MainView = Me.GridViewDocSearch3
Me.GridControlDocSearch3.Name = "GridControlDocSearch3"
Me.GridControlDocSearch3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch3})
@@ -229,6 +267,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch3.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch3.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewDocSearch3, "GridViewDocSearch3")
Me.GridViewDocSearch3.GridControl = Me.GridControlDocSearch3
Me.GridViewDocSearch3.Name = "GridViewDocSearch3"
Me.GridViewDocSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -242,13 +281,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageDoc4
'
+ resources.ApplyResources(Me.XtraTabPageDoc4, "XtraTabPageDoc4")
Me.XtraTabPageDoc4.Controls.Add(Me.GridControlDocSearch4)
Me.XtraTabPageDoc4.Name = "XtraTabPageDoc4"
- resources.ApplyResources(Me.XtraTabPageDoc4, "XtraTabPageDoc4")
'
'GridControlDocSearch4
'
resources.ApplyResources(Me.GridControlDocSearch4, "GridControlDocSearch4")
+ Me.GridControlDocSearch4.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlDocSearch4.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.AccessibleName")
+ Me.GridControlDocSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlDocSearch4.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlDocSearch4.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlDocSearch4.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlDocSearch4.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlDocSearch4.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlDocSearch4.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlDocSearch4.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.ToolTip")
+ Me.GridControlDocSearch4.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlDocSearch4.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch4.EmbeddedNavigator.ToolTipTitle")
Me.GridControlDocSearch4.MainView = Me.GridViewDocSearch4
Me.GridControlDocSearch4.Name = "GridControlDocSearch4"
Me.GridControlDocSearch4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch4})
@@ -259,6 +310,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch4.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch4.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewDocSearch4, "GridViewDocSearch4")
Me.GridViewDocSearch4.GridControl = Me.GridControlDocSearch4
Me.GridViewDocSearch4.Name = "GridViewDocSearch4"
Me.GridViewDocSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -272,13 +324,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageDoc5
'
+ resources.ApplyResources(Me.XtraTabPageDoc5, "XtraTabPageDoc5")
Me.XtraTabPageDoc5.Controls.Add(Me.GridControlDocSearch5)
Me.XtraTabPageDoc5.Name = "XtraTabPageDoc5"
- resources.ApplyResources(Me.XtraTabPageDoc5, "XtraTabPageDoc5")
'
'GridControlDocSearch5
'
resources.ApplyResources(Me.GridControlDocSearch5, "GridControlDocSearch5")
+ Me.GridControlDocSearch5.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlDocSearch5.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.AccessibleName")
+ Me.GridControlDocSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlDocSearch5.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlDocSearch5.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlDocSearch5.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlDocSearch5.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlDocSearch5.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlDocSearch5.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlDocSearch5.EmbeddedNavigator.ToolTip = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.ToolTip")
+ Me.GridControlDocSearch5.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlDocSearch5.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlDocSearch5.EmbeddedNavigator.ToolTipTitle")
Me.GridControlDocSearch5.MainView = Me.GridViewDocSearch5
Me.GridControlDocSearch5.Name = "GridControlDocSearch5"
Me.GridControlDocSearch5.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch5})
@@ -289,6 +353,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch5.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch5.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewDocSearch5, "GridViewDocSearch5")
Me.GridViewDocSearch5.GridControl = Me.GridControlDocSearch5
Me.GridViewDocSearch5.Name = "GridViewDocSearch5"
Me.GridViewDocSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -303,53 +368,24 @@ Partial Class frmValidatorSearch
'DocumentViewer1
'
resources.ApplyResources(Me.DocumentViewer1, "DocumentViewer1")
+ Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Name = "DocumentViewer1"
'
- 'ToolStrip1
- '
- Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripDropDownButtonFile, Me.ToolStripButtonRefreshSearches})
- resources.ApplyResources(Me.ToolStrip1, "ToolStrip1")
- Me.ToolStrip1.Name = "ToolStrip1"
- '
- 'ToolStripDropDownButtonFile
- '
- Me.ToolStripDropDownButtonFile.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
- Me.ToolStripDropDownButtonFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem1, Me.EigenschaftenToolStripMenuItem})
- Me.ToolStripDropDownButtonFile.Image = Global.DD_ProcessManager.My.Resources.Resources.ID_FILE_PAGE_SETUP
- resources.ApplyResources(Me.ToolStripDropDownButtonFile, "ToolStripDropDownButtonFile")
- Me.ToolStripDropDownButtonFile.Name = "ToolStripDropDownButtonFile"
- '
- 'DateiÖffnenToolStripMenuItem1
- '
- Me.DateiÖffnenToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.OpenFileDialog_692
- Me.DateiÖffnenToolStripMenuItem1.Name = "DateiÖffnenToolStripMenuItem1"
- resources.ApplyResources(Me.DateiÖffnenToolStripMenuItem1, "DateiÖffnenToolStripMenuItem1")
- '
- 'EigenschaftenToolStripMenuItem
- '
- Me.EigenschaftenToolStripMenuItem.Image = Global.DD_ProcessManager.My.Resources.Resources.Properties
- Me.EigenschaftenToolStripMenuItem.Name = "EigenschaftenToolStripMenuItem"
- resources.ApplyResources(Me.EigenschaftenToolStripMenuItem, "EigenschaftenToolStripMenuItem")
- '
- 'ToolStripButtonRefreshSearches
- '
- Me.ToolStripButtonRefreshSearches.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG
- resources.ApplyResources(Me.ToolStripButtonRefreshSearches, "ToolStripButtonRefreshSearches")
- Me.ToolStripButtonRefreshSearches.Name = "ToolStripButtonRefreshSearches"
- '
'SplitContainerSearches
'
- Me.SplitContainerSearches.DataBindings.Add(New System.Windows.Forms.Binding("SplitterDistance", Global.DD_ProcessManager.My.MySettings.Default, "frmValSearchSplitterDistance", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
resources.ApplyResources(Me.SplitContainerSearches, "SplitContainerSearches")
+ Me.SplitContainerSearches.DataBindings.Add(New System.Windows.Forms.Binding("SplitterDistance", Global.DD_ProcessManager.My.MySettings.Default, "frmValSearchSplitterDistance", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
Me.SplitContainerSearches.Name = "SplitContainerSearches"
'
'SplitContainerSearches.Panel1
'
+ resources.ApplyResources(Me.SplitContainerSearches.Panel1, "SplitContainerSearches.Panel1")
Me.SplitContainerSearches.Panel1.Controls.Add(Me.XtraTabControlSQL)
Me.SplitContainerSearches.Panel1.Controls.Add(Me.StatusStrip1)
'
'SplitContainerSearches.Panel2
'
+ resources.ApplyResources(Me.SplitContainerSearches.Panel2, "SplitContainerSearches.Panel2")
Me.SplitContainerSearches.Panel2.Controls.Add(Me.SplitContainerControlDoc)
Me.SplitContainerSearches.Panel2.Controls.Add(Me.ToolStrip2)
Me.SplitContainerSearches.SplitterDistance = Global.DD_ProcessManager.My.MySettings.Default.frmValSearchSplitterDistance
@@ -363,13 +399,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageSearch1
'
+ resources.ApplyResources(Me.XtraTabPageSearch1, "XtraTabPageSearch1")
Me.XtraTabPageSearch1.Controls.Add(Me.GridControlSearch1)
Me.XtraTabPageSearch1.Name = "XtraTabPageSearch1"
- resources.ApplyResources(Me.XtraTabPageSearch1, "XtraTabPageSearch1")
'
'GridControlSearch1
'
resources.ApplyResources(Me.GridControlSearch1, "GridControlSearch1")
+ Me.GridControlSearch1.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch1.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlSearch1.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch1.EmbeddedNavigator.AccessibleName")
+ Me.GridControlSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlSearch1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlSearch1.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlSearch1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlSearch1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlSearch1.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlSearch1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlSearch1.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch1.EmbeddedNavigator.ToolTip")
+ Me.GridControlSearch1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlSearch1.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch1.EmbeddedNavigator.ToolTipTitle")
GridLevelNode2.RelationName = "Level1"
Me.GridControlSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode2})
Me.GridControlSearch1.MainView = Me.GridViewSearch1
@@ -382,6 +430,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch1.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewSearch1, "GridViewSearch1")
Me.GridViewSearch1.GridControl = Me.GridControlSearch1
Me.GridViewSearch1.Name = "GridViewSearch1"
Me.GridViewSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -395,13 +444,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageSearch2
'
+ resources.ApplyResources(Me.XtraTabPageSearch2, "XtraTabPageSearch2")
Me.XtraTabPageSearch2.Controls.Add(Me.GridControlSearch2)
Me.XtraTabPageSearch2.Name = "XtraTabPageSearch2"
- resources.ApplyResources(Me.XtraTabPageSearch2, "XtraTabPageSearch2")
'
'GridControlSearch2
'
resources.ApplyResources(Me.GridControlSearch2, "GridControlSearch2")
+ Me.GridControlSearch2.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch2.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlSearch2.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch2.EmbeddedNavigator.AccessibleName")
+ Me.GridControlSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlSearch2.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlSearch2.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlSearch2.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlSearch2.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlSearch2.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlSearch2.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlSearch2.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch2.EmbeddedNavigator.ToolTip")
+ Me.GridControlSearch2.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlSearch2.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch2.EmbeddedNavigator.ToolTipTitle")
GridLevelNode3.RelationName = "Level1"
Me.GridControlSearch2.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode3})
Me.GridControlSearch2.MainView = Me.GridViewSearch2
@@ -414,6 +475,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch2.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch2.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewSearch2, "GridViewSearch2")
Me.GridViewSearch2.GridControl = Me.GridControlSearch2
Me.GridViewSearch2.Name = "GridViewSearch2"
Me.GridViewSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -427,13 +489,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageSearch3
'
+ resources.ApplyResources(Me.XtraTabPageSearch3, "XtraTabPageSearch3")
Me.XtraTabPageSearch3.Controls.Add(Me.GridControlSearch3)
Me.XtraTabPageSearch3.Name = "XtraTabPageSearch3"
- resources.ApplyResources(Me.XtraTabPageSearch3, "XtraTabPageSearch3")
'
'GridControlSearch3
'
resources.ApplyResources(Me.GridControlSearch3, "GridControlSearch3")
+ Me.GridControlSearch3.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch3.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlSearch3.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch3.EmbeddedNavigator.AccessibleName")
+ Me.GridControlSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlSearch3.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlSearch3.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlSearch3.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlSearch3.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlSearch3.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlSearch3.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlSearch3.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch3.EmbeddedNavigator.ToolTip")
+ Me.GridControlSearch3.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlSearch3.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch3.EmbeddedNavigator.ToolTipTitle")
GridLevelNode4.RelationName = "Level1"
Me.GridControlSearch3.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode4})
Me.GridControlSearch3.MainView = Me.GridViewSearch3
@@ -446,6 +520,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch3.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch3.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewSearch3, "GridViewSearch3")
Me.GridViewSearch3.GridControl = Me.GridControlSearch3
Me.GridViewSearch3.Name = "GridViewSearch3"
Me.GridViewSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -459,13 +534,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageSearch4
'
+ resources.ApplyResources(Me.XtraTabPageSearch4, "XtraTabPageSearch4")
Me.XtraTabPageSearch4.Controls.Add(Me.GridControlSearch4)
Me.XtraTabPageSearch4.Name = "XtraTabPageSearch4"
- resources.ApplyResources(Me.XtraTabPageSearch4, "XtraTabPageSearch4")
'
'GridControlSearch4
'
resources.ApplyResources(Me.GridControlSearch4, "GridControlSearch4")
+ Me.GridControlSearch4.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch4.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlSearch4.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch4.EmbeddedNavigator.AccessibleName")
+ Me.GridControlSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlSearch4.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlSearch4.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlSearch4.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlSearch4.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlSearch4.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlSearch4.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlSearch4.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch4.EmbeddedNavigator.ToolTip")
+ Me.GridControlSearch4.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlSearch4.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch4.EmbeddedNavigator.ToolTipTitle")
GridLevelNode5.RelationName = "Level1"
Me.GridControlSearch4.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode5})
Me.GridControlSearch4.MainView = Me.GridViewSearch4
@@ -478,6 +565,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch4.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch4.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewSearch4, "GridViewSearch4")
Me.GridViewSearch4.GridControl = Me.GridControlSearch4
Me.GridViewSearch4.Name = "GridViewSearch4"
Me.GridViewSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -491,13 +579,25 @@ Partial Class frmValidatorSearch
'
'XtraTabPageSearch5
'
+ resources.ApplyResources(Me.XtraTabPageSearch5, "XtraTabPageSearch5")
Me.XtraTabPageSearch5.Controls.Add(Me.GridControlSearch5)
Me.XtraTabPageSearch5.Name = "XtraTabPageSearch5"
- resources.ApplyResources(Me.XtraTabPageSearch5, "XtraTabPageSearch5")
'
'GridControlSearch5
'
resources.ApplyResources(Me.GridControlSearch5, "GridControlSearch5")
+ Me.GridControlSearch5.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridControlSearch5.EmbeddedNavigator.AccessibleDescription")
+ Me.GridControlSearch5.EmbeddedNavigator.AccessibleName = resources.GetString("GridControlSearch5.EmbeddedNavigator.AccessibleName")
+ Me.GridControlSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
+ Me.GridControlSearch5.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
+ Me.GridControlSearch5.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
+ Me.GridControlSearch5.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
+ Me.GridControlSearch5.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
+ Me.GridControlSearch5.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
+ Me.GridControlSearch5.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
+ Me.GridControlSearch5.EmbeddedNavigator.ToolTip = resources.GetString("GridControlSearch5.EmbeddedNavigator.ToolTip")
+ Me.GridControlSearch5.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
+ Me.GridControlSearch5.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridControlSearch5.EmbeddedNavigator.ToolTipTitle")
GridLevelNode6.RelationName = "Level1"
Me.GridControlSearch5.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode6})
Me.GridControlSearch5.MainView = Me.GridViewSearch5
@@ -510,6 +610,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch5.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch5.Appearance.SelectedRow.Options.UseBackColor = True
+ resources.ApplyResources(Me.GridViewSearch5, "GridViewSearch5")
Me.GridViewSearch5.GridControl = Me.GridControlSearch5
Me.GridViewSearch5.Name = "GridViewSearch5"
Me.GridViewSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -523,14 +624,14 @@ Partial Class frmValidatorSearch
'
'StatusStrip1
'
- Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsslblSQL})
resources.ApplyResources(Me.StatusStrip1, "StatusStrip1")
+ Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsslblSQL})
Me.StatusStrip1.Name = "StatusStrip1"
'
'tsslblSQL
'
- Me.tsslblSQL.Name = "tsslblSQL"
resources.ApplyResources(Me.tsslblSQL, "tsslblSQL")
+ Me.tsslblSQL.Name = "tsslblSQL"
'
'ToolStrip2
'
@@ -540,20 +641,52 @@ Partial Class frmValidatorSearch
'
'tslblDocID
'
- Me.tslblDocID.Name = "tslblDocID"
resources.ApplyResources(Me.tslblDocID, "tslblDocID")
+ Me.tslblDocID.Name = "tslblDocID"
'
'tslblState
'
+ resources.ApplyResources(Me.tslblState, "tslblState")
Me.tslblState.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.tslblState.Name = "tslblState"
- resources.ApplyResources(Me.tslblState, "tslblState")
+ '
+ 'ToolStrip1
+ '
+ resources.ApplyResources(Me.ToolStrip1, "ToolStrip1")
+ Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripDropDownButtonFile, Me.ToolStripButtonRefreshSearches})
+ Me.ToolStrip1.Name = "ToolStrip1"
+ '
+ 'ToolStripDropDownButtonFile
+ '
+ resources.ApplyResources(Me.ToolStripDropDownButtonFile, "ToolStripDropDownButtonFile")
+ Me.ToolStripDropDownButtonFile.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
+ Me.ToolStripDropDownButtonFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem1, Me.EigenschaftenToolStripMenuItem})
+ Me.ToolStripDropDownButtonFile.Image = Global.DD_ProcessManager.My.Resources.Resources.ID_FILE_PAGE_SETUP
+ Me.ToolStripDropDownButtonFile.Name = "ToolStripDropDownButtonFile"
+ '
+ 'DateiÖffnenToolStripMenuItem1
+ '
+ resources.ApplyResources(Me.DateiÖffnenToolStripMenuItem1, "DateiÖffnenToolStripMenuItem1")
+ Me.DateiÖffnenToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.OpenFileDialog_692
+ Me.DateiÖffnenToolStripMenuItem1.Name = "DateiÖffnenToolStripMenuItem1"
+ '
+ 'EigenschaftenToolStripMenuItem
+ '
+ resources.ApplyResources(Me.EigenschaftenToolStripMenuItem, "EigenschaftenToolStripMenuItem")
+ Me.EigenschaftenToolStripMenuItem.Image = Global.DD_ProcessManager.My.Resources.Resources.Properties
+ Me.EigenschaftenToolStripMenuItem.Name = "EigenschaftenToolStripMenuItem"
+ '
+ 'ToolStripButtonRefreshSearches
+ '
+ resources.ApplyResources(Me.ToolStripButtonRefreshSearches, "ToolStripButtonRefreshSearches")
+ Me.ToolStripButtonRefreshSearches.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG
+ Me.ToolStripButtonRefreshSearches.Name = "ToolStripButtonRefreshSearches"
'
'ContextMenuStripWMFile
'
+ resources.ApplyResources(Me.ContextMenuStripWMFile, "ContextMenuStripWMFile")
Me.ContextMenuStripWMFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EigenschaftenDateiToolStripMenuItem, Me.DateiÖffnenToolStripMenuItem, Me.ToolStripSeparator1, Me.ToolStripMenuItem1, Me.LayoutZurücksetzenToolStripMenuItem})
Me.ContextMenuStripWMFile.Name = "ContextMenuStrip1"
- resources.ApplyResources(Me.ContextMenuStripWMFile, "ContextMenuStripWMFile")
'
'EigenschaftenDateiToolStripMenuItem
'
@@ -567,36 +700,36 @@ Partial Class frmValidatorSearch
'
'ToolStripSeparator1
'
- Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1")
+ Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
'
'ToolStripMenuItem1
'
+ resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1")
Me.ToolStripMenuItem1.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
- resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1")
'
'LayoutZurücksetzenToolStripMenuItem
'
- Me.LayoutZurücksetzenToolStripMenuItem.Name = "LayoutZurücksetzenToolStripMenuItem"
resources.ApplyResources(Me.LayoutZurücksetzenToolStripMenuItem, "LayoutZurücksetzenToolStripMenuItem")
+ Me.LayoutZurücksetzenToolStripMenuItem.Name = "LayoutZurücksetzenToolStripMenuItem"
'
'ContextMenuStripSQL
'
+ resources.ApplyResources(Me.ContextMenuStripSQL, "ContextMenuStripSQL")
Me.ContextMenuStripSQL.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripSeparator2, Me.ToolStripMenuItem4})
Me.ContextMenuStripSQL.Name = "ContextMenuStrip1"
- resources.ApplyResources(Me.ContextMenuStripSQL, "ContextMenuStripSQL")
'
'ToolStripSeparator2
'
- Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
resources.ApplyResources(Me.ToolStripSeparator2, "ToolStripSeparator2")
+ Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
'
'ToolStripMenuItem4
'
+ resources.ApplyResources(Me.ToolStripMenuItem4, "ToolStripMenuItem4")
Me.ToolStripMenuItem4.Image = Global.DD_ProcessManager.My.Resources.Resources.refresh_16xLG
Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4"
- resources.ApplyResources(Me.ToolStripMenuItem4, "ToolStripMenuItem4")
'
'frmValidatorSearch
'
@@ -625,8 +758,6 @@ Partial Class frmValidatorSearch
Me.XtraTabPageDoc5.ResumeLayout(False)
CType(Me.GridControlDocSearch5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridViewDocSearch5, System.ComponentModel.ISupportInitialize).EndInit()
- Me.ToolStrip1.ResumeLayout(False)
- Me.ToolStrip1.PerformLayout()
Me.SplitContainerSearches.Panel1.ResumeLayout(False)
Me.SplitContainerSearches.Panel1.PerformLayout()
Me.SplitContainerSearches.Panel2.ResumeLayout(False)
@@ -654,6 +785,8 @@ Partial Class frmValidatorSearch
Me.StatusStrip1.PerformLayout()
Me.ToolStrip2.ResumeLayout(False)
Me.ToolStrip2.PerformLayout()
+ Me.ToolStrip1.ResumeLayout(False)
+ Me.ToolStrip1.PerformLayout()
Me.ContextMenuStripWMFile.ResumeLayout(False)
Me.ContextMenuStripSQL.ResumeLayout(False)
Me.ResumeLayout(False)
diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx
new file mode 100644
index 0000000..247e444
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmValidatorSearch.en-US.resx
@@ -0,0 +1,599 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+
+ 0, 0
+
+
+
+ Center
+
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+ 115, 22
+
+
+ Refresh Searches
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE
+ QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE
+ IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq
+ XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD
+ E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C
+ oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL
+ 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC
+ nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ
+ j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw
+ PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS
+ gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA
+ NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1
+ DBDPAAAAAElFTkSuQmCC
+
+
+
+
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMAAwEBAQEBAQEB
+ AQEBAQEDAAMBAgICAQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgIC
+ AQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgICAQICAgECAgIBAwAD
+ AQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAQEBAQEBAQEBAQEBAwADAQEBAQEBAQEBAQEB
+ AQMAAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAgAAAAIAAAACAAAAAgAAAAIAA
+ AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA=
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx
new file mode 100644
index 0000000..05a7294
--- /dev/null
+++ b/app/DD_PM_WINDREAM/frmValidatorSearch.fr-FR.resx
@@ -0,0 +1,593 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+
+ 0, 0
+
+
+
+ Center
+
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+
+
+
+ Default
+
+
+ Top, Left
+
+
+
+
+
+ Tile
+
+
+ Inherit
+
+
+ 0, 0
+
+
+ Center
+
+
+
+
+
+ None
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE
+ QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE
+ IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq
+ XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD
+ E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C
+ oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL
+ 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC
+ nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ
+ j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw
+ PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS
+ gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA
+ NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1
+ DBDPAAAAAElFTkSuQmCC
+
+
+
+
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMAAwEBAQEBAQEB
+ AQEBAQEDAAMBAgICAQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgIC
+ AQICAgECAgIBAwADAQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAgICAQICAgECAgIBAwAD
+ AQICAgECAgIBAgICAQMAAwEBAQEBAQEBAQEBAQEDAAMBAQEBAQEBAQEBAQEBAwADAQEBAQEBAQEBAQEB
+ AQMAAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAgAAAAIAAAACAAAAAgAAAAIAA
+ AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA=
+
+
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.resx b/app/DD_PM_WINDREAM/frmValidatorSearch.resx
index 65db51a..423fa50 100644
--- a/app/DD_PM_WINDREAM/frmValidatorSearch.resx
+++ b/app/DD_PM_WINDREAM/frmValidatorSearch.resx
@@ -117,737 +117,112 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Fill
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0, 0
-
-
- Fill
-
-
- 0, 0
-
-
- Fill
-
-
- 0, 0
-
-
- 349, 557
-
-
-
- 0
-
-
- GridControlDocSearch1
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageDoc1
-
-
- 0
-
-
- 349, 557
-
-
- XtraTabPage1
-
-
- XtraTabPageDoc1
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlDocs
-
-
- 0
-
-
- 351, 582
-
-
- 4
-
-
- Fill
-
-
- 0, 0
-
-
- 349, 557
-
-
- 1
-
-
- GridControlDocSearch2
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageDoc2
-
-
- 0
-
-
- 349, 557
-
-
- XtraTabPage2
-
-
- XtraTabPageDoc2
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlDocs
-
-
- 1
-
-
- Fill
-
-
- 0, 0
-
-
- 349, 557
-
-
- 1
-
-
- GridControlDocSearch3
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageDoc3
-
-
- 0
-
-
- 349, 557
-
-
- XtraTabPage1
-
-
- XtraTabPageDoc3
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlDocs
-
-
- 2
-
-
- Fill
-
-
- 0, 0
-
-
- 349, 557
-
-
- 1
-
-
- GridControlDocSearch4
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
XtraTabPageDoc4
-
- 0
-
-
- 349, 557
-
-
- XtraTabPage2
-
-
- XtraTabPageDoc4
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlDocs
-
-
- 3
-
-
- Fill
-
-
- 0, 0
-
-
- 349, 557
-
-
- 1
-
-
- GridControlDocSearch5
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageDoc5
-
-
- 0
-
-
- 349, 557
-
-
- XtraTabPage3
-
-
- XtraTabPageDoc5
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlDocs
-
-
- 4
-
-
- XtraTabControlDocs
-
-
- DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- SplitContainerControlDoc.Panel1
-
-
- 0
-
-
- Panel1
-
-
- Fill
-
-
- 0, 0
-
-
- 284, 582
-
-
- 0
-
-
- DocumentViewer1
-
-
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.0.4.1, Culture=neutral, PublicKeyToken=null
-
-
- SplitContainerControlDoc.Panel2
-
-
- 0
-
-
- Panel2
-
-
- 647, 582
-
-
- 6
-
-
- SplitContainerControlDoc
-
-
- DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- SplitContainerSearches.Panel2
-
-
- 0
-
-
- 17, 17
-
-
- 148, 22
-
-
- Öffnen
-
-
- 148, 22
-
-
- Eigenschaften
-
-
- Magenta
-
-
- 63, 22
-
-
- Datei
-
-
- Magenta
-
-
- 131, 22
-
-
- Aktualisiere Ansicht
-
-
- 0, 0
-
-
- 1214, 25
-
+
0
-
- ToolStrip1
-
-
- ToolStrip1
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- Fill
-
-
- 0, 25
-
-
- Fill
-
-
- 0, 0
-
-
- Fill
-
-
- 0, 0
-
-
- 561, 560
-
-
- 1
-
-
- GridControlSearch1
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageSearch1
-
-
- 0
-
-
- 561, 560
-
-
- Search1
-
-
- XtraTabPageSearch1
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlSQL
-
-
- 0
-
-
- 563, 585
-
-
- 4
-
-
- Fill
-
-
- 0, 0
-
-
- 561, 560
-
-
- 2
-
-
- GridControlSearch2
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageSearch2
-
-
- 0
-
-
- 561, 560
-
-
- Search2
-
-
- XtraTabPageSearch2
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlSQL
-
-
- 1
-
-
- Fill
-
-
- 0, 0
-
-
- 561, 560
-
-
- 2
-
-
- GridControlSearch3
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageSearch3
-
-
- 0
-
-
- 561, 560
-
-
- XtraTabPage1
-
-
- XtraTabPageSearch3
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlSQL
-
-
- 2
-
-
- Fill
-
-
- 0, 0
-
-
- 561, 560
-
-
- 2
-
-
- GridControlSearch4
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageSearch4
-
-
- 0
-
-
- 561, 560
-
-
- XtraTabPage2
-
-
- XtraTabPageSearch4
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlSQL
-
-
- 3
-
-
- Fill
-
-
- 0, 0
-
-
- 561, 560
-
-
- 2
-
-
- GridControlSearch5
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabPageSearch5
-
-
- 0
-
-
- 561, 560
-
-
- XtraTabPage3
-
-
- XtraTabPageSearch5
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- XtraTabControlSQL
-
-
- 4
-
-
- XtraTabControlSQL
-
-
- DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- SplitContainerSearches.Panel1
-
-
- 0
-
-
- 595, 17
-
-
- 91, 17
-
-
- No action so far
-
-
- 0, 585
-
-
- 563, 22
-
-
- 5
-
-
- StatusStrip1
-
-
- StatusStrip1
-
-
- System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- SplitContainerSearches.Panel1
-
-
- 1
-
-
- SplitContainerSearches.Panel1
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- SplitContainerSearches
-
-
- 0
-
-
- 316, 17
-
-
- Bottom
-
-
- 61, 22
-
-
- tslblDocID
-
-
- 91, 22
-
-
- No action so far
-
-
- 0, 582
-
-
- 647, 25
-
-
- 3
-
-
- ToolStrip2
-
-
- ToolStrip2
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
SplitContainerSearches.Panel2
-
- 1
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- SplitContainerSearches.Panel2
+
+ GridControlDocSearch5
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ XtraTabPageDoc1
-
- SplitContainerSearches
+
+
+
-
- 1
+
+
-
- 1214, 607
+
+ GridControlSearch2
-
- 3
+
+
-
- SplitContainerSearches
+
+ Eigenschaften
-
- System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- $this
-
-
+
2
-
- 124, 17
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
- JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE
- QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE
- IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq
- XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD
- E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C
- oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL
- 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC
- nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ
- j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw
- PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS
- gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA
- NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1
- DBDPAAAAAElFTkSuQmCC
-
+
+ System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 181, 22
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- Eigenschaften Datei
+
+ ContextMenuStripWMFile
+
+
+
+ Center
+
+
+ ToolStrip1
+
+
+ GridControlSearch1
+
+
+ ToolStrip1
+
+
+ 0
+
+
+
+ 0, 0
+
+
+ tslblState
+
+
+ 143, 32
+
+
+ XtraTabPage3
+
+
+ 91, 17
+
+
+
+ Default
+
+
+ XtraTabPage3
+
+
+ Default
+
+
+ 0, 0
+
+
+ Top, Left
+
+
+ Fill
@@ -906,71 +281,594 @@
NCptKjDqzVry2yqzA0rjAWR6W+0nUAO1/HuxaLC+AebHD8Ec7JqWAAAAAElFTkSuQmCC
-
- 181, 22
-
-
- Datei öffnen
-
-
- 178, 6
-
-
- 181, 22
-
-
- Aktualisieren
-
-
- 181, 22
-
-
- Layout zurücksetzen
-
-
- 182, 98
-
-
- ContextMenuStripWMFile
+
+
+ None
System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 423, 17
-
-
- 139, 6
+
+ 3
-
- 142, 22
+
+ Fill
-
- Aktualisieren
+
+ None
-
- 143, 32
+
+ 131, 22
-
- ContextMenuStripSQL
+
+
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ GridViewDocSearch1
+
+
+ 2
+
+
+ 349, 557
+
+
+ 0, 582
+
+
+ Tile
+
+
+ 148, 22
+
+
+
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GridViewSearch1
+
+
+
+
+
+ DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 0
+
+
+ Fill
+
+
+ Center
+
+
+ Center
+
+
+ ToolStrip2
+
+
+ Zusätzliche Suchen
+
+
+ Tile
System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- True
-
-
- 81
-
+
+ Fill
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 6
+
+
+ 181, 22
+
+
+
+
+
+ ToolStrip2
+
+
+ XtraTabPage2
+
+
+ No action so far
+
+
+
+
+
+ None
+
+
+ 563, 585
+
+
+ Layout zurücksetzen
+
+
+
+
+
+ XtraTabPageDoc2
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Fill
+
+
+ 0, 0
+
+
+ XtraTabPageDoc5
+
+
+ Öffnen
+
+
+ XtraTabPageDoc2
+
+
+ Default
+
+
+ 561, 560
+
+
+ XtraTabPage2
+
+
+ System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ 1
+
+
+ 0, 0
+
+
+ 349, 557
+
+
+ Tile
+
+
+ 0, 0
+
+
+
+
+
+ 284, 582
+
+
+ XtraTabPage1
+
+
+ Fill
+
+
+ GridControlSearch3
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
6, 13
-
- 1214, 632
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Tahoma, 8.25pt
+
+ XtraTabPageDoc3
+
+
+ 349, 557
+
+
+
+
+
+ 4
+
+
+ Fill
+
+
+ StatusStrip1
+
+
+ 561, 560
+
+
+ Fill
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 3
+
+
+ 1
+
+
+ Fill
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ DocumentViewer1
+
+
+ 561, 560
+
+
+ Inherit
+
+
+ 561, 560
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Inherit
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GridViewSearch4
+
+
+ 1
+
+
+ 1
+
+
+ XtraTabPageDoc5
+
+
+ Tile
+
+
+ Search2
+
+
+ Center
+
+
+ 0
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ None
+
+
+ Tile
+
+
+ 349, 557
+
+
+
+
+
+ System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0, 0
+
+
+ Fill
+
+
+ GridViewSearch5
+
+
+
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Panel1
+
+
+ None
+
+
+ XtraTabPageDoc1
+
+
+ SplitContainerControlDoc.Panel1
+
+
+
+
+
+ 2
+
+
+ SplitContainerSearches
+
+
+ Aktualisiere Ansicht
+
+
+ 63, 22
+
+
+ 2
+
+
+ 0, 0
+
+
+ GridControlDocSearch2
+
+
+ 0
+
+
+ SplitContainerSearches.Panel2
+
+
+ 1
+
+
+ 561, 560
+
+
+ 0, 0
+
+
+
+
+
+ 1
+
+
+ 0
+
+
+ XtraTabPageSearch3
+
+
+ Magenta
+
+
+ Inherit
+
+
+ DateiÖffnenToolStripMenuItem
+
+
+ 0
+
+
+ 0, 0
+
+
+ 1
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ SplitContainerSearches.Panel1
+
+
+ 61, 22
+
+
+ XtraTabPageSearch2
+
+
+
+
+
+ SplitContainerSearches.Panel1
+
+
+ 0
+
+
+ Magenta
+
+
+ GridControlDocSearch3
+
+
+ 181, 22
+
+
+ 0, 0
+
+
+ tslblDocID
+
+
+ XtraTabPageDoc3
+
+
+ 2
+
+
+ 349, 557
+
+
+ Top, Left
+
+
+ Top, Left
+
+
+ 0, 0
+
+
+
+
+
+ Fill
+
+
+ 0, 0
+
+
+ XtraTabControlDocs
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 349, 557
+
+
+ 0
+
+
+ XtraTabControlDocs
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 178, 6
+
+
+ Inherit
+
+
+
+
+
+ XtraTabPageSearch5
+
+
+ Bottom
+
+
+
+
+
+ XtraTabControlDocs
+
+
+ XtraTabControlSQL
+
+
+ DateiÖffnenToolStripMenuItem1
+
+
+ EigenschaftenDateiToolStripMenuItem
+
+
+ SplitContainerSearches
+
+
+
+
+
+
+
+
+ tslblDocID
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ XtraTabPageSearch4
+
+
+
+
+
+ 0
+
+
+ Center
+
+
+ None
+
+
+ GridViewSearch2
+
+
+ 4
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabControlDocs
+
+
+ GridViewDocSearch3
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 0, 0
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=null
+
+
+ SplitContainerSearches
@@ -1005,157 +903,625 @@
AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA=
-
- Zusätzliche Suchen
-
-
- GridViewDocSearch1
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- GridViewDocSearch2
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- GridViewDocSearch3
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- GridViewDocSearch4
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- GridViewDocSearch5
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- ToolStripDropDownButtonFile
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- DateiÖffnenToolStripMenuItem1
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- EigenschaftenToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ToolStripButtonRefreshSearches
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- GridViewSearch1
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- GridViewSearch2
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ GridControlSearch4
GridViewSearch3
-
+
+ Datei öffnen
+
+
+ XtraTabPageDoc4
+
+
+ GridControlSearch5
+
+
+ 0
+
+
+ 349, 557
+
+
DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- GridViewSearch4
+
+ 0
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 0, 25
-
- GridViewSearch5
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- tsslblSQL
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tslblDocID
-
-
- System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tslblState
-
-
- System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- EigenschaftenDateiToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- DateiÖffnenToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ToolStripSeparator1
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ToolStripMenuItem1
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- LayoutZurücksetzenToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ToolStripSeparator2
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Top, Left
ToolStripMenuItem4
-
+
+ None
+
+
+ 561, 560
+
+
+ Datei
+
+
+ 0
+
+
+ 181, 22
+
+
+ None
+
+
+ 1214, 25
+
+
+ Top, Left
+
+
+ GridViewDocSearch5
+
+
+ 0
+
+
+ XtraTabControlDocs
+
+
+ XtraTabPageSearch4
+
+
+ Inherit
+
+
+ System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ XtraTabPageSearch5
+
+
+
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ LayoutZurücksetzenToolStripMenuItem
+
+
+ 148, 22
+
+
+ SplitContainerSearches.Panel2
+
+
+ Center
+
+
+ None
+
+
+ ContextMenuStripSQL
+
+
+
+
+
+ Search1
+
+
+ 3
+
+
+ ToolStripMenuItem1
+
+
+ 351, 582
+
+
+ 0
+
+
+ GridViewDocSearch2
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 0, 0
+
+
+ Center
+
+
+ Tile
+
+
+ Top, Left
+
+
+ Center
+
+
+ 5
+
+
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkUlE
+ QVRIS8XQXUhTYRwGcAkiqBuDhKAi6ia8kZp3QeS6iGjqnBtT0UqDNAtSJoKNokFuIUpG0kxKCVtWY5lE
+ IFmBmuG0D20jQ/Nrs0UzV2Yy9/307uSpA/317pwO/HjPeQ7v/33OSQDwX5GhlMhQSmQoJTKUEhmupMNq
+ XmtraRh71m6aNlaVHHp8xxC53WjALbMBTfV6NBgrYCjPj5lr9Xq1TX6J6abmCJHhajqtrW1L06a209oD
+ E/h6BryQW4fFDyUYf65BrU6FmpulML42si30HB4ZrsZyw5RaliN3wXcS7ddzucODLh2WJk5hYUgLX78C
+ oa6daGs9BvYH2BZ6Do8Mhc43T4Fn7RqDzVKP4MwFXKtWI15CuXc3/B9L8dORC9+LNMw+3YO5extRdyUL
+ 8hYZG0HP5ZGhUPxgy0vgyYCHO9zvuojyIgXcb/QoKczmSmTtk2PqkQz2pm3oa0jC5eOboCpOw/7GZDaC
+ nssjQ6F4gc7BH9zhHqeJO7zm6l22HsZkTxHyMnKA4e1I3ZWE9esSkbJjDU5olcivyoOsbjMbQc/lkaFQ
+ j/0dWwCv143qyqPwfJrint8O9nIlRu6nYEviBhQWHIG52RJ/xe1LLt56lvnzvBIyFOILIBr+bfmKxGKw
+ PeiArkAO5+gMZnzAwUxN/BU5ZyVkKNTd/2+BKDs8EI5hwR/Fl/kIZ9wrUoHeASdbgNaHfZyY4F5oxCNS
+ gR67gy3sWv4DEdYgEIri+2IYn7+FMekNweEOYNgtcgH+S4Osh/DLea8mo+IUsA+NsoVdy3/Az255c0HA
+ NQ+8nwUcjCgFKirPQaHIRIZS85dKi/QsNRTKbKQz8VWRqRKngNjIUEpkKCUylBIZSokMpYOEXxgRTAe1
+ DBDPAAAAAElFTkSuQmCC
+
+
+
+
+
frmValidatorSearch
-
- System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ SplitContainerControlDoc
+
+ Inherit
+
+
+ 0, 0
+
+
+ 647, 25
+
+
+ Tahoma, 8.25pt
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Top, Left
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ No action so far
+
+
+ XtraTabControlSQL
+
+
+ 91, 22
+
+
+
+
+
+ 349, 557
+
+
+ XtraTabControlSQL
+
+
+ Inherit
+
+
+ Default
+
+
+ GridViewDocSearch4
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Aktualisieren
+
+
+ 0, 0
+
+
+ Fill
+
+
+ 142, 22
+
+
+ Inherit
+
+
+ Top, Left
+
+
+ 0
+
+
+
+
+
+ Eigenschaften Datei
+
+
+ Inherit
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 563, 22
+
+
+ 349, 557
+
+
+ 3
+
+
+ 0
+
+
+ XtraTabPageSearch2
+
+
+ Default
+
+
+ 139, 6
+
+
+ 3
+
+
+
+
+
+ ToolStripSeparator2
+
+
+ 0, 0
+
+
+ XtraTabPageSearch3
+
+
+ 2
+
+
+ Tile
+
+
+ $this
+
+
+ ToolStripButtonRefreshSearches
+
+
+ Fill
+
+
+ Default
+
+
+ Fill
+
+
+ XtraTabPage1
+
+
+ ToolStripDropDownButtonFile
+
+
+ 0, 0
+
+
+ 0
+
+
+ XtraTabControlSQL
+
+
+ $this
+
+
+
+
+
+ 0, 0
+
+
+
+
+
+
+
+
+
+
+
+ 0, 0
+
+
+ StatusStrip1
+
+
+ XtraTabPageSearch1
+
+
+ Default
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 561, 560
+
+
+ SplitContainerSearches.Panel1
+
+
+ tsslblSQL
+
+
+
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabControlDocs
+
+
+
+
+
+ Default
+
+
+ DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 0, 0
+
+
+ Aktualisieren
+
+
+ 1
+
+
+ 0, 0
+
+
+ Top, Left
+
+
+ Default
+
+
+ XtraTabControlSQL
+
+
+ 1
+
+
+
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+
+
+
+ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ EigenschaftenToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0, 0
+
+
+ 349, 557
+
+
+ 1214, 632
+
+
+ None
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 2
+
+
+ 4
+
+
+ XtraTabControlSQL
+
+
+ 1214, 607
+
+
+ Center
+
+
+ 647, 582
+
+
+
+
+
+
+
+
+ XtraTabPage2
+
+
+ 0, 0
+
+
+
+
+
+ Panel2
+
+
+
+
+
+ GridControlDocSearch1
+
+
+
+
+
+ Default
+
+
+ Inherit
+
+
+ 0, 585
+
+
+ 561, 560
+
+
+
+
+
+
+
+
+ Center
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 0
+
+
+ Top, Left
+
+
+
+
+
+ ToolStripSeparator1
+
+
+ Tile
+
+
+ Fill
+
+
+ 181, 22
+
+
+ Tile
+
+
+
+
+
+ 4
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabPageSearch1
+
+
+ 182, 98
+
+
+ System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ XtraTabPage1
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GridControlDocSearch4
+
+
+ 561, 560
+
+
+ Tile
+
+
+ 561, 560
+
+
+ 0
+
+
+ SplitContainerControlDoc.Panel2
+
+
+ 0, 0
+
+
+ 17, 17
+
+
+ en-US
+
+
+ 316, 17
+
+
+ True
+
+
+ 595, 17
+
+
+ 81
+
+
+ 124, 17
+
+
+ 423, 17
+
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/packages.config b/app/DD_PM_WINDREAM/packages.config
index f89fa32..63f3075 100644
--- a/app/DD_PM_WINDREAM/packages.config
+++ b/app/DD_PM_WINDREAM/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file