From 386e3b62b5d267b57d4aa686f0e595d00fcaeb01 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 5 Jun 2020 13:49:20 +0200 Subject: [PATCH] 2.4.1.7 Logging SQL from Task, replacing ' --- app/DD_PM_WINDREAM/ClassDatabase.vb | 132 ++-- app/DD_PM_WINDREAM/ClassFinalizeDoc.vb | 7 +- app/DD_PM_WINDREAM/ClassInit.vb | 29 +- app/DD_PM_WINDREAM/ClassUser.vb | 23 - app/DD_PM_WINDREAM/ClassWindream_allgemein.vb | 4 +- .../DD_DMSLiteDataSet.Designer.vb | 105 ++- app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xsd | 64 +- app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xss | 2 +- app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj | 1 - app/DD_PM_WINDREAM/ModuleControlProperties.vb | 11 +- app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb | 2 +- app/DD_PM_WINDREAM/clsPatterns.vb | 60 +- app/DD_PM_WINDREAM/frmAdministration.vb | 4 +- app/DD_PM_WINDREAM/frmFormDesigner.vb | 98 +-- app/DD_PM_WINDREAM/frmGhostMode.vb | 4 +- app/DD_PM_WINDREAM/frmInvDashboard.vb | 4 +- app/DD_PM_WINDREAM/frmMain.vb | 32 +- app/DD_PM_WINDREAM/frmMassValidator.vb | 28 +- app/DD_PM_WINDREAM/frmMonitor.vb | 10 +- app/DD_PM_WINDREAM/frmSQL_Admin.vb | 2 +- app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb | 6 +- app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb | 4 +- app/DD_PM_WINDREAM/frmValidator.resx | 38 +- app/DD_PM_WINDREAM/frmValidator.vb | 683 +++++++++++++----- app/DD_PM_WINDREAM/frmValidatorSearch.vb | 12 +- 25 files changed, 892 insertions(+), 473 deletions(-) delete mode 100644 app/DD_PM_WINDREAM/ClassUser.vb diff --git a/app/DD_PM_WINDREAM/ClassDatabase.vb b/app/DD_PM_WINDREAM/ClassDatabase.vb index d2ae63c..91d6e4f 100644 --- a/app/DD_PM_WINDREAM/ClassDatabase.vb +++ b/app/DD_PM_WINDREAM/ClassDatabase.vb @@ -7,7 +7,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) + Dim DTConnection As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id, "Get_ConnectionString") If DTConnection.Rows.Count = 1 Then Select Case DTConnection.Rows(0).Item("SQL_PROVIDER").ToString.ToUpper Case "MS-SQL" @@ -57,36 +57,42 @@ Public Class ClassDatabase End Try End Function - Public Shared Function Return_Datatable(Select_anweisung As String, Optional userInput As Boolean = False) + Public Shared Function Return_Datatable(pSQLCommand As String, Optional pInfo As String = "") Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand - LOGGER.Debug("ReturnDatatable: " & Select_anweisung) + LOGGER.Debug($"Return_Datatable[{pSQLCommand}]#{pInfo}") SQLconnect.ConnectionString = SQLSERVERConnectionString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = Select_anweisung - LOGGER.Debug("Execute ReturnDatatable: " & Select_anweisung) + SQLcommand.CommandText = pSQLCommand + LOGGER.Debug("Execute ReturnDatatable: " & pSQLCommand) Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand) Dim dt As DataTable = New DataTable() adapter1.Fill(dt) SQLconnect.Close() Return dt Catch ex As Exception - LOGGER.Warn($"Unexpected Error in Return_Datatable: {ex.Message} [{Select_anweisung}]") + LOGGER.Warn($"Unexpected Error in Return_Datatable{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function - Public Shared Function Return_Datatable_ConId(SQLCommand As String, ConnID As Integer, Optional userInput As Boolean = False) + Public Shared Function Return_Datatable_ConId(pSQLCommand As String, ConnID As Integer, Optional pInfo As String = "") Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim oConnString = Get_ConnectionString(ConnID) - LOGGER.Debug($"Return_Datatable_ConId [{ConnID}]: " & SQLCommand) + LOGGER.Debug($"Return_Datatable_ConId [{ConnID}]#[{pSQLCommand}]#{pInfo}") Dim oSQLconnect As New SqlClient.SqlConnection Dim oSQLcommand As SqlClient.SqlCommand oSQLconnect.ConnectionString = oConnString oSQLconnect.Open() oSQLcommand = oSQLconnect.CreateCommand - oSQLcommand.CommandText = SQLCommand + oSQLcommand.CommandText = pSQLCommand Dim oSQLAdapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(oSQLcommand) Dim oReturnDatatable As DataTable = New DataTable() @@ -94,22 +100,23 @@ Public Class ClassDatabase oSQLconnect.Close() Return oReturnDatatable Catch ex As Exception - LOGGER.Warn($"Unexpected Error in Return_Datatable_ConId: {ex.Message} [{SQLCommand}]") - If userInput = True Then - MsgBox("Error in Return_Datatable_ConId - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & SQLCommand, MsgBoxStyle.Critical) - End If + LOGGER.Warn($"Unexpected Error in Return_Datatable_ConId{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function - Public Shared Function Return_Datatable_ConStr(SQLCommand As String, ConNStr As String, Optional userInput As Boolean = False) + Public Shared Function Return_Datatable_ConStr(pSQLCommand As String, ConNStr As String, Optional pInfo As String = "") Try - LOGGER.Debug("Return_Datatable_ConStr: " & SQLCommand) + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If + LOGGER.Debug("Return_Datatable_ConStr: " & pSQLCommand) + Dim oSQLconnect As New SqlClient.SqlConnection Dim oSQLcommand As SqlClient.SqlCommand oSQLconnect.ConnectionString = ConNStr oSQLconnect.Open() oSQLcommand = oSQLconnect.CreateCommand - oSQLcommand.CommandText = SQLCommand + oSQLcommand.CommandText = pSQLCommand Dim oSQLAdapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(oSQLcommand) Dim oReturnDatatable As DataTable = New DataTable() @@ -117,68 +124,60 @@ Public Class ClassDatabase oSQLconnect.Close() Return oReturnDatatable Catch ex As Exception - LOGGER.Warn($"Unexpected Error in Return_Datatable_ConStr: {ex.Message} [{SQLCommand}]") - If userInput = True Then - MsgBox("Error in Return_Datatable_ConStr - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & SQLCommand, MsgBoxStyle.Critical) - End If + LOGGER.Warn($"Unexpected Error in Return_Datatable_ConStr{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function - Public Shared Function Execute_non_Query(ExecuteCMD As String, Optional userInput As Boolean = False) + Public Shared Function Execute_non_Query(pSQLCommand As String, Optional pInfo As String = "") Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand SQLconnect.ConnectionString = SQLSERVERConnectionString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'Update Last Created Record in Foo - SQLcommand.CommandText = ExecuteCMD - LOGGER.Debug("Execute_non_Query Created: " & ExecuteCMD) + SQLcommand.CommandText = pSQLCommand + LOGGER.Debug("Execute_non_Query Created: " & pSQLCommand) SQLcommand.ExecuteNonQuery() SQLcommand.Dispose() SQLconnect.Close() Return True Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical) - End If - Clipboard.SetText("Error ExecuteCMD: " & ex.Message & vbNewLine & "SQL: " & ExecuteCMD) - LOGGER.Info("Fehler bei Execute_non_Query: " & ex.Message, True) - LOGGER.Info("#SQL: " & ExecuteCMD, False) - + LOGGER.Warn($"Unexpected Error in Execute_non_Query{pInfo}: {ex.Message} [{pSQLCommand}]") Return False End Try End Function - Public Shared Function Execute_non_Query_ConStr(ExecuteCMD As String, ConnString As String, Optional userInput As Boolean = False) + Public Shared Function Execute_non_Query_ConStr(pSQLCommand As String, ConnString As String, Optional pInfo As String = "") Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand SQLconnect.ConnectionString = ConnString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'Update Last Created Record in Foo - SQLcommand.CommandText = ExecuteCMD - LOGGER.Debug("Execute_non_Query_ConStr Created: " & ExecuteCMD) + SQLcommand.CommandText = pSQLCommand + LOGGER.Debug("Execute_non_Query_ConStr Created: " & pSQLCommand) SQLcommand.ExecuteNonQuery() SQLcommand.Dispose() SQLconnect.Close() Return True Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute_non_Query_ConStr - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical) - End If - Clipboard.SetText("Error Execute_non_Query_ConStr: " & ex.Message & vbNewLine & "SQL: " & ExecuteCMD) - LOGGER.Info("Fehler bei Execute_non_Query_ConStr: " & ex.Message, True) - LOGGER.Info("#SQL: " & ExecuteCMD, False) - + LOGGER.Warn($"Unexpected Error in Execute_non_Query_ConStr{pInfo}: {ex.Message} [{pSQLCommand}]") Return False End Try End Function - Public Shared Function Execute_Scalar(cmdscalar As String, ConString As String, Optional userInput As Boolean = False) + Public Shared Function Execute_Scalar(pSQLCommand As String, ConString As String, Optional pInfo As String = "") Dim result Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand SQLconnect.ConnectionString = ConString @@ -186,74 +185,61 @@ Public Class ClassDatabase SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'Update Last Created Record in Foo - SQLcommand.CommandText = cmdscalar - LOGGER.Debug("Execute_Scalar: " & cmdscalar) + SQLcommand.CommandText = pSQLCommand + LOGGER.Debug("Execute_Scalar: " & pSQLCommand) result = SQLcommand.ExecuteScalar() SQLcommand.Dispose() SQLconnect.Close() Return result Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute Scalar - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & cmdscalar, MsgBoxStyle.Critical) - End If - Clipboard.SetText("Error Execute_Scalar: " & ex.Message & vbNewLine & "SQL: " & cmdscalar) - LOGGER.Info("Fehler bei Execute_Scalar: " & ex.Message, True) - LOGGER.Info("#SQL: " & cmdscalar, False) + LOGGER.Warn($"Unexpected Error in Execute_Scalar{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function - Public Shared Function Execute_Scalar_ConStr(cmdscalar As String, ConString As String, Optional userInput As Boolean = False) + Public Shared Function Execute_Scalar_ConStr(pSQLCommand As String, ConString As String, Optional pInfo As String = "") Dim result Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand SQLconnect.ConnectionString = ConString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'Update Last Created Record in Foo - SQLcommand.CommandText = cmdscalar - LOGGER.Debug("Execute_Scalar_ConStr Scalar: " & cmdscalar) + SQLcommand.CommandText = pSQLCommand + LOGGER.Debug("Execute_Scalar_ConStr Scalar: " & pSQLCommand) result = SQLcommand.ExecuteScalar() SQLcommand.Dispose() SQLconnect.Close() Return result Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute_Scalar_ConStr - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & cmdscalar, MsgBoxStyle.Critical) - End If - Clipboard.SetText("Error Execute_Scalar_ConStr: " & ex.Message & vbNewLine & "SQL: " & cmdscalar) - LOGGER.Info("Fehler bei Execute_Scalar_ConStr: " & ex.Message, True) - LOGGER.Info("#SQL: " & cmdscalar, False) + LOGGER.Warn($"Unexpected Error in Execute_Scalar_ConStr{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function - Public Shared Function Execute_Scalar_ConID(cmdscalar As String, ConnID As Integer, Optional userInput As Boolean = False) + Public Shared Function Execute_Scalar_ConID(pSQLCommand As String, ConnID As Integer, Optional pInfo As String = "") Dim result Try + If pInfo <> "" Then + pInfo = "[" & pInfo & "]" + End If Dim oConnString = Get_ConnectionString(ConnID) - LOGGER.Debug($"Execute_Scalar_ConID [{ConnID}]: " & cmdscalar) - + LOGGER.Debug($"Execute_Scalar_ConID [{ConnID}]: " & pSQLCommand) Dim SQLconnect As New SqlClient.SqlConnection Dim SQLcommand As SqlClient.SqlCommand SQLconnect.ConnectionString = oConnString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'Update Last Created Record in Foo - SQLcommand.CommandText = cmdscalar + SQLcommand.CommandText = pSQLCommand result = SQLcommand.ExecuteScalar() SQLcommand.Dispose() SQLconnect.Close() Return result Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute_Scalar_ConStr - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & cmdscalar, MsgBoxStyle.Critical) - End If - Clipboard.SetText("Error Execute_Scalar_ConStr: " & ex.Message & vbNewLine & "SQL: " & cmdscalar) - LOGGER.Info("Fehler bei Execute_Scalar_ConStr: " & ex.Message, True) - LOGGER.Info("#SQL: " & cmdscalar, False) + LOGGER.Warn($"Unexpected Error in Execute_Scalar_ConID{pInfo}: {ex.Message} [{pSQLCommand}]") Return Nothing End Try End Function diff --git a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb index 041a15a..d7a0f13 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)) + CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(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 @@ -39,10 +39,9 @@ 'Next Dim sql_Statement = clsPatterns.ReplaceUserValues(dr.Item("SQL_COMMAND"), USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) sql_Statement = clsPatterns.ReplaceInternalValues(sql_Statement) - sql_Statement = clsPatterns.ReplaceWindreamIndicies(sql_Statement, WMObject) - + sql_Statement = clsPatterns.ReplaceWindreamIndicies(sql_Statement, WMObject, True) LOGGER.Debug("sql after ReplaceAllValues: " & sql_Statement) - Dim dynamic_value = ClassDatabase.Execute_Scalar(sql_Statement, CONNECTION_STRING, True) + Dim dynamic_value = ClassDatabase.Execute_Scalar(sql_Statement, CONNECTION_STRING, "Write_Final_Metadata/dynamic_value") If Not IsNothing(dynamic_value) Then value = dynamic_value Else diff --git a/app/DD_PM_WINDREAM/ClassInit.vb b/app/DD_PM_WINDREAM/ClassInit.vb index e57d5d2..5f079f1 100644 --- a/app/DD_PM_WINDREAM/ClassInit.vb +++ b/app/DD_PM_WINDREAM/ClassInit.vb @@ -106,7 +106,7 @@ Public Class ClassInit Dim oStopWatch As New RefreshHelper.SW("Refresh_Licence") Try Me._lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "") - Dim lic As String = BASEDATA_DT_CONFIG.Rows(0).Item("LIZENZEN") ' ClassDatabase.Execute_Scalar("SELECT LIZENZEN FROM TBPM_KONFIGURATION WHERE (GUID = 1)", MyConnectionString) + Dim lic As String = BASEDATA_DT_CONFIG.Rows(0).Item("LIZENZEN") Dim licString = Me._lizenzManager.DecodeLicenseKey(lic) Dim split() = licString.ToString.Split("#") @@ -139,7 +139,7 @@ Public Class ClassInit Try Dim oSQLSW As New RefreshHelper.SW("VWDD_USER_CLIENT") Dim oSQL = $"SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{USER_USERNAME}')" - DT_CLIENT_USER = ClassDatabase.Return_Datatable(oSQL, False) + DT_CLIENT_USER = ClassDatabase.Return_Datatable(oSQL, "InitUserLogin1") oSQLSW.Done() If DT_CLIENT_USER.Rows.Count > 1 Then @@ -163,7 +163,7 @@ Public Class ClassInit LOGGER.Debug("Username: " & USER_USERNAME) Dim oFnct As New RefreshHelper.SW("FNDD_CHECK_USER_MODULE") Dim sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED) - Dim DT_CHECKUSER_MODULE As DataTable = ClassDatabase.Return_Datatable(sql) + Dim DT_CHECKUSER_MODULE As DataTable = ClassDatabase.Return_Datatable(sql, "InitUserLogin2") oFnct.Done() If DT_CHECKUSER_MODULE.Rows.Count = 0 Then LOGGER.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) @@ -233,11 +233,6 @@ Public Class ClassInit If ClassAllgemeineFunktionen.LoginOut("LOGIN") = True Then USERCOUNT_LOGGED_IN += 1 End If - - 'sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1) - ' USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) - 'sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Process-Manager'" - 'ClassDatabase.Execute_non_Query(sql, True) LOGGER.Debug("Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString) If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") @@ -262,28 +257,28 @@ Public Class ClassInit Try Dim oStopWatch As New RefreshHelper.SW("InitBasics") Dim oSql = String.Format("select * from TBPM_KONFIGURATION WHERE GUID = 1") - BASEDATA_DT_CONFIG = ClassDatabase.Return_Datatable(oSql) + BASEDATA_DT_CONFIG = ClassDatabase.Return_Datatable(oSql, "InitBasics1") Settings_LoadBasicConfig() oSql = "select * from TBDD_CONNECTION WHERE AKTIV = 1" - BASEDATA_DT_TBDD_CONNECTION = ClassDatabase.Return_Datatable(oSql) + BASEDATA_DT_TBDD_CONNECTION = ClassDatabase.Return_Datatable(oSql, "InitBasics2") oSql = "Select * FROM TBDD_3RD_PARTY_MODULES WHERE ACTIVE = 1" - Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSql) + Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSql, "InitBasics3") For Each oROW As DataRow In oDT.Rows If oROW.Item("NAME") = "GDPICTURE" Then GDPICTURE_LICENSE = oROW.Item("LICENSE") End If Next oSql = "SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE IN ('PM','All Modules')" - BASEDATA_DT_GUI_LANGUAGE_PHRASES = ClassDatabase.Return_Datatable(oSql) + BASEDATA_DT_GUI_LANGUAGE_PHRASES = ClassDatabase.Return_Datatable(oSql, "InitBasics4") - BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX") + BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "InitBasics5") BASEDATA_DT_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone() - BASEDATA_DTGRID_GROUPS = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1") + BASEDATA_DTGRID_GROUPS = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1", "InitBasics6") oSql = "SELECT * FROM TBPM_CHART" - BASEDATA_DT_CHARTS = ClassDatabase.Return_Datatable(oSql) + BASEDATA_DT_CHARTS = ClassDatabase.Return_Datatable(oSql, "InitBasics7") oStopWatch.Done() Catch ex As Exception LOGGER.Error(ex) @@ -296,7 +291,7 @@ Public Class ClassInit Try Dim oStopWatch As New RefreshHelper.SW("InitBasics2") Dim oSql = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID = {0}", USER_ID) - BASEDATA_DT_VW_PROFILE_USER = ClassDatabase.Return_Datatable(oSql) + BASEDATA_DT_VW_PROFILE_USER = ClassDatabase.Return_Datatable(oSql, "InitBasics2_1") oStopWatch.Done() Catch ex As Exception LOGGER.Error(ex) @@ -308,7 +303,7 @@ Public Class ClassInit Private Shared Function Settings_LoadBasicConfig() Try Dim sql As String = "select * from tbdd_Modules where SHORT_NAME = 'PM'" - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql) + Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Settings_LoadBasicConfig") If DT.Rows.Count = 1 Then Try VERSION_DELIMITER = DT.Rows(0).Item("VERSION_DELIMITER") diff --git a/app/DD_PM_WINDREAM/ClassUser.vb b/app/DD_PM_WINDREAM/ClassUser.vb deleted file mode 100644 index 0938bed..0000000 --- a/app/DD_PM_WINDREAM/ClassUser.vb +++ /dev/null @@ -1,23 +0,0 @@ -Public Class ClassUser - Public Shared Function Check_User_Exists_in_UMGroups() - Try - Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'UM_ADMINS'", USER_ID) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sel) - If Not IsNothing(DT) Then - If DT.Rows.Count = 1 Then - LOGGER.Debug("User is in UM_ADMINS-Group....") - Return True - Else - Return False - End If - Else - Return False - End If - - Catch ex As Exception - LOGGER.Error(ex) - MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Check_User_Exists_in_UMGroups:") - Return False - End Try - End Function -End Class diff --git a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb index ce78987..294400d 100644 --- a/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb +++ b/app/DD_PM_WINDREAM/ClassWindream_allgemein.vb @@ -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) + Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "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) + Dim userExistsInServerUserGroup = ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "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_DMSLiteDataSet.Designer.vb b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.Designer.vb index e3b7e66..a3d58c6 100644 --- a/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.Designer.vb +++ b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.Designer.vb @@ -5228,6 +5228,10 @@ Partial Public Class DD_DMSLiteDataSet Private columnSQL_ENABLE_ON_LOAD As Global.System.Data.DataColumn + Private columnSQL_ENABLE_ON_LOAD_CONID As Global.System.Data.DataColumn + + Private columnCONTROL_ACTIVE As Global.System.Data.DataColumn + _ Public Sub New() @@ -5559,6 +5563,22 @@ Partial Public Class DD_DMSLiteDataSet End Get End Property + _ + Public ReadOnly Property SQL_ENABLE_ON_LOAD_CONIDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnSQL_ENABLE_ON_LOAD_CONID + End Get + End Property + + _ + Public ReadOnly Property CONTROL_ACTIVEColumn() As Global.System.Data.DataColumn + Get + Return Me.columnCONTROL_ACTIVE + End Get + End Property + _ @@ -5632,9 +5652,11 @@ Partial Public Class DD_DMSLiteDataSet ByVal SQL2 As String, _ ByVal SQL_ENABLE As String, _ ByVal SET_CONTROL_DATA As String, _ - ByVal SQL_ENABLE_ON_LOAD As String) As TBPM_PROFILE_CONTROLSRow + ByVal SQL_ENABLE_ON_LOAD As String, _ + ByVal SQL_ENABLE_ON_LOAD_CONID As Byte, _ + ByVal CONTROL_ACTIVE As Boolean) As TBPM_PROFILE_CONTROLSRow Dim rowTBPM_PROFILE_CONTROLSRow As TBPM_PROFILE_CONTROLSRow = CType(Me.NewRow,TBPM_PROFILE_CONTROLSRow) - Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD} + Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE} If (Not (parentTBPM_PROFILERowByFK_TBPM_PROFILE_CONTROLS_PROFILE1) Is Nothing) Then columnValuesArray(1) = parentTBPM_PROFILERowByFK_TBPM_PROFILE_CONTROLS_PROFILE1(0) End If @@ -5703,6 +5725,8 @@ Partial Public Class DD_DMSLiteDataSet Me.columnSQL_ENABLE = MyBase.Columns("SQL_ENABLE") Me.columnSET_CONTROL_DATA = MyBase.Columns("SET_CONTROL_DATA") Me.columnSQL_ENABLE_ON_LOAD = MyBase.Columns("SQL_ENABLE_ON_LOAD") + Me.columnSQL_ENABLE_ON_LOAD_CONID = MyBase.Columns("SQL_ENABLE_ON_LOAD_CONID") + Me.columnCONTROL_ACTIVE = MyBase.Columns("CONTROL_ACTIVE") End Sub _ Public Property CTRL_TEXT() As String Get - Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.CTRL_TEXTColumn),String) + Try + Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.CTRL_TEXTColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte CTRL_TEXT in Tabelle TBPM_PROFILE_CONTROLS ist DBNull.", e) + End Try End Get Set Me(Me.tableTBPM_PROFILE_CONTROLS.CTRL_TEXTColumn) = value @@ -12694,6 +12726,33 @@ Partial Public Class DD_DMSLiteDataSet End Set End Property + _ + Public Property SQL_ENABLE_ON_LOAD_CONID() As Byte + Get + Try + Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOAD_CONIDColumn),Byte) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte SQL_ENABLE_ON_LOAD_CONID in Tabelle TBPM_PROFILE_CONTROLS ist"& _ + " DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOAD_CONIDColumn) = value + End Set + End Property + + _ + Public Property CONTROL_ACTIVE() As Boolean + Get + Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.CONTROL_ACTIVEColumn),Boolean) + End Get + Set + Me(Me.tableTBPM_PROFILE_CONTROLS.CONTROL_ACTIVEColumn) = value + End Set + End Property + _ Public Property TBPM_PROFILERow() As TBPM_PROFILERow @@ -12705,6 +12764,18 @@ Partial Public Class DD_DMSLiteDataSet End Set End Property + _ + Public Function IsCTRL_TEXTNull() As Boolean + Return Me.IsNull(Me.tableTBPM_PROFILE_CONTROLS.CTRL_TEXTColumn) + End Function + + _ + Public Sub SetCTRL_TEXTNull() + Me(Me.tableTBPM_PROFILE_CONTROLS.CTRL_TEXTColumn) = Global.System.Convert.DBNull + End Sub + _ Public Function IsCHANGED_WHONull() As Boolean @@ -12921,6 +12992,18 @@ Partial Public Class DD_DMSLiteDataSet Me(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOADColumn) = Global.System.Convert.DBNull End Sub + _ + Public Function IsSQL_ENABLE_ON_LOAD_CONIDNull() As Boolean + Return Me.IsNull(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOAD_CONIDColumn) + End Function + + _ + Public Sub SetSQL_ENABLE_ON_LOAD_CONIDNull() + Me(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOAD_CONIDColumn) = Global.System.Convert.DBNull + End Sub + _ Public Function GetTBPM_CONTROL_TABLERows() As TBPM_CONTROL_TABLERow() @@ -20886,6 +20969,8 @@ Namespace DD_DMSLiteDataSetTableAdapters tableMapping.ColumnMappings.Add("SQL_ENABLE", "SQL_ENABLE") tableMapping.ColumnMappings.Add("SET_CONTROL_DATA", "SET_CONTROL_DATA") tableMapping.ColumnMappings.Add("SQL_ENABLE_ON_LOAD", "SQL_ENABLE_ON_LOAD") + tableMapping.ColumnMappings.Add("SQL_ENABLE_ON_LOAD_CONID", "SQL_ENABLE_ON_LOAD_CONID") + tableMapping.ColumnMappings.Add("CONTROL_ACTIVE", "CONTROL_ACTIVE") Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection @@ -21023,8 +21108,9 @@ Namespace DD_DMSLiteDataSetTableAdapters "FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAU"& _ "LT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _ " REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL"& _ - "2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFIL"& _ - "E_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @guid)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC" + "2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, C"& _ + "ONTROL_ACTIVE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @guid"& _ + ")"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@guid", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand() @@ -21103,8 +21189,9 @@ Namespace DD_DMSLiteDataSetTableAdapters " REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TY"& _ "P, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, I"& _ "MAGE_CONTROL, SQL2, SQL_ENABLE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SET_CONTROL_DATA, SQL"& _ - "_ENABLE_ON_LOAD"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_CONTROLS AS T"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFI"& _ - "L_ID = @profil_id)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC" + "_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_"& _ + "PROFILE_CONTROLS AS T"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID = @profil_id)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_"& _ + "LOC" Me._commandCollection(10).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_LANGUAGE", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) @@ -21776,7 +21863,7 @@ Namespace DD_DMSLiteDataSetTableAdapters command.Parameters(2).Value = CType(CTRL_TYPE,String) End If If (CTRL_TEXT Is Nothing) Then - Throw New Global.System.ArgumentNullException("CTRL_TEXT") + command.Parameters(3).Value = Global.System.DBNull.Value Else command.Parameters(3).Value = CType(CTRL_TEXT,String) End If diff --git a/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xsd b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xsd index 8fab960..a842b11 100644 --- a/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xsd +++ b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xsd @@ -1256,7 +1256,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, - REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD + REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @guid) ORDER BY Y_LOC, X_LOC @@ -1352,6 +1352,8 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD + + @@ -1449,7 +1451,7 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ - + @@ -1479,7 +1481,7 @@ WHERE (GUID = @Original_GUID); SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE, - SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD + SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE FROM TBPM_PROFILE_CONTROLS AS T WHERE (PROFIL_ID = @profil_id) ORDER BY Y_LOC, X_LOC @@ -2053,7 +2055,7 @@ ORDER BY Netto DESC - + @@ -2113,7 +2115,7 @@ ORDER BY Netto DESC - + @@ -2209,7 +2211,7 @@ ORDER BY Netto DESC - + @@ -2274,7 +2276,7 @@ ORDER BY Netto DESC - + @@ -2304,7 +2306,7 @@ ORDER BY Netto DESC - + @@ -2327,7 +2329,7 @@ ORDER BY Netto DESC - + @@ -2401,7 +2403,7 @@ ORDER BY Netto DESC - + @@ -2450,7 +2452,7 @@ ORDER BY Netto DESC - + @@ -2465,7 +2467,7 @@ ORDER BY Netto DESC - + @@ -2587,7 +2589,7 @@ ORDER BY Netto DESC - + @@ -2660,7 +2662,7 @@ ORDER BY Netto DESC - + @@ -2711,7 +2713,7 @@ ORDER BY Netto DESC - + @@ -2730,7 +2732,7 @@ ORDER BY Netto DESC - + @@ -2853,10 +2855,12 @@ ORDER BY Netto DESC + + - + @@ -2934,7 +2938,7 @@ ORDER BY Netto DESC - + @@ -2975,7 +2979,7 @@ ORDER BY Netto DESC - + @@ -3013,7 +3017,7 @@ ORDER BY Netto DESC - + @@ -3070,7 +3074,7 @@ ORDER BY Netto DESC - + @@ -3128,7 +3132,7 @@ ORDER BY Netto DESC - + @@ -3229,7 +3233,7 @@ ORDER BY Netto DESC - + @@ -3282,7 +3286,7 @@ ORDER BY Netto DESC - + @@ -3298,7 +3302,7 @@ ORDER BY Netto DESC - + @@ -3395,11 +3399,11 @@ ORDER BY Netto DESC - - - - - + + + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xss b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xss index 6cfbacc..4b5cce7 100644 --- a/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xss +++ b/app/DD_PM_WINDREAM/DD_DMSLiteDataSet.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index 1eab4c9..bb75c9a 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -246,7 +246,6 @@ - diff --git a/app/DD_PM_WINDREAM/ModuleControlProperties.vb b/app/DD_PM_WINDREAM/ModuleControlProperties.vb index 65df6ca..2a6ce6c 100644 --- a/app/DD_PM_WINDREAM/ModuleControlProperties.vb +++ b/app/DD_PM_WINDREAM/ModuleControlProperties.vb @@ -13,6 +13,7 @@ Public Module ModuleControlProperties Private _size As Size Private _font As Font + <[ReadOnly](True)> Public Property ChangedAt As Date @@ -28,6 +29,7 @@ Public Module ModuleControlProperties Public Property Name() As String + Public Property Location() As Point @@ -83,6 +85,8 @@ Public Module ModuleControlProperties Private _Enable_SQL_ONLOAD As String Private _default_value + Public Property Active() As Boolean + Public Property Required() As Boolean Public Property [ReadOnly]() As Boolean @@ -147,7 +151,8 @@ Public Module ModuleControlProperties Public Class TextboxProperties Inherits InputProperties - + + Public Property SetControlData As SQLValue Public Property Regex As String @@ -169,6 +174,8 @@ Public Module ModuleControlProperties Public Property Text() As String + + Public Property SetControlData As SQLValue End Class Public Class ComboboxProperties @@ -176,6 +183,8 @@ Public Module ModuleControlProperties Public Property Text() As String + + Public Property SetControlData As SQLValue Public Property ChoiceLists() As List(Of String) diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb index c197d11..3607e15 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/clsPatterns.vb b/app/DD_PM_WINDREAM/clsPatterns.vb index 4d8a1c2..bace8b0 100644 --- a/app/DD_PM_WINDREAM/clsPatterns.vb +++ b/app/DD_PM_WINDREAM/clsPatterns.vb @@ -1,6 +1,6 @@ Imports System.Text.RegularExpressions Imports WINDREAMLib - +Imports DigitalData.Controls.LookupGrid ''' ''' Defines common Functions for Checking for and replacing placeholders. ''' This Class also includes a child class `Pattern` for passing around Patterns. @@ -51,18 +51,17 @@ Public Class clsPatterns End Function - Public Shared Function ReplaceAllValues(input As String, panel As Panel, document As WMObject, prename As Object, surname As Object, shortname As Object, language As Object, email As Object, userId As Object, profileId As Object) As String + Public Shared Function ReplaceAllValues(input As String, panel As Panel, is_SQL As Boolean) As String Try Dim result = input LOGGER.Debug($"input BEFORE replacing: [{result}]") result = ReplaceInternalValues(result) - result = ReplaceControlValues(result, panel) - If Not IsNothing(document) Then result = ReplaceWindreamIndicies(result, document) + result = ReplaceControlValues(result, panel, is_SQL) + If Not IsNothing(CURRENT_WMFILE) Then result = ReplaceWindreamIndicies(result, CURRENT_WMFILE, is_SQL) If IDB_ACTIVE = True Then - result = ReplaceIDBAttributes(result) + result = ReplaceIDBAttributes(result, is_SQL) End If - - result = ReplaceUserValues(result, prename, surname, shortname, language, email, userId, profileId) + result = ReplaceUserValues(result, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) LOGGER.Debug($"input AFTER replacing: [{result}]") Return result Catch ex As Exception @@ -143,7 +142,7 @@ Public Class clsPatterns End Try End Function - Public Shared Function ReplaceControlValues(input As String, panel As Panel) As String + Public Shared Function ReplaceControlValues(input As String, panel As Panel, IS_SQL As Boolean) As String Try Dim result = input Dim oTryCounter = 0 @@ -156,10 +155,33 @@ Public Class clsPatterns End If Dim controlName As String = GetNextPattern(result, PATTERN_CTRL).Value - Dim control As Control = panel.Controls.Find(controlName, False).FirstOrDefault() - - If control IsNot Nothing Then - Dim oReplaceValue As String = control.Text + Dim oControl As Control = panel.Controls.Find(controlName, False).FirstOrDefault() + + If oControl IsNot Nothing Then + Dim oReplaceValue As String + Select Case oControl.GetType.ToString + Case GetType(TextBox).ToString + oReplaceValue = oControl.Text + Case GetType(LookupControl2).ToString + Dim oLookupControl2 As LookupControl2 = oControl + If oLookupControl2.SelectedValues.Count = 1 Then + oReplaceValue = oLookupControl2.SelectedValues.Item(0) + Else + oReplaceValue = "0" + End If + Case GetType(ComboBox).ToString + oReplaceValue = oControl.Text + Case GetType(CheckBox).ToString + Dim oCheckBox As CheckBox = oControl + oReplaceValue = oCheckBox.Checked + Case Else + oReplaceValue = "0" + End Select + If IS_SQL = True Then + LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oReplaceValue}") + oReplaceValue = oReplaceValue.Replace("'", "''") + LOGGER.Debug($"oReplaceValue = {oReplaceValue}") + End If result = ReplacePattern(result, PATTERN_CTRL, oReplaceValue) End If @@ -173,7 +195,7 @@ Public Class clsPatterns End Try End Function - Public Shared Function ReplaceWindreamIndicies(input As String, document As WMObject) As String + Public Shared Function ReplaceWindreamIndicies(input As String, document As WMObject, IS_SQL As Boolean) As String Try Dim result = input Dim oTryCounter As Integer = 0 @@ -188,6 +210,11 @@ Public Class clsPatterns End If If oWMValue IsNot Nothing Then + If IS_SQL = True Then + LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oWMValue}") + oWMValue = oWMValue.Replace("'", "''") + LOGGER.Debug($"oReplaceValue = {oWMValue}") + End If result = ReplacePattern(result, PATTERN_WMI, oWMValue) End If oTryCounter += 100 @@ -199,7 +226,7 @@ Public Class clsPatterns LOGGER.Info("Error in ReplaceWindreamIndicies:" & ex.Message) End Try End Function - Public Shared Function ReplaceIDBAttributes(input As String) As String + Public Shared Function ReplaceIDBAttributes(input As String, IS_SQL As Boolean) As String Try Dim result = input Dim oTryCounter As Integer = 0 @@ -227,6 +254,11 @@ Public Class clsPatterns End If If oIDBValue IsNot Nothing Then Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}" + If IS_SQL = True Then + LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oIDBValue}") + oIDBValue = oIDBValue.Replace("'", "''") + LOGGER.Debug($"oReplaceValue = {oIDBValue}") + End If result = result.Replace(oReplaceValue, oIDBValue) 'result = ReplacePattern(result, oReplaceValue, oIDBValue) End If diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb index df6041a..f6ee7e3 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.vb @@ -472,7 +472,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) + DT_CHART_CONFIG = ClassDatabase.Return_Datatable(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") @@ -1336,7 +1336,7 @@ 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) + Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick-get SQL_BTN_FINISH") Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} Dim oResult = oForm.ShowDialog() diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index f45cb77..02698da 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -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) + Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "frmFormDesigner_FormClosing") Dim missingIndexControls As New List(Of String) @@ -267,7 +267,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]") + Dim oDTColumnsPerDevExGrid As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]", "FDesignLaodControls") Dim table = ClassControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True) @@ -517,7 +517,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, True) + Return ClassDatabase.Execute_Scalar(sql, CONNECTION_STRING, "GetLastID") End Function Sub SetActiveControlColor() @@ -778,6 +778,7 @@ Public Class frmFormDesigner obj.Indicies = indicies obj.ReadOnly = StrToBool(row.Item("READ_ONLY")) obj.Required = StrToBool(row.Item("VALIDATION")) + obj.Active = StrToBool(row.Item("CONTROL_ACTIVE")) obj.Index = NotNull(row.Item("INDEX_NAME"), "") obj.DefaultValue = NotNull(row.Item("DEFAULT_VALUE"), Nothing) obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG")) @@ -787,8 +788,8 @@ Public Class frmFormDesigner Private Sub LoadControlProperties(sender As Control) Try Dim props - Dim dt As DataTable = DD_DMSLiteDataSet.TBPM_PROFILE_CONTROLS - Dim row As DataRow + Dim oDatatable As DataTable = DD_DMSLiteDataSet.TBPM_PROFILE_CONTROLS + Dim oRow As DataRow pgControls.Enabled = True @@ -804,12 +805,12 @@ Public Class frmFormDesigner Dim oControlId = DirectCast(sender.Tag, ClassControlCreator.ControlMetadata).Guid - row = dt.AsEnumerable().Where(Function(r As DataRow) - Return r.Item("GUID") = oControlId - End Function).SingleOrDefault() + oRow = oDatatable.AsEnumerable().Where(Function(r As DataRow) + Return r.Item("GUID") = oControlId + End Function).SingleOrDefault() ' Control-Id wurde nicht in DataRow gefunden - If IsNothing(row) Then + If IsNothing(oRow) Then LOGGER.Info($"Error while filtering Controls by Guid '{oControlId}' in LoadControlProperties:") MsgBox($"Control mit der Id {oControlId} wurde nicht gefunden!", MsgBoxStyle.Critical, "Fehler beim Laden der Control Eigenschaften") @@ -826,83 +827,86 @@ Public Class frmFormDesigner ' Eigenschaften angelegt. Danach können für jeden Control Typ spezifische Eigenschaften festgelegt werden. If TypeOf sender Is ClassControlCreator.LineLabel Then Dim line As ClassControlCreator.LineLabel = sender - Dim lineProps As LineLabelProperties = CreatePropsObject(New LineLabelProperties, row) + Dim lineProps As LineLabelProperties = CreatePropsObject(New LineLabelProperties, oRow) props = lineProps ElseIf TypeOf sender Is Label Then Dim label As Label = sender - Dim labelProps As LabelProperties = CreatePropsObject(New LabelProperties, row) + Dim labelProps As LabelProperties = CreatePropsObject(New LabelProperties, oRow) labelProps.Text = label.Text props = labelProps ElseIf TypeOf sender Is CheckBox Then Dim check As CheckBox = sender - Dim checkProps As CheckboxProperties = CreatePropsObjectWithIndicies(New CheckboxProperties, row, Source_AllIndicies) + Dim checkProps As CheckboxProperties = CreatePropsObjectWithIndicies(New CheckboxProperties, oRow, Source_AllIndicies) checkProps.Text = check.Text - checkProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - checkProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) + checkProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + checkProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) + checkProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), "")) props = checkProps ElseIf TypeOf sender Is TextBox Then Dim txt As TextBox = sender - Dim txtProps As TextboxProperties = CreatePropsObjectWithIndicies(New TextboxProperties, row, Source_AllIndicies) - txtProps.Regex = NotNull(row.Item("REGEX_MATCH"), String.Empty) - txtProps.RegexMessage = NotNull(row.Item("REGEX_MESSAGE_DE"), String.Empty) - txtProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - txtProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) + Dim txtProps As TextboxProperties = CreatePropsObjectWithIndicies(New TextboxProperties, oRow, Source_AllIndicies) + txtProps.Regex = NotNull(oRow.Item("REGEX_MATCH"), String.Empty) + txtProps.RegexMessage = NotNull(oRow.Item("REGEX_MESSAGE_DE"), String.Empty) + txtProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + txtProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) + txtProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), "")) props = txtProps ElseIf TypeOf sender Is ComboBox Then Dim cmb As ComboBox = sender - Dim cmbProps As ComboboxProperties = CreatePropsObjectWithIndicies(New ComboboxProperties, row, Source_AllIndicies) + Dim cmbProps As ComboboxProperties = CreatePropsObjectWithIndicies(New ComboboxProperties, oRow, Source_AllIndicies) cmbProps.ChoiceLists = Windream_ChoiceLists - cmbProps.ChoiceList = NotNull(row.Item("CHOICE_LIST"), String.Empty) - cmbProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - cmbProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) + cmbProps.ChoiceList = NotNull(oRow.Item("CHOICE_LIST"), String.Empty) + cmbProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + cmbProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) + cmbProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), "")) props = cmbProps cmbProps.DisplayAsLookUpControl = False ElseIf TypeOf sender Is DateTimePicker Then Dim dtp As DateTimePicker = sender - Dim dtpProps As DatepickerProperties = CreatePropsObjectWithIndicies(New DatepickerProperties, row, Source_AllIndicies) - dtpProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - dtpProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) + Dim dtpProps As DatepickerProperties = CreatePropsObjectWithIndicies(New DatepickerProperties, oRow, Source_AllIndicies) + dtpProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + dtpProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) props = dtpProps ElseIf TypeOf sender Is DataGridView Then Dim grid As DataGridView = sender - Dim gridProps As GridViewProperties = CreatePropsObjectWithIndicies(New GridViewProperties, row, Source_VectorIndicies) + Dim gridProps As GridViewProperties = CreatePropsObjectWithIndicies(New GridViewProperties, oRow, Source_VectorIndicies) props = gridProps ElseIf TypeOf sender Is LookupControl2 Then Dim grid As LookupControl2 = sender - Dim lookupProps As LookupControlProperties = CreatePropsObjectWithIndicies(New LookupControlProperties, row, Source_AllIndicies) - lookupProps.MultiSelect = StrToBool(row.Item("MULTISELECT")) - lookupProps.PreventDuplicates = StrToBool(row.Item("VKT_PREVENT_MULTIPLE_VALUES")) - lookupProps.AllowAddNewValues = StrToBool(row.Item("VKT_ADD_ITEM")) + Dim lookupProps As LookupControlProperties = CreatePropsObjectWithIndicies(New LookupControlProperties, oRow, Source_AllIndicies) + lookupProps.MultiSelect = StrToBool(oRow.Item("MULTISELECT")) + lookupProps.PreventDuplicates = StrToBool(oRow.Item("VKT_PREVENT_MULTIPLE_VALUES")) + lookupProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM")) lookupProps.DisplayAsComboBox = False - lookupProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - lookupProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) - lookupProps.SetControlData = New SQLValue(NotNull(row.Item("SET_CONTROL_DATA"), "")) + lookupProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + lookupProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) + lookupProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), "")) props = lookupProps ElseIf TypeOf sender Is GridControl Then Dim oGridControl As GridControl = sender - Dim oGridProps As GridControlProperties = CreatePropsObjectWithIndicies(New GridControlProperties, row, Source_VectorIndicies) - oGridProps.AllowAddNewValues = StrToBool(row.Item("VKT_ADD_ITEM")) - oGridProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - oGridProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) + Dim oGridProps As GridControlProperties = CreatePropsObjectWithIndicies(New GridControlProperties, oRow, Source_VectorIndicies) + oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM")) + oGridProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + oGridProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) props = oGridProps ElseIf TypeOf sender Is Button Then Dim oButton As Button = sender - Dim oButtonProps As ButtonProperties = CreatePropsObject(New ButtonProperties, row, Source_VectorIndicies) + Dim oButtonProps As ButtonProperties = CreatePropsObject(New ButtonProperties, oRow, Source_VectorIndicies) oButtonProps.Text = oButton.Text - oButtonProps.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG")) - oButtonProps.Override_SQL = New SQLValue(NotNull(row.Item("SQL2"), "")) - oButtonProps.Enable_SQL = New SQLValue(NotNull(row.Item("SQL_ENABLE"), "")) - oButtonProps.Enable_SQL_OnLoad = New SQLValue(NotNull(row.Item("SQL_ENABLE_ON_LOAD"), "")) - If Not IsDBNull(row.Item("IMAGE_CONTROL")) Then - Dim obimg() As Byte = row.Item("IMAGE_CONTROL") + oButtonProps.SQLCommand = New SQLValue(oRow.Item("SQL_UEBERPRUEFUNG")) + oButtonProps.Override_SQL = New SQLValue(NotNull(oRow.Item("SQL2"), "")) + oButtonProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), "")) + oButtonProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) + If Not IsDBNull(oRow.Item("IMAGE_CONTROL")) Then + Dim obimg() As Byte = oRow.Item("IMAGE_CONTROL") Dim oBitmap As Bitmap = ByteArrayToBitmap(obimg) oButtonProps.CtrlImage = New ImageValue("IMAGE") oButton.Image = oBitmap @@ -1045,6 +1049,8 @@ Public Class frmFormDesigner Case "RegexMessage" UpdateSingleValue("REGEX_MESSAGE_DE", newValue) + Case "Active" + UpdateSingleValue("CONTROL_ACTIVE", IIf(newValue = True, 1, 0)) Case "CtrlImage" Dim myPath As ImageValue = newValue UpdateImage(myPath.Value) @@ -1136,7 +1142,7 @@ 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) + Dim oldSQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "bbtnItemFinishSQL_ItemClick") Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} Dim oResult = oForm.ShowDialog() diff --git a/app/DD_PM_WINDREAM/frmGhostMode.vb b/app/DD_PM_WINDREAM/frmGhostMode.vb index 8be6722..bc6cb40 100644 --- a/app/DD_PM_WINDREAM/frmGhostMode.vb +++ b/app/DD_PM_WINDREAM/frmGhostMode.vb @@ -1,8 +1,8 @@ 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) - Dim DT_USER = ClassDatabase.Return_Datatable(oSQL) + oSQL = ClassDatabase.Execute_Scalar_ConStr(oSQL, CONNECTION_STRING_IDB, "frmGhostMode_Load") + Dim DT_USER = ClassDatabase.Return_Datatable(oSQL, "frmGhostMode_LoadDT") Try If Not IsNothing(DT_USER) Then diff --git a/app/DD_PM_WINDREAM/frmInvDashboard.vb b/app/DD_PM_WINDREAM/frmInvDashboard.vb index 108055b..7aa0b61 100644 --- a/app/DD_PM_WINDREAM/frmInvDashboard.vb +++ b/app/DD_PM_WINDREAM/frmInvDashboard.vb @@ -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) + Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(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) + Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(oSqlchart, "layputDashboard2") ' Create Series based on type Dim series As Series = Create_Series(oChartTitle, oChartType) diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index 8c4fb04..fae1cc4 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -225,7 +225,7 @@ Public Class frmMain SOURCE_INIT = Init_IDB() If SOURCE_INIT = True Then Dim oSQL = $"SELECT SQL_COMMAND FROM TBDD_SQL_COMMANDS WHERE TITLE = 'PM_IDB_DOC_DATA'" - IDB_DOC_DATA_SQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING) + IDB_DOC_DATA_SQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "frmMainload-PM_IDPDOCDATA") LOGGER.Debug($"Got the IDB_DOC_DATA_SQL..{IDB_DOC_DATA_SQL}") End If bsiGeneralInfo.Caption = "IDB active" @@ -589,7 +589,7 @@ Public Class frmMain sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) sql = sql.Replace("@DATE", Now.ToShortDateString) sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) - CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(sql, True) + CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(sql, "Load_single_Profile") If CURR_DT_OVERVIEW.Rows.Count = 0 Then NO_WORKFLOWITEMS = True Else @@ -906,10 +906,8 @@ Public Class frmMain Sub Load_Profil_from_Grid(pProfilID As Integer) Try - 'Me.Visible = False CURRENT_ProfilGUID = pProfilID - ' CURRENT_ProfilName = ClassDatabase.Execute_Scalar("SELECT NAME FROM TBPM_PROFILE WHERE GUID = " & CURRENT_ProfilGUID, CONNECTION_STRING) - 'My.Settings.Save() + Dim omsg = "Es ist bereits ein Workflow geöffnet!" Dim omsgTitle = "Achtung:" If USER_LANGUAGE <> "de-DE" Then @@ -942,10 +940,8 @@ Public Class frmMain BASEDATA_DT_PROFILE_SEARCHES_DOC.Clear() oExpression = $"PROFILE_ID = {CURRENT_ProfilGUID}" BASEDATA_DT_PROFILES_SEARCHES_DOC.Select(oExpression, "TAB_INDEX").CopyToDataTable(BASEDATA_DT_PROFILE_SEARCHES_DOC, LoadOption.PreserveChanges) - 'CURRENT_DT_PROFILE_SEARCHES_DOC = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_SEARCH where PROFILE_ID = {0} AND TYPE = 'DOC' AND ACTIVE = 1 ORDER BY TAB_INDEX", CURRENT_ProfilGUID)) BASEDATA_DT_PROFILE_SEARCHES_SQL.Clear() BASEDATA_DT_PROFILES_SEARCHES_SQL.Select(oExpression, "TAB_INDEX").CopyToDataTable(BASEDATA_DT_PROFILE_SEARCHES_SQL, LoadOption.PreserveChanges) - 'CURRENT_DT_PROFILE_SEARCHES_SQL = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_SEARCH where PROFILE_ID = {0} AND TYPE = 'SQL' AND ACTIVE = 1 ORDER BY TAB_INDEX", CURRENT_ProfilGUID)) Try frmValidator.Show() @@ -1143,7 +1139,7 @@ Public Class frmMain 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) + Dim oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, $"Item_Scope-FNPM_CHECK_DocGUID_Valid") Try If CBool(oResult) = True Then Load_Profil_from_Grid(oHitProfilID) @@ -1234,7 +1230,7 @@ Public Class frmMain If SOURCE_INIT = True Then CURRENT_ProfilGUID = oProfileId - CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID)) + CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID), "tsmiMarkedFilesFinish_Click") CURRENT_DT_PROFILE.Clear() Dim oExpression = $"GUID = {CURRENT_ProfilGUID}" CURRENT_DT_PROFILES.Select(oExpression).CopyToDataTable(CURRENT_DT_PROFILE, LoadOption.PreserveChanges) @@ -1346,7 +1342,7 @@ Public Class frmMain 'String.Format("SELECT '1' TL_STATE,T.PROFIL_ID,T1.TITLE, T.DocID, T.FILE_PATH, T.DMS_ERSTELLT_DATE,[dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DocID) AS 'Last User',[dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DocID) as 'Last edited' FROM TBPM_PROFILE_FILES T, VWPM_PROFILE_USER T1 " & ' "WHERE T.PROFIL_ID = T1.PROFIL_ID " & ' "AND T1.ACTIVE = 1 And (UPPER(T1.USERNAME) = UPPER('{0}')) Order By T1.PRIORITY", USER_USERNAME) - CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(oSQLOverview) + CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(oSQLOverview, "Load_Grid_Overview") oStopWatch2.Done() @@ -1659,22 +1655,22 @@ Public Class frmMain If GridControl_Docs.Visible = True And formopenClose = False Then RefreshHelper.SaveViewInfo() End Sub Sub LoadCURRENT_DT_PROFILES() - CURRENT_DT_PROFILES = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE where ACTIVE = 1") + CURRENT_DT_PROFILES = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE where ACTIVE = 1", "LoadCURRENT_DT_PROFILES") End Sub Sub LoadVWPM_CONTROL_INDEX() Dim oSQL = $"SELECT * FROM VWPM_CONTROL_INDEX ORDER BY PROFIL_ID,Y_LOC, X_LOC" - DTVWCONTROLS_INDEX = ClassDatabase.Return_Datatable(oSQL) + DTVWCONTROLS_INDEX = ClassDatabase.Return_Datatable(oSQL, "LoadVWPM_CONTROL_INDEX") End Sub Sub GetBaseData(pMode As String) Dim oStopWatch As New RefreshHelper.SW("GetBaseData") Try Dim oSQL = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED) - DT_CHECKUSER_MODULE = ClassDatabase.Return_Datatable(oSQL) + DT_CHECKUSER_MODULE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData1") If pMode = "bwBasicData" Then bwBasicData.ReportProgress(10) ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE) 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) + CURR_DT_VWPM_PROFILE_ACTIVE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData2") If pMode = "bwBasicData" Then bwBasicData.ReportProgress(30) LoadCURRENT_DT_PROFILES() @@ -1682,12 +1678,12 @@ Public Class frmMain CURRENT_DT_PROFILE = CURRENT_DT_PROFILES.Clone() End If If pMode = "bwBasicData" Then bwBasicData.ReportProgress(40) - BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX") + BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "GetBaseData3") If pMode = "Load" Then BASEDATA_DT_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone() End If If pMode = "bwBasicData" Then bwBasicData.ReportProgress(50) - BASEDATA_DT_PROFILES_SEARCHES_SQL = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'SQL' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX") + BASEDATA_DT_PROFILES_SEARCHES_SQL = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'SQL' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "GetBaseData4") If pMode = "Load" Then BASEDATA_DT_PROFILE_SEARCHES_SQL = BASEDATA_DT_PROFILES_SEARCHES_SQL.Clone() End If @@ -1698,7 +1694,7 @@ Public Class frmMain DTVWCONTROL_INDEX = DTVWCONTROLS_INDEX.Clone() End If oSQL = $"SELECT * FROM TBPM_PROFILE_CONTROLS WHERE LEN(ISNULL(SQL_UEBERPRUEFUNG,'')) > 0 AND CTRL_TYPE <> 'BUTTON'" - DTCONTROLS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL) + DTCONTROLS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL, "GetBaseData5") If pMode = "bwBasicData" Then bwBasicData.ReportProgress(85) If pMode = "bwBasicData" Then bwBasicData.ReportProgress(100) Catch ex As Exception @@ -2010,7 +2006,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) + Dim oFilePath = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, $"DateiAlsLinkVersendenToolStripMenuItem_Click") Dim oLink = "

Link zur Datei

" Dim oLink2 = "Link zur Datei" diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 79489fc..e827f4f 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") + 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") LOGGER.Debug("Profile Data geladen") Catch ex As Exception LOGGER.Error(ex) @@ -229,7 +229,7 @@ Public Class frmMassValidator 'sql = ClassPatterns.ReplaceAllValues(sql, pnldesigner, aktivesDokument) If clsPatterns.HasOnlySimplePatterns(CURR_SELECT_CONTROL) Then CURR_SELECT_CONTROL = clsPatterns.ReplaceInternalValues(CURR_SELECT_CONTROL) - CURR_SELECT_CONTROL = clsPatterns.ReplaceControlValues(CURR_SELECT_CONTROL, pnldesigner) + CURR_SELECT_CONTROL = clsPatterns.ReplaceControlValues(CURR_SELECT_CONTROL, pnldesigner, True) sqlCnn = New SqlClient.SqlConnection(connectionString) ' Try @@ -353,7 +353,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") + Dim oDTMyColumns As DataTable = ClassDatabase.Return_Datatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE", "MV_LoadControls1") oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False) End Select @@ -400,10 +400,10 @@ Public Class frmMassValidator End If If Not IsDBNull(filteredData.Rows(0).Item("CONNECTION_ID")) And Not IsDBNull(filteredData.Rows(0).Item("SQL_UEBERPRUEFUNG")) Then Dim oSqlCommand = IIf(IsDBNull(filteredData.Rows(0).Item("SQL_UEBERPRUEFUNG")), "", filteredData.Rows(0).Item("SQL_UEBERPRUEFUNG")) - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + 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) + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable(oSqlCommand, "MV_OnLookUp1") Try Dim oDependingLookup As LookupControl2 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() For Each oControl As Control In pnldesigner.Controls @@ -540,7 +540,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") + Dim dt As DataTable = ClassDatabase.Return_Datatable($"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 @@ -851,7 +851,7 @@ Public Class frmMassValidator Dim displayboxname = ROW.Item(Name).ToString If Not IsDBNull(ROW.Item(1)) And Not IsDBNull(ROW.Item(2)) Then Dim sql_Statement = ROW.Item(2) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) _dependingControl_in_action = True Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) @@ -928,7 +928,7 @@ Public Class frmMassValidator If Not IsDBNull(ROW.Item("CONNECTION_ID")) And Not IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")) Then Dim sql_Statement = ROW.Item("SQL_UEBERPRUEFUNG") - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) _dependingControl_in_action = True @@ -1012,7 +1012,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) + Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData") If IsNothing(dt) Then Exit Sub If dt.Rows.Count = 0 Then Exit Sub @@ -1034,7 +1034,7 @@ Public Class frmMassValidator sql = clsPatterns.ReplaceInternalValues(sql) LOGGER.Debug(">>> sql after ReplaceInternalValues: " & sql) 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) - dt = ClassDatabase.Return_Datatable(sql) + dt = ClassDatabase.Return_Datatable(sql, "MV_LoadSimpleData1") If IsNothing(dt) Then MsgBox($"SQL-Query for control {control.Name} is invalid.") @@ -1230,7 +1230,7 @@ Public Class frmMassValidator 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, True) + Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(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") @@ -1241,7 +1241,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, True) + Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(Sql, "MV_Finish2") If Not IsNothing(DT_ENTRIES) Then If DT_ENTRIES.Rows.Count > 0 Then Dim AnnotationString As String = "" @@ -1304,12 +1304,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) + oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1") 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) + oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "MVGetWMDocPathWindows1") 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 ae6ccc0..68abd84 100644 --- a/app/DD_PM_WINDREAM/frmMonitor.vb +++ b/app/DD_PM_WINDREAM/frmMonitor.vb @@ -52,7 +52,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) + Dim oDT2 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail1") If Not IsNothing(oDT2) Then LOGGER.Debug($"Found {oDT2.Rows.Count} rows for GridView2") GridView2.Columns.Clear() @@ -72,7 +72,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) + Dim oDT3 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail2") If Not IsNothing(oDT3) Then LOGGER.Debug($"Found {oDT3.Rows.Count} rows for GridView3") GridView3.Columns.Clear() @@ -84,7 +84,7 @@ Public Class frmMonitor oDetailSQL = oDetailSQL.Replace("@IDBOBJID", oDocID) oDetailSQL = oDetailSQL.Replace("@UserID", USER_ID) oDetailSQL = oDetailSQL.Replace("@UserName", USER_USERNAME) - Dim oDT4 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL) + Dim oDT4 As DataTable = ClassDatabase.Return_Datatable(oDetailSQL, "Monitor_Detail3") If Not IsNothing(oDT4) Then LOGGER.Debug($"Found {oDT4.Rows.Count} rows for GridView4") GridView4.Columns.Clear() @@ -168,12 +168,12 @@ Public Class frmMonitor Try FormShown = False Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG" - DT_MONITOR_KONFIG = ClassDatabase.Return_Datatable(oSQL) + DT_MONITOR_KONFIG = ClassDatabase.Return_Datatable(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 = ClassDatabase.Return_Datatable(oSQL) + Dim oDTGRID1 As DataTable = ClassDatabase.Return_Datatable(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 ac28ff8..33e57d3 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) + Dim dt As DataTable = ClassDatabase.Return_Datatable(txtSQL.Text, "btnrunSQL_Click") If Not dt Is Nothing Then XtraTabControl1.SelectedTabPageIndex = 1 BindingSource1.DataSource = dt diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb index 8511afa..01817c3 100644 --- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb +++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb @@ -35,9 +35,9 @@ Public Class frmSQL_DESIGNER TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING 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), True) + 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") Else - 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}", CURRENT_INDEX_ID), True) + 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}", CURRENT_INDEX_ID), "frmSQL_FINAL_INDICES_Load2") End If @@ -48,7 +48,7 @@ Public Class frmSQL_DESIGNER End If 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, True) + Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL, "frmSQL_FINAL_INDICES_Load3") cmbControls.DataSource = oDatatable cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName cmbControls.Visible = True diff --git a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb index b949cf3..9b1bfdd 100644 --- a/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb +++ b/app/DD_PM_WINDREAM/frmUserKonfig_AddUsers.vb @@ -172,7 +172,7 @@ Public Class frmUserKonfig_AddUsers 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) + Dim ID = ClassDatabase.Execute_Scalar("SELECT MAX(GUID) FROM TBDD_USER", CONNECTION_STRING, "btnAddUsers_Click") 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) @@ -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, True) = Nothing Then + If ClassDatabase.Execute_Scalar(SQL, CONNECTION_STRING, "UserExists") = Nothing Then Return False Else Return True diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx index 0eccb24..fdb56a2 100644 --- a/app/DD_PM_WINDREAM/frmValidator.resx +++ b/app/DD_PM_WINDREAM/frmValidator.resx @@ -138,7 +138,7 @@ No - 549, 29 + 565, 29 @@ -172,13 +172,13 @@ MiddleLeft - 7, 419 + 7, 459 3, 4, 3, 4 - 561, 50 + 577, 50 11 @@ -205,7 +205,7 @@ 5, 33 - 563, 48 + 579, 48 1 @@ -238,7 +238,7 @@ 3, 4, 3, 4 - 560, 326 + 576, 366 18 @@ -265,7 +265,7 @@ 3, 4, 3, 4 - 571, 476 + 587, 516 24 @@ -304,7 +304,7 @@ 3, 4, 3, 4 - 577, 476 + 594, 516 0 @@ -334,10 +334,10 @@ 1 - 1152, 476 + 1185, 516 - 571 + 587 37 @@ -373,7 +373,7 @@ 0, 0 - 1152, 0 + 1185, 0 barDockControlTop @@ -391,10 +391,10 @@ Bottom - 0, 643 + 0, 683 - 1152, 0 + 1185, 0 barDockControlBottom @@ -415,7 +415,7 @@ 0, 0 - 0, 643 + 0, 683 barDockControlLeft @@ -433,10 +433,10 @@ Right - 1152, 0 + 1185, 0 - 0, 643 + 0, 683 barDockControlRight @@ -460,7 +460,7 @@ 7, 17 - 1152, 643 + 1185, 683 Tahoma, 8.25pt, style=Bold @@ -862,13 +862,13 @@ Start - 1152, 146 + 1185, 146 - 0, 622 + 0, 662 - 1152, 21 + 1185, 21 RibbonStatusBar1 diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 5a601e0..e5f8103 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -318,15 +318,15 @@ Public Class frmValidator 'Check whether DocData is there Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID") oDataResultCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND") - oDataResultCommand = clsPatterns.ReplaceAllValues(oDataResultCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) - oDatatableDataResult = ClassDatabase.Return_Datatable(oDataResultCommand) + oDataResultCommand = clsPatterns.ReplaceAllValues(oDataResultCommand, pnldesigner, True) + oDatatableDataResult = ClassDatabase.Return_Datatable_ConId(oDataResultCommand, oConID, "Load_Additional_Searches1") End If If BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows.Count > 0 Then 'Check whether DocData is there Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID") oDocResultCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND") - oDocResultCommand = clsPatterns.ReplaceAllValues(oDocResultCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) - oDatatableDocResult = ClassDatabase.Return_Datatable(oDocResultCommand) + oDocResultCommand = clsPatterns.ReplaceAllValues(oDocResultCommand, pnldesigner, True) + oDatatableDocResult = ClassDatabase.Return_Datatable_ConId(oDocResultCommand, oConID, "Load_Additional_Searches2") End If Dim oDataResultsExist As Boolean = False @@ -369,7 +369,7 @@ Public Class frmValidator _frmValidatorSearch._DTSQLSearches = BASEDATA_DT_PROFILE_SEARCHES_SQL Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, True) _frmValidatorSearch.Refresh_Load_GridSQL(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE")) End If @@ -377,7 +377,7 @@ Public Class frmValidator _frmValidatorSearch._DTDocSearches = BASEDATA_DT_PROFILE_SEARCHES_DOC Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, True) _frmValidatorSearch.RefreshTabDoc(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE")) End If @@ -390,13 +390,13 @@ Public Class frmValidator bbtniRefreshSearches.Visibility = DevExpress.XtraBars.BarItemVisibility.Never End If End Sub - Sub LoadSQLData(control As Control, controlId As Integer) + Sub LoadSQLData(control As Control, pControlId As Integer) Try If TypeOf control Is Label Then Exit Sub - LOGGER.Debug($"in LoadSQLData for ControlID [{controlId}]...") + LOGGER.Debug($"in LoadSQLData for ControlID [{pControlId}]...") Dim oDTforControl As DataTable = DTCONTROLS_WITH_SQL.Clone() - Dim oExpression = $"GUID = {controlId} AND PROFIL_ID = {CURRENT_ProfilGUID}" + Dim oExpression = $"GUID = {pControlId} AND PROFIL_ID = {CURRENT_ProfilGUID}" DTCONTROLS_WITH_SQL.Select(oExpression).CopyToDataTable(oDTforControl, LoadOption.PreserveChanges) @@ -428,7 +428,7 @@ Public Class frmValidator End If 'oSql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) 'oSql = clsPatterns.ReplaceInternalValues(oSql) - oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, pnldesigner, True) If IsNothing(oSQLStatement) Then Continue For End If @@ -437,7 +437,7 @@ Public Class frmValidator Continue For End If 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) - Dim oDTContent As DataTable = ClassDatabase.Return_Datatable_ConId(oSQLStatement, oConnectionId) + Dim oDTContent As DataTable = ClassDatabase.Return_Datatable_ConId(oSQLStatement, oConnectionId, $"LoadSQLData - pControlId: {pControlId}") If IsNothing(oDTContent) Then LOGGER.Warn($"SQL-Query [{oSQLStatement}] for control {control.Name} is invalid.") @@ -542,7 +542,7 @@ Public Class frmValidator ' Dim oSqlStatement As String = row.Item("SQL_UEBERPRUEFUNG") ' Dim oConnectionId As Integer = row.Item("CONNECTION_ID") - ' oSql = clsPatterns.ReplaceAllValues(oSqlStatement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + ' oSql = clsPatterns.ReplaceAllValues(oSqlStatement, pnldesigner, True) ' If clsPatterns.HasComplexPatterns(oSqlStatement) Then ' LOGGER.Warn($"Unexpected error LoadSQLData2 - sql Statement still has complex patterns! [{oSql}]") @@ -645,29 +645,31 @@ Public Class frmValidator Try pnldesigner.Controls.Clear() Dim oSQL = $"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{USER_LANGUAGE}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, * FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC" - DTCONTROLS = ClassDatabase.Return_Datatable(oSQL) + DTCONTROLS = ClassDatabase.Return_Datatable(oSQL, "Create_Controls1") oSQL = $"SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(T.SQL_COMMAND) > 0 AND T.LOAD_AFT_LOAD_CONTROL = 0 ORDER BY T.SEQUENCE" - DTGRID_COLUMNS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL) + DTGRID_COLUMNS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL, "Create_Controls2") oSQL = $"SELECT T.* from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY T.SEQUENCE" - DTGRID_COLUMNS = ClassDatabase.Return_Datatable(oSQL) + DTGRID_COLUMNS = ClassDatabase.Return_Datatable(oSQL, "Create_Controls3") oSQL = $"SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(T.SQL_COMMAND) > 0 AND T.LOAD_AFT_LOAD_CONTROL = 1 ORDER BY T.SEQUENCE" - DTGRID_SQL_DEFINITION = ClassDatabase.Return_Datatable(oSQL) + DTGRID_SQL_DEFINITION = ClassDatabase.Return_Datatable(oSQL, "Create_Controls4") Dim oCount As Integer = 0 For Each oControlRow As DataRow In DTCONTROLS.Rows Dim oMyControl As Control Dim oControlID = oControlRow.Item("GUID") - oControlInfo = $"CtrlName: {oControlRow.Item("NAME")} - CtrlIndex: {oControlRow.Item("INDEX_NAME")}" + oControlInfo = $"CtrlID: {oControlID} - CtrlName: {oControlRow.Item("NAME")} - CtrlIndex: {oControlRow.Item("INDEX_NAME")}" Try Select Case oControlRow.Item("CTRL_TYPE").ToString.ToUpper Case "TXT" Try + oControlInfo = "TXT#" & oControlInfo LOGGER.Debug($"[{oControlInfo}] - TXT Try to create control...") Dim txt As TextBox = ClassControlCreator.CreateExistingTextbox(oControlRow, False) AddHandler txt.GotFocus, AddressOf OnTextBoxFocus AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus + AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp oMyControl = txt LOGGER.Debug($"[{oControlInfo}] - TXT Created!!") @@ -675,138 +677,112 @@ Public Class frmValidator LOGGER.Warn($"Unexpected error in Create_Controls TXT [{oControlInfo}]: {ex.Message}") End Try Case "LBL" + oControlInfo = "LBL#" & oControlInfo oMyControl = ClassControlCreator.CreateExistingLabel(oControlRow, False) Case "CMB" + oControlInfo = "CMB#" & oControlInfo LOGGER.Debug($"[{oControlInfo}] - CMB Try to create control...") If oControlRow.Item("READ_ONLY") Then Dim cmbReadonly = ClassControlCreator.CreateExistingTextbox(oControlRow, False) oMyControl = cmbReadonly Else - Dim cmb = ClassControlCreator.CreateExistingCombobox(oControlRow, False) - - AddHandler cmb.SelectedValueChanged, AddressOf OnCmbselectedIndex - AddHandler cmb.GotFocus, Sub(sender As Control, e As EventArgs) - If DirectCast(cmb.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then - cmb.BackColor = Color.Lime - End If - End Sub - AddHandler cmb.LostFocus, Sub(sender As Control, e As EventArgs) - If DirectCast(cmb.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then - cmb.BackColor = Color.White - End If - End Sub + Dim oComboBox = ClassControlCreator.CreateExistingCombobox(oControlRow, False) + + AddHandler oComboBox.SelectedValueChanged, AddressOf OnCmbselectedIndex + AddHandler oComboBox.GotFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(oComboBox.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + oComboBox.BackColor = Color.Lime + End If + End Sub + AddHandler oComboBox.LostFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(oComboBox.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + oComboBox.BackColor = Color.White + End If + End Sub #Region "CONTROL LIST" - Dim ControlID = DirectCast(cmb.Tag, ClassControlCreator.ControlMetadata).Guid ' TBPM_PROFILE_CONTROLSTableAdapter.cmdGetGUID(CURRENT_ProfilGUID, cmb.Name) - LOGGER.Debug("In add_ComboBox - GUID: " & ControlID) - If ControlID > 0 Then - Dim oCONID + + LOGGER.Debug("In add_ComboBox - GUID: " & oControlID) + Dim oCONID + Try + oCONID = PreventNulletc(oControlRow.Item("CONNECTION_ID")) + Catch ex As Exception + oCONID = 0 + End Try + + If oCONID > 0 Then + Dim oCommandSQL_UBPF Try - oCONID = PreventNulletc(oControlRow.Item("CONNECTION_ID")) + oCommandSQL_UBPF = oControlRow.Item("SQL_UEBERPRUEFUNG") Catch ex As Exception - oCONID = 0 + oCommandSQL_UBPF = "" End Try - - If oCONID > 0 Then - Dim commandsql + 'TBPM_PROFILE_CONTROLSTableAdapter.cmdGetSQL(ControlID) + LOGGER.Debug("ConID <> String.Empty") + If oCONID > 0 And oCommandSQL_UBPF <> String.Empty Then + LOGGER.Debug("ConID > 0 And commandsql <> String.Empty") Try - commandsql = oControlRow.Item("SQL_UEBERPRUEFUNG") + oSQL = PreventNulletc(oControlRow.Item("SQL_UEBERPRUEFUNG")) 'TBPM_PROFILE_CONTROLSTableAdapter.cmdGetSQL(ControlID) + + If clsPatterns.HasOnlySimplePatterns(oSQL) Then + LOGGER.Debug("SQL HasOnlySimplePatterns!") + oSQL = clsPatterns.ReplaceInternalValues(oSQL) + oSQL = clsPatterns.ReplaceControlValues(oSQL, pnldesigner, True) + Dim oDT As DataTable = ClassDatabase.Return_Datatable_ConId(oSQL, oCONID, $"CreateControls - oControlID: {oControlID}") + If Not IsNothing(oDT) Then + For Each oRow As DataRow In oDT.Rows + oComboBox.Items.Add(oRow.Item(0)) + Next + End If + End If Catch ex As Exception - commandsql = "" + LOGGER.Warn($"Unexpected error in CMB GetValues SQL - Error: {ex.Message}") End Try - 'TBPM_PROFILE_CONTROLSTableAdapter.cmdGetSQL(ControlID) - LOGGER.Debug("ConID <> String.Empty") - If oCONID > 0 And commandsql <> String.Empty Then - LOGGER.Debug("ConID > 0 And commandsql <> String.Empty") - Dim oConnectionString As String - - oConnectionString = ClassDatabase.Get_ConnectionString(oCONID) - - If oConnectionString <> "" Then - Try - Dim sqlCnn As SqlClient.SqlConnection - Dim sqlCmd As SqlClient.SqlCommand - Dim adapter As New SqlClient.SqlDataAdapter - Dim NewDataset As New DataSet - Dim i As Integer - Dim sql As String - - - sql = PreventNulletc(oControlRow.Item("SQL_UEBERPRUEFUNG")) 'TBPM_PROFILE_CONTROLSTableAdapter.cmdGetSQL(ControlID) - - 'sql = ClassPatterns.ReplaceAllValues(sql, pnldesigner, CURRENT_WMFILE) - - 'If ClassPatterns.HasOnlySimplePatterns(sql) Then - If clsPatterns.HasOnlySimplePatterns(sql) Then - sql = clsPatterns.ReplaceInternalValues(sql) - sql = clsPatterns.ReplaceControlValues(sql, pnldesigner) - LOGGER.Debug(">>> sql after HasOnlySimplePatterns: " & sql) - sqlCnn = New SqlClient.SqlConnection(oConnectionString) - ' Try - sqlCnn.Open() - sqlCmd = New SqlClient.SqlCommand(sql, sqlCnn) - adapter.SelectCommand = sqlCmd - adapter.Fill(NewDataset) - Dim oMsg As String - For i = 0 To NewDataset.Tables(0).Rows.Count - 1 - cmb.Items.Add(NewDataset.Tables(0).Rows(i).Item(0)) - Next - adapter.Dispose() - sqlCmd.Dispose() - sqlCnn.Close() - End If - Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info(" -Unexpected error in GetValues SQL - Fehler: " & vbNewLine & ex.Message) - MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei GetValues SQL:") - End Try - End If - Else - LOGGER.Debug("Else Row 571") - End If Else - LOGGER.Debug("AListe Handling") - Dim AListe As String = oControlRow.Item("CHOICE_LIST") - LOGGER.Debug("In add_ComboBox - AListe: " & AListe) - If AListe Is Nothing = False Then - 'Dim liste = _windreamPM.GetValuesfromAuswahlliste(AListe) - Dim liste = WINDREAM.GetValuesfromAuswahlliste(AListe) - If liste IsNot Nothing Then - cmb.Items.Add("") - For Each index As String In liste - cmb.Items.Add(index) - Next - cmb.SelectedIndex = -1 - Else - MsgBox("Resultliste windream is nothing!", MsgBoxStyle.Exclamation, AListe) - End If + LOGGER.Debug("Else Row 571") + End If + Else + LOGGER.Debug("AListe Handling") + Dim AListe As String = oControlRow.Item("CHOICE_LIST") + LOGGER.Debug("In add_ComboBox - AListe: " & AListe) + If AListe Is Nothing = False Then + 'Dim liste = _windreamPM.GetValuesfromAuswahlliste(AListe) + Dim liste = WINDREAM.GetValuesfromAuswahlliste(AListe) + If liste IsNot Nothing Then + oComboBox.Items.Add("") + For Each index As String In liste + oComboBox.Items.Add(index) + Next + oComboBox.SelectedIndex = -1 Else - MsgBox("AListe from database is nothing!", MsgBoxStyle.Exclamation, AListe) + MsgBox("Resultliste windream is nothing!", MsgBoxStyle.Exclamation, AListe) End If + Else + MsgBox("AListe from database is nothing!", MsgBoxStyle.Exclamation, AListe) End If - - End If + #End Region - Dim maxWith As Integer = cmb.Width + Dim maxWith As Integer = oComboBox.Width Using g As Graphics = Me.CreateGraphics - For Each oItem As Object In cmb.Items 'Für alle Einträge... - Dim g1 As Graphics = cmb.CreateGraphics - If g1.MeasureString(Text, cmb.Font).Width + 30 > maxWith Then - maxWith = g1.MeasureString(Text, cmb.Font).Width + 30 + For Each oItem As Object In oComboBox.Items 'Für alle Einträge... + Dim g1 As Graphics = oComboBox.CreateGraphics + If g1.MeasureString(Text, oComboBox.Font).Width + 30 > maxWith Then + maxWith = g1.MeasureString(Text, oComboBox.Font).Width + 30 End If g1.Dispose() Next oItem End Using - cmb.DropDownWidth = maxWith + oComboBox.DropDownWidth = maxWith - oMyControl = cmb + oMyControl = oComboBox End If LOGGER.Debug($"[{oControlInfo}] - CMB CONTROL created") Case "DTP" + oControlInfo = "DTP#" & oControlInfo oMyControl = ClassControlCreator.CreateExistingDatepicker(oControlRow, False) Case "DGV" @@ -817,7 +793,7 @@ Public Class frmValidator oMyControl = dgv Case "LOOKUP" - + oControlInfo = "LOOKUP#" & oControlInfo Dim oMultiselect = oControlRow.Item("MULTISELECT") Dim oReadonly = oControlRow.Item("READ_ONLY") @@ -882,10 +858,42 @@ Public Class frmValidator 'AddHandler lookup.Leave, AddressOf onLookUp0 Case "CHK" - + oControlInfo = "CHK#" & oControlInfo oMyControl = ClassControlCreator.CreateExisingCheckbox(oControlRow, False) - Case "TABLE" + Dim mycheckbox As CheckBox = oMyControl + AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange + + 'prüfen ob abhängiges Control + 'Dim filteredData As DataTable = DTCONTROLS.Clone() + 'Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oMyControl.Name}%'" + 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges) + 'If filteredData.Rows.Count = 1 Then + ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange + 'End If + 'oExpression = $"SQL_ENABLE like '%#CTRL#{oMyControl.Name}%'" + 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges) + 'If filteredData.Rows.Count >= 1 Then + ' 'AddHandler lookup.EditValueChanged, AddressOf onLookUp1 + ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange + 'End If + + 'filteredData = DTCONTROLS.Clone() + 'oExpression = $"GUID = {oControlRow.Item("GUID")} and Len(SET_CONTROL_DATA) > 0" + 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges) + 'If filteredData.Rows.Count >= 1 Then + ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange + 'End If + 'Dim oCONTROL_ID = DirectCast(oControlRow.Item("GUID"), ClassControlCreator.ControlMetadata).Guid + 'Dim ofilteredData As DataTable = DTCONTROLS.Clone() + 'oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0" + 'DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges) + 'If ofilteredData.Rows.Count = 1 Then + ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange + 'End If + + Case "TABLE" + oControlInfo = "TABLE#" & oControlInfo 'Dim columns As List(Of DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow) = (From r As DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow In DD_DMSLiteDataSet.TBPM_CONTROL_TABLE ' Where r.CONTROL_ID = oControlRow.Item("GUID") ' Select r).ToList() @@ -1017,10 +1025,17 @@ Public Class frmValidator End If End Sub Public Sub OnTextBoxLostFocus(sender As System.Object, e As System.EventArgs) - Dim box As TextBox = sender + Dim oTextbox As TextBox = sender - If DirectCast(box.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then - box.BackColor = Color.White + If DirectCast(oTextbox.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + oTextbox.BackColor = Color.White + End If + Dim oCONTROL_ID = DirectCast(oTextbox.Tag, ClassControlCreator.ControlMetadata).Guid + Dim ofilteredData As DataTable = DTCONTROLS.Clone() + Dim oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0" + DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges) + If ofilteredData.Rows.Count = 1 Then + Dynamic_SetControlData(oTextbox, ofilteredData.Rows(0)) End If End Sub Private Function GetControlID(ByVal PROFILEID As Integer, Controlname As String) @@ -1042,7 +1057,7 @@ Public Class frmValidator Try Dim CONTROL_ID = DirectCast(box.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, box.Name) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql) + Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "OnTextBoxKeyUp") If Not IsNothing(DT) And DT.Rows.Count > 0 Then For Each ROW As DataRow In DT.Rows Try @@ -1051,7 +1066,7 @@ Public Class frmValidator Dim sql_Statement = ROW.Item(2) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) '' Regulären Ausdruck zum Auslesen der Indexe definieren 'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" @@ -1119,9 +1134,9 @@ Public Class frmValidator Override_SQLCommand = "" End If ' = $"select SQL_UEBERPRUEFUNG,SQL2 FROM TBPM_PROFILE_CONTROLS WHERE GUID = {oControlID}" - oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) - Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) - Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL) + oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True) + Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, pnldesigner, True) + Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "onCustomButtonClick") If IsNothing(oDT_ACTIONS) Then MsgBox("Something went wrong in custom action - Please check Your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) Exit Sub @@ -1247,7 +1262,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) + Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "onDGVRowValidating") If Not IsNothing(DT) And DT.Rows.Count > 0 Then For Each ROW As DataRow In DT.Rows Try @@ -1256,7 +1271,7 @@ Public Class frmValidator Dim sql_Statement = ROW.Item(2) Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString() sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue) - Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1)) + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1), $"oControlID[{CONTROL_ID}]") If resultDT.Rows.Count >= 1 Then 'Nur dediziert einen Wert zurückerhalten For Each row1 As DataRow In resultDT.Rows @@ -1325,11 +1340,34 @@ Public Class frmValidator LOGGER.Error(ex) End Try End Sub + Public Sub onCheckBox_CheckedChange(sender As Object, e As EventArgs) + LOGGER.Debug("onCheckBox_CheckedChange") + + If FormLoaded = False Then + Exit Sub + End If + Dim oCheckbox As CheckBox = sender + Try + CheckBox_DependingControls(oCheckbox) + Checkbox_EnablingControls(oCheckbox) + CheckBox_DependingColumn(oCheckbox) + Dim oCONTROL_ID = DirectCast(oCheckbox.Tag, ClassControlCreator.ControlMetadata).Guid + Dim ofilteredData As DataTable = DTCONTROLS.Clone() + Dim oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0" + DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges) + If ofilteredData.Rows.Count = 1 Then + Dynamic_SetControlData(oCheckbox, ofilteredData.Rows(0)) + End If + Catch ex As Exception + LOGGER.Error(ex) + End Try + End Sub Public Sub onLookUpselectedValue_Control2Set(sender As Object, SelectedValues As List(Of String)) - LOGGER.Debug("onLookUpselectedValue_Control2Set") + If FormLoaded = False Then Exit Sub End If + LOGGER.Debug("onLookUpselectedValue_Control2Set") Dim oLookup As LookupControl2 = sender Try If Not IsNothing(SelectedValues) Then @@ -1343,6 +1381,125 @@ Public Class frmValidator LOGGER.Error(ex) End Try End Sub + + Private Sub Dynamic_SetControlData(pControl As Control, oDataRow As DataRow) + If FormLoaded = False Then + Exit Sub + End If + LOGGER.Debug("onDynamic_SetControlData") + Dim oControlID = DirectCast(pControl.Tag, ClassControlCreator.ControlMetadata).Guid + + Dim oControl2Set + Dim oControlGUID2Set = oControlID + Dim oControlname2Set = oDataRow.Item("NAME") + LOGGER.Debug($"Workin on SetControLValue for Control [{oControlID}-{oControlname2Set}] ...") + + If _SetControlValue_in_action = True Then + LOGGER.Debug($"..but _SetControlValue_in_action = True ==> Exit Sub!") + Exit Sub + End If + If Not IsDBNull(oDataRow.Item("CONNECTION_ID")) And Not IsDBNull(oDataRow.Item("SET_CONTROL_DATA")) Then + Dim oSqlCommand = IIf(IsDBNull(oDataRow.Item("SET_CONTROL_DATA")), "", oDataRow.Item("SET_CONTROL_DATA")) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) + _SetControlValue_in_action = True + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oDataRow.Item("CONNECTION_ID"), $"Dynamic_SetControlData-Control [{oControlID}-{oControlname2Set}]") + For Each oRowControl2Set As DataRow In oDTDEPENDING_RESULT.Rows + Try + oControl2Set = oRowControl2Set.Item("Control2Set") + If oControl2Set.ToString.ToUpper = "BTN_FINISH".ToUpper Then + Try + Try + Dim btntext = oRowControl2Set.Item("Caption") + btnSave.Text = btntext & " (F2)" + Catch ex As Exception + + End Try + Try + Dim oColor1 = System.Drawing.Color.FromName(oRowControl2Set.Item("BackgroundColor")) + btnSave.BackColor = oColor1 + Catch ex As Exception + btnSave.BackColor = Color.Transparent + End Try + Try + Dim oColor2 = System.Drawing.Color.FromName(oRowControl2Set.Item("FontColor")) + btnSave.ForeColor = oColor2 + Catch ex As Exception + btnSave.ForeColor = Color.Black + End Try + + Catch ex As Exception + + End Try + _SetControlValue_in_action = False + Continue For + End If + Dim oFound As Boolean = False + If IsNumeric(oControl2Set) = False Then + LOGGER.Warn("Careful: the oControl2Set contains no CONTROL_GUID") + Exit Sub + End If + 'Dim oDependingLookup As LookupControl2 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() + For Each oControl As Control In pnldesigner.Controls + If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oControl2Set Then + oFound = True + LOGGER.Debug($"Got the Control22Set: {oControl2Set}..Setting the values..") + Select Case oControl.GetType.ToString + Case GetType(TextBox).ToString + Dim oTextOption = "Replace" + Try + oTextOption = oRowControl2Set.Item("TextOption") + Catch ex As Exception + oTextOption = "Replace" + End Try + Try + Dim oTEXT = oRowControl2Set.Item("Caption") + If oTextOption = "Replace" Then + oControl.Text = oTEXT + Else + oControl.Text = oControl.Text & oTEXT + End If + Catch ex As Exception + + End Try + Dim oColor + Try + oColor = System.Drawing.Color.FromName(oRowControl2Set.Item("BackgroundColor")) + oControl.BackColor = oColor + Catch ex As Exception + oControl.BackColor = Color.White + End Try + Try + oColor = System.Drawing.Color.FromName(oRowControl2Set.Item("FontColor")) + oControl.ForeColor = oColor + Catch ex As Exception + oControl.ForeColor = Color.Black + End Try + + Case GetType(LookupControl2).ToString + Dim oDependingLookup As LookupControl2 = oControl + oDependingLookup.DataSource = oDTDEPENDING_RESULT + Case GetType(GridControl).ToString + 'ClassControlCreator.GridTables + + End Select + _SetControlValue_in_action = False + Exit For + End If + + Next + + If oFound = False Then + LOGGER.Debug($"Could not find the Control2Set with ID {oControlGUID2Set} on panel!!!") + End If + Catch ex As Exception + LOGGER.Warn($"Error while Dynamic_SetControlData for [{oControlname2Set}]: " & ex.Message) + _SetControlValue_in_action = False + End Try + Next + Else + LOGGER.Debug($"Error Dynamic_SetControlData: Check ConnID and SQL on NULL VALUES!") + End If + End Sub Private Sub SetControlValues(LookupControl As LookupControl2, SelectedValues As List(Of String)) Dim oLOOKUPValue = SelectedValues.Item(0) Dim oLOOKUPName = LookupControl.Name @@ -1368,9 +1525,9 @@ Public Class frmValidator End If If Not IsDBNull(oFilteredDatatable.Rows(0).Item("CONNECTION_ID")) And Not IsDBNull(oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA")) Then Dim oSqlCommand = IIf(IsDBNull(oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA")), "", oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA")) - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) _SetControlValue_in_action = True - Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oFilteredDatatable.Rows(0).Item("CONNECTION_ID")) + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oFilteredDatatable.Rows(0).Item("CONNECTION_ID"), $"SetControlValues - CTRLID {oControlID}") For Each oRowControl2Set As DataRow In oDTDEPENDING_RESULT.Rows Try oControl2Set = oRowControl2Set.Item("Control2Set") @@ -1491,9 +1648,9 @@ Public Class frmValidator End If If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) _dependingControl_in_action = True - Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID")) + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"LookupControl_DependingControls - oControlID: {oControlID}") Try Dim oFound As Boolean = False 'Dim oDependingLookup As LookupControl2 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() @@ -1544,6 +1701,22 @@ Public Class frmValidator oDependingLookup.DataSource = oDTDEPENDING_RESULT Case GetType(GridControl).ToString 'ClassControlCreator.GridTables + Case GetType(CheckBox).ToString + Try + Dim oCheckState = CBool(oDTDEPENDING_RESULT.Rows(0).Item(0)) + Dim oDependingChk As CheckBox = oControl + oDependingChk.CheckState = oCheckState + Dim oColor + Try + oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor")) + oControl.BackColor = oColor + Catch ex As Exception + + End Try + Catch ex As Exception + LOGGER.Warn($"Unexpected error in Checking oCheckBoxDependingControlLOOKUP: {ex.Message}") + End Try + End Select _dependingControl_in_action = False @@ -1572,12 +1745,127 @@ Public Class frmValidator End If End Sub + Private Sub CheckBox_DependingControls(pCheckbox As CheckBox) + Dim oCheckboxname = pCheckbox.Name + LOGGER.Debug($"pCheckStateTrue [{pCheckbox.Checked}]!") + Dim oControlID = DirectCast(pCheckbox.Tag, ClassControlCreator.ControlMetadata).Guid + Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone() + Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oCheckboxname}%'" + DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges) + If oFilteredDatatable.Rows.Count > 0 Then + LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!") + Else + LOGGER.Debug($"Sorry NO depending controls!!") + End If + For Each oRowDependingControl As DataRow In oFilteredDatatable.Rows + Dim oDEPENDING_GUID = oRowDependingControl.Item("GUID") + Dim oDEPENDING_CtrlName = oRowDependingControl.Item("NAME") + LOGGER.Debug($"Control {oDEPENDING_CtrlName} is depending on lookUp {oCheckboxname}..") + If _dependingControl_in_action = True Then + LOGGER.Debug($"..but _dependingControl_in_action = True ==> Exit Sub!") + Exit Sub + End If + If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then + Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) + _dependingControl_in_action = True + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"CheckBox_DependingControls - oControlID: {oControlID}") + Try + Dim oFound As Boolean = False + 'Dim oDependingLookup As LookupControl2 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() + For Each oControl As Control In pnldesigner.Controls + If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then + oFound = True + LOGGER.Debug($"Got the depending control ID:{oDEPENDING_GUID}..Setting the values..") + Select Case oControl.GetType.ToString + Case GetType(TextBox).ToString + Try + Dim oTEXT = oDTDEPENDING_RESULT.Rows(0).Item(0) + Try + If Not IsNothing(oTEXT) Then + If Not IsDBNull(oTEXT) Then + oControl.Text = oTEXT + End If + End If + Catch ex As Exception + LOGGER.Warn($"Unexpected error in Checking oTEXT: {ex.Message}") + End Try + Catch ex As Exception + LOGGER.Warn($"Unexpected error in Dim oTEXT = oDTDEPENDING_RESULT.Rows(0).Item(0): {ex.Message}") + End Try + + Dim oColor + Try + oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor")) + oControl.BackColor = oColor + Catch ex As Exception + oControl.BackColor = Color.White + End Try + Try + Dim btntext = oDTDEPENDING_RESULT.Rows(0).Item("btnFinishCaption") + btnSave.Text = btntext & " (F2)" + Catch ex As Exception + + End Try + Try + oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("btnFinishColor")) + btnSave.BackColor = oColor + Catch ex As Exception + btnSave.BackColor = Color.Transparent + End Try + Case GetType(LookupControl2).ToString + Dim oDependingLookup As LookupControl2 = oControl + oDependingLookup.DataSource = oDTDEPENDING_RESULT + Case GetType(GridControl).ToString + 'ClassControlCreator.GridTables + Case GetType(CheckBox).ToString + Try + Dim oCheckState = CBool(oDTDEPENDING_RESULT.Rows(0).Item(0)) + Dim oDependingChk As CheckBox = oControl + oDependingChk.CheckState = oCheckState + Dim oColor + Try + oColor = System.Drawing.Color.FromName(oDTDEPENDING_RESULT.Rows(0).Item("BackgroundColor")) + oControl.BackColor = oColor + Catch ex As Exception + + End Try + Catch ex As Exception + LOGGER.Warn($"Unexpected error in Checking oCheckBoxDependingControlCHK: {ex.Message}") + End Try + + + End Select + _dependingControl_in_action = False + Exit For + End If + + Next + If oFound = False Then + LOGGER.Debug($"Could not find the depending Control with ID {oDEPENDING_GUID} on panel!!!") + End If + Catch ex As Exception + LOGGER.Warn($"Error while setting depending control-value for [{oDEPENDING_CtrlName}]: " & ex.Message) + _dependingControl_in_action = False + End Try + SendKeys.Send("{TAB}") + ControlHandleStarted = True + Else + LOGGER.Debug($"Error: Check CoNN ID and SQL on NULL VALUES!") + End If + Next + End Sub Private Sub LookupControl_EnablingControls(LookupControl As LookupControl2, SelectedValues As List(Of String)) Dim oLOOKUPValue = SelectedValues.Item(0) LOGGER.Debug($"oLOOKUPValue is [{oLOOKUPValue}]!") Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid Controls2beEnabled(LookupControl.Name) + End Sub + Private Sub Checkbox_EnablingControls(pCheckbox As CheckBox) + Dim oControlID = DirectCast(pCheckbox.Tag, ClassControlCreator.ControlMetadata).Guid + Controls2beEnabled(pCheckbox.Name) + End Sub Private Sub LookupControl_DependingColumn(LookupControl As LookupControl2, SelectedValues As List(Of String)) Dim oSQLColumnDatatable As DataTable = DTGRID_COLUMNS_WITH_SQL.Clone() @@ -1585,23 +1873,23 @@ Public Class frmValidator DTGRID_COLUMNS_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges) If oSQLColumnDatatable.Rows.Count > 0 Then For Each oRow As DataRow In oSQLColumnDatatable.Rows - Dim oDEPENDING_GUID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONTROL_ID") + Dim oDEPENDING_CONTROL_ID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONTROL_ID") Dim oCONNID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONNECTION_ID") Dim oDEPENDING_COLUMN = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SPALTENNAME") Dim oSqlCommand = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SQL_COMMAND") If _dependingColumn_in_action = True Then Exit Sub End If - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) _dependingColumn_in_action = True Try - Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID) + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"LookupControl_DependingColumn - oDEPENDING_CONTROL_ID: {oDEPENDING_CONTROL_ID}") If Not IsNothing(oDTDEPENDING_RESULT) Then - LOGGER.Debug($"Trying to fill the DropDown (DC) for GridColumnGuid [{oDEPENDING_GUID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ") + LOGGER.Debug($"Trying to fill the DropDown (DC) for ControlID [{oDEPENDING_CONTROL_ID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ") For Each oControl As Control In pnldesigner.Controls - If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then + If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CONTROL_ID Then ClassControlCreator.GridTables.Add(oDEPENDING_COLUMN, oDTDEPENDING_RESULT) _dependingColumn_in_action = False Exit For @@ -1616,18 +1904,54 @@ Public Class frmValidator Next End If End Sub + Private Sub CheckBox_DependingColumn(pCheckbox As CheckBox) + Dim oSQLColumnDatatable As DataTable = DTGRID_COLUMNS_WITH_SQL.Clone() + Dim oExpression = $"SQL_COMMAND like '%#CTRL#{pCheckbox.Name}%'" + DTGRID_COLUMNS_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges) + If oSQLColumnDatatable.Rows.Count > 0 Then + For Each oRow As DataRow In oSQLColumnDatatable.Rows + Dim oDEPENDING_CONTROL_ID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONTROL_ID") + Dim oCONNID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONNECTION_ID") + Dim oDEPENDING_COLUMN = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SPALTENNAME") + Dim oSqlCommand = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SQL_COMMAND") + If _dependingColumn_in_action = True Then + Exit Sub + End If + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) + + _dependingColumn_in_action = True + Try + + Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"CheckBox_DependingColumn - oDEPENDING_CONTROL_ID: {oDEPENDING_CONTROL_ID}") + If Not IsNothing(oDTDEPENDING_RESULT) Then + LOGGER.Debug($"Trying to fill the DropDown (DC) for ControlID [{oDEPENDING_CONTROL_ID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ") + For Each oControl As Control In pnldesigner.Controls + If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CONTROL_ID Then + ClassControlCreator.GridTables.Add(oDEPENDING_COLUMN, oDTDEPENDING_RESULT) + _dependingColumn_in_action = False + Exit For + End If + Next + End If + Catch ex As Exception + LOGGER.Error(ex) + _dependingColumn_in_action = False + End Try + Next + End If + End Sub Public Sub OnCmbselectedIndex(sender As System.Object, e As System.EventArgs) - Dim cmb As ComboBox = sender - If cmb.SelectedIndex <> -1 And _Indexe_Loaded = True Then - If cmb.Name = last_control.Name Then + Dim oCombobox As ComboBox = sender + If oCombobox.SelectedIndex <> -1 And _Indexe_Loaded = True Then + If oCombobox.Name = last_control.Name Then 'Abschluss() Else Try - Dim CONTROL_ID = DirectCast(cmb.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, cmb.Name) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql) + 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") If Not IsNothing(DT) And DT.Rows.Count > 0 Then If _dependingControl_in_action = True Then Exit Sub @@ -1641,7 +1965,7 @@ Public Class frmValidator _Step = 2 Dim sql_Statement = IIf(IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")), "", ROW.Item("SQL_UEBERPRUEFUNG")) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) _Step = 3 _dependingControl_in_action = True @@ -1657,8 +1981,13 @@ Public Class frmValidator End Try Next End If - Controls2beEnabled(cmb.Name) - + Controls2beEnabled(oCombobox.Name) + Dim ofilteredData As DataTable = DTCONTROLS.Clone() + Dim oExpression = $"GUID = {CONTROL_ID} and Len(SET_CONTROL_DATA) > 0" + DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges) + If ofilteredData.Rows.Count = 1 Then + Dynamic_SetControlData(oCombobox, ofilteredData.Rows(0)) + End If Catch ex As Exception LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Eventhandler Variable SQL Result ComboBox - ERROR: " & ex.Message) @@ -1687,9 +2016,9 @@ Public Class frmValidator End If If Not IsDBNull(oRowEnablingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")) Then Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")), "", oRowEnablingControl.Item("SQL_ENABLE")) - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) _dependingControl_in_action = True - Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("CONNECTION_ID")) + Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("CONNECTION_ID"), $"Controls2beEnabled - oENABLE_CTRLID: {oENABLE_GUID}") Try Dim oFound As Boolean = False 'Dim oDependingLookup As LookupControl2 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault() @@ -1761,8 +2090,8 @@ Public Class frmValidator Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD")), "", oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD")) Dim oConID = oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID") If Not IsDBNull(oConID) Then - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) - Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID")) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) + Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID"), $"Controls2B_EnDisabled_on_Load - oENABLE_CTRLID: {oENABLE_GUID}") Try LOGGER.Debug($"oENABLERESULT [{oENABLERESULT}]...") oControl.Enabled = oENABLERESULT @@ -1900,7 +2229,7 @@ Public Class frmValidator End If Dim oSQL = $"SELECT * from [dbo].[FNPM_GET_NEXT_DOC_INFO] ({CURRENT_ProfilGUID},{oBIT},{CURRENT_DOC_GUID},'{USER_USERNAME}')" - Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSQL) + Dim oDT As DataTable = ClassDatabase.Return_Datatable(oSQL, "Get_Next_GUID") If oDT.Rows.Count > 0 Then newGUID = oDT.Rows(0).Item(0) CURRENT_DOC_ID = oDT.Rows(0).Item(1) @@ -1966,7 +2295,7 @@ Public Class frmValidator Try Dim oResult As String Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING) + oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows1") LOGGER.Debug($"Checking file 0 [{oResult}] exists?...") WMDocPathWindows = String.Empty If File.Exists(oResult) = False Then @@ -1978,7 +2307,7 @@ Public Class frmValidator 'Else LOGGER.Debug($"GetWMDocPathWindows returned false - trying with standard again...") oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({CURRENT_DOC_GUID},1)" - oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING) + oResult = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING, "GetDocPathWindows2") LOGGER.Debug($"Checking file 1[{oResult}] exists?...") If File.Exists(oResult) = False Then LOGGER.Warn($"GetDocPathWindows: File [{oResult}] not existing!") @@ -2008,7 +2337,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) + IDB_DT_DOC_DATA = ClassDatabase.Return_Datatable(oSQl, "Load_IDB_DOC_DATA") Catch ex As Exception LOGGER.Error(ex) End Try @@ -2144,13 +2473,13 @@ Public Class frmValidator activate_controls(True) Else errormessage = oErrorMessage - frmError.ShowDialog() - End If - 'Else - ' errormessage = oErrorMessage - ' frmError.ShowDialog() - 'End If - Else + frmError.ShowDialog() + End If + 'Else + ' errormessage = oErrorMessage + ' frmError.ShowDialog() + 'End If + Else If oErrorMessage <> "" Then errormessage = oErrorMessage frmError.ShowDialog() @@ -3069,18 +3398,18 @@ Public Class frmValidator Try For Each oRow As DataRow In DTGRID_SQL_DEFINITION.Rows - Dim oDEPENDING_GUID = oRow.Item("CONTROL_ID") + Dim oDEPENDING_CTRL_ID = oRow.Item("CONTROL_ID") Dim oDEPENDING_COLUMN = oRow.Item("SPALTENNAME") Dim oSqlCommand = oRow.Item("SQL_COMMAND") Dim oCONNID = oRow.Item("CONNECTION_ID") - oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True) Try - Dim oDTRESULT_FOR_COLUMN As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID) + Dim oDTRESULT_FOR_COLUMN As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"oDEPENDING_CTRL_ID: {oDEPENDING_CTRL_ID}") If Not IsNothing(oDTRESULT_FOR_COLUMN) Then - LOGGER.Debug($"Trying to create a DropDown(FI) for GridColumnGuid [{oDEPENDING_GUID}]..RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ") + LOGGER.Debug($"Trying to create a DropDown(FI) for oDEPENDING_CTRL_ID [{oDEPENDING_CTRL_ID}]..RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ") For Each oControl As Control In pnldesigner.Controls - If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then + If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CTRL_ID Then ClassControlCreator.GridTables.Add(oDEPENDING_COLUMN, oDTRESULT_FOR_COLUMN) Exit For End If @@ -3090,7 +3419,7 @@ Public Class frmValidator End If Catch ex As Exception - LOGGER.Warn($"Unexpected error in creating dropdown(FI) for oDEPENDING_GUID {oDEPENDING_GUID} an Column {oDEPENDING_COLUMN} " & ex.Message) + LOGGER.Warn($"Unexpected error in creating dropdown(FI) for oDEPENDING_GUID {oDEPENDING_CTRL_ID} an Column {oDEPENDING_COLUMN} " & ex.Message) End Try Next @@ -3208,9 +3537,9 @@ Public Class frmValidator Private Function btnFinish_continue() Try Dim oSQL = PROFIL_FINISH_SQL - oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True) - Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL) + Dim oDT_ACTIONS As DataTable = ClassDatabase.Return_Datatable(oSQL, "btnFinish_continue") 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 @@ -3294,7 +3623,7 @@ Public Class frmValidator If includeFI = True Then Try Dim oSQL = $"SELECT * FROM TBPM_PROFILE_FINAL_INDEXING WHERE PROFIL_ID = {CURRENT_ProfilGUID}" - Dim oDTFinalIndexing = ClassDatabase.Return_Datatable(oSQL) + Dim oDTFinalIndexing = ClassDatabase.Return_Datatable(oSQL, "Finish_WFStep") If oDTFinalIndexing?.Rows.Count > 0 Then 'Jetzt finale Indexe setzen @@ -3309,9 +3638,10 @@ Public Class frmValidator End If If oValue.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ### LOGGER.Debug("Indexing wih dynamic sql...") + Dim oGUID = oFinalIndexRow.Item("GUID") Dim oSQLCommand = oFinalIndexRow.Item("SQL_COMMAND") Dim oConnectionID = oFinalIndexRow.Item("CONNECTION_ID") - oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, pnldesigner, True) If IsNothing(oSQLCommand) Then errormessage = "Error while replacing Values in final indexing - Check the log" My.Settings.Save() @@ -3320,7 +3650,7 @@ Public Class frmValidator ItemWorked = False End If If Not IsNothing(oSQLCommand) Then - Dim oResultfromSQL = ClassDatabase.Execute_Scalar_ConID(oSQLCommand, oConnectionID) + Dim oResultfromSQL = ClassDatabase.Execute_Scalar_ConID(oSQLCommand, oConnectionID, "FinalIndex - oGUID: {oGUID}") If Not IsNothing(oResultfromSQL) Then LOGGER.Debug($"oResultfromSQL is [{oResultfromSQL.ToString}]") @@ -3517,7 +3847,7 @@ Public Class frmValidator 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, True) + Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(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") @@ -3528,7 +3858,7 @@ Public Class frmValidator Dim value = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES") If CBool(value) = 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, True) + Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(oFIsql, "Finish_WFStep3") If Not IsNothing(DT_ENTRIES) Then If DT_ENTRIES.Rows.Count > 0 Then Dim AnnotationString As String = "" @@ -4887,5 +5217,4 @@ Public Class frmValidator Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename) End Function - End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.vb b/app/DD_PM_WINDREAM/frmValidatorSearch.vb index ae6b3f5..c60dc2c 100644 --- a/app/DD_PM_WINDREAM/frmValidatorSearch.vb +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.vb @@ -414,7 +414,7 @@ Public Class frmValidatorSearch If IsNothing(_DTSQLSearches) Then Exit Sub Dim oConID = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("CONN_ID") Dim oCommand = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) Dim oTabIndex = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_INDEX") Dim oTabCaption = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_TITLE") RefreshTabSQL(oConID, oCommand, oTabIndex, oTabCaption) @@ -423,7 +423,7 @@ Public Class frmValidatorSearch If IsNothing(_DTDocSearches) Then Exit Sub Dim oConID = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("CONN_ID") Dim oCommand = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) Dim oTabIndex = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_INDEX") Dim oTabCaption = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_TITLE") RefreshTabDoc(oConID, oCommand, oTabIndex, oTabCaption) @@ -610,7 +610,7 @@ Public Class frmValidatorSearch _DTSQLSearches = BASEDATA_DT_PROFILE_SEARCHES_SQL Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) XtraTabControlSQL.SelectedTabPageIndex = 0 Refresh_Load_GridSQL(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE")) End If @@ -618,7 +618,7 @@ Public Class frmValidatorSearch _DTDocSearches = BASEDATA_DT_PROFILE_SEARCHES_DOC Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) XtraTabControlDocs.SelectedTabPageIndex = 0 RefreshTabDoc(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE")) End If @@ -635,7 +635,7 @@ Public Class frmValidatorSearch Dim oTabIndex = XtraTabControlDocs.SelectedTabPageIndex Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) RefreshTabDoc(oConID, oCommand, oTabIndex, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("TAB_TITLE")) End Sub @@ -667,7 +667,7 @@ Public Class frmValidatorSearch Dim oTabIndex = XtraTabControlSQL.SelectedTabPageIndex Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("CONN_ID") Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True) RefreshTabSQL(oConID, oCommand, oTabIndex, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("TAB_TITLE")) End Sub