diff --git a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb index 32dc87c..52c8816 100644 --- a/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb +++ b/app/DD_PM_WINDREAM/ClassFinalizeDoc.vb @@ -37,7 +37,7 @@ ' LOGGER.Info("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message) ' End Try 'Next - Dim sql_Statement = clsPatterns.ReplaceUserValues(dr.Item("SQL_COMMAND"), USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + Dim sql_Statement = clsPatterns.ReplaceUserValues(dr.Item("SQL_COMMAND"), USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) sql_Statement = clsPatterns.ReplaceInternalValues(sql_Statement) sql_Statement = clsPatterns.ReplaceWindreamIndicies(sql_Statement, WMObject) diff --git a/app/DD_PM_WINDREAM/clsPatterns.vb b/app/DD_PM_WINDREAM/clsPatterns.vb index 59ee7f5..bca74fe 100644 --- a/app/DD_PM_WINDREAM/clsPatterns.vb +++ b/app/DD_PM_WINDREAM/clsPatterns.vb @@ -17,6 +17,7 @@ Public Class clsPatterns ' Complex patterns that rely on a datasource like a Database or Windream Public Const PATTERN_WMI = "WMI" Public Const PATTERN_CTRL = "CTRL" + Public Const PATTERN_PRO = "PRO" ' Simple patterns that only rely on .NET functions Public Const PATTERN_INT = "INT" ' Simple patterns that rely on Data from the TBDD_USER table @@ -26,17 +27,21 @@ Public Class clsPatterns Public Const USER_VALUE_SURNAME = "SURNAME" Public Const USER_VALUE_EMAIL = "EMAIL" Public Const USER_VALUE_SHORTNAME = "SHORTNAME" + Public Const USER_VALUE_USER_ID = "USER_ID" Public Const INT_VALUE_USERNAME = "USERNAME" Public Const INT_VALUE_MACHINE = "MACHINE" Public Const INT_VALUE_DOMAIN = "DOMAIN" + Public Const INT_VALUE_DATE = "DATE" + + Public Const PRO_VALUE_PROFILE_ID = "PROFILE_ID" Public Const MAX_TRY_COUNT = 100 Private Shared regex As Regex = New Regex("{#(\w+)#([\w\s_-]+)}+") - Private Shared allPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_USER, PATTERN_INT} + Private Shared allPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_USER, PATTERN_INT, PATTERN_PRO} Private Shared complexPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL} - Private Shared simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT} + Private Shared simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT, PATTERN_PRO} ''' ''' Wraps a pattern-type and -value in the common format: {#type#value} @@ -46,14 +51,15 @@ 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, email As Object) As String + Public Shared Function ReplaceAllValues(input As String, panel As Panel, document As WMObject, prename As Object, surname As Object, shortname As Object, email As Object, userId As Object, profileId As Object) As String Try Dim result = input result = ReplaceInternalValues(result) result = ReplaceControlValues(result, panel) If Not IsNothing(document) Then result = ReplaceWindreamIndicies(result, document) - result = ReplaceUserValues(result, prename, surname, shortname, email) + If Not IsNothing(profileId) AndAlso profileId > 0 Then result = ReplaceProfileValues(result, profileId) + result = ReplaceUserValues(result, prename, surname, shortname, email, userId) Return result Catch ex As Exception @@ -81,6 +87,11 @@ Public Class clsPatterns result = ReplacePattern(result, PATTERN_INT, Environment.UserDomainName) End While + ' Replace CurrentDate(s) + While ContainsPatternAndValue(result, PATTERN_INT, INT_VALUE_DATE) + result = ReplacePattern(result, PATTERN_INT, Now.ToShortDateString) + End While + Return result Catch ex As Exception LOGGER.Error(ex) @@ -88,7 +99,7 @@ Public Class clsPatterns End Try End Function - Public Shared Function ReplaceUserValues(input As String, prename As Object, surname As Object, shortname As Object, email As Object) As String + Public Shared Function ReplaceUserValues(input As String, prename As Object, surname As Object, shortname As Object, email As Object, userId As Object) As String Try Dim result = input @@ -96,6 +107,9 @@ Public Class clsPatterns result = ReplacePattern(input, PATTERN_USER, prename) End While + While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_USER_ID) + result = ReplacePattern(input, PATTERN_USER, userId) + End While While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_SURNAME) result = ReplacePattern(input, PATTERN_USER, surname) @@ -116,6 +130,21 @@ Public Class clsPatterns End Try End Function + Public Shared Function ReplaceProfileValues(Input As String, profileId As Object) + Try + Dim result = Input + + While ContainsPatternAndValue(result, PATTERN_PRO, PRO_VALUE_PROFILE_ID) + ReplacePattern(result, PATTERN_PRO, profileId) + End While + + Return result + Catch ex As Exception + LOGGER.Error(ex) + LOGGER.Info("Error in ReplaceProfileValues:" & ex.Message) + End Try + End Function + Public Shared Function ReplaceControlValues(input As String, panel As Panel) As String Try diff --git a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb index b5cef39..1174134 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb @@ -210,6 +210,7 @@ Partial Class frmAdministration Me.TabPage7 = New System.Windows.Forms.TabPage() Me.TabPage8 = New System.Windows.Forms.TabPage() Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.btnSQLProfilehome = New System.Windows.Forms.Button() Me.btnUserManager = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.VEKTOR_DELIMITERTextBox = New System.Windows.Forms.TextBox() @@ -1643,6 +1644,7 @@ Partial Class frmAdministration ' 'TabPage3 ' + Me.TabPage3.Controls.Add(Me.btnSQLProfilehome) Me.TabPage3.Controls.Add(Me.btnUserManager) Me.TabPage3.Controls.Add(Me.Button2) Me.TabPage3.Controls.Add(VEKTOR_DELIMITERLabel) @@ -1664,6 +1666,13 @@ Partial Class frmAdministration Me.TabPage3.Name = "TabPage3" Me.TabPage3.UseVisualStyleBackColor = True ' + 'btnSQLProfilehome + ' + Me.btnSQLProfilehome.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.application_form_edit + resources.ApplyResources(Me.btnSQLProfilehome, "btnSQLProfilehome") + Me.btnSQLProfilehome.Name = "btnSQLProfilehome" + Me.btnSQLProfilehome.UseVisualStyleBackColor = True + ' 'btnUserManager ' Me.btnUserManager.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.user @@ -2373,4 +2382,5 @@ Partial Class frmAdministration Friend WithEvents colACTIVE As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colPREVENT_DUPLICATES As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colALLOW_NEW_VALUES As DevExpress.XtraGrid.Columns.GridColumn + Friend WithEvents btnSQLProfilehome As Button End Class diff --git a/app/DD_PM_WINDREAM/frmAdministration.resx b/app/DD_PM_WINDREAM/frmAdministration.resx index a9ee4ed..f8e3417 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.resx +++ b/app/DD_PM_WINDREAM/frmAdministration.resx @@ -1147,7 +1147,7 @@ TabPage3 - 9 + 10 False @@ -1177,7 +1177,7 @@ TabPage3 - 14 + 15 False @@ -1207,7 +1207,7 @@ TabPage3 - 12 + 13 False @@ -1485,7 +1485,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 2 + 3 False @@ -3520,6 +3520,39 @@ der Wertänderungen nutzen wollen: 1 + + MiddleLeft + + + NoControl + + + 649, 234 + + + 172, 34 + + + 16 + + + Profilübersicht SQL + + + MiddleRight + + + btnSQLProfilehome + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPage3 + + + 0 + MiddleLeft @@ -3551,7 +3584,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 0 + 1 MiddleLeft @@ -3581,7 +3614,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 1 + 2 767, 95 @@ -3605,7 +3638,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 3 + 4 MiddleLeft @@ -3635,7 +3668,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 4 + 5 MiddleLeft @@ -3665,7 +3698,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 5 + 6 463, 32 @@ -3689,7 +3722,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 6 + 7 112, 19 @@ -3953,7 +3986,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 7 + 8 MiddleLeft @@ -3983,7 +4016,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 8 + 9 20, 33 @@ -4004,7 +4037,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 10 + 11 True @@ -4031,7 +4064,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 11 + 12 649, 303 @@ -4052,7 +4085,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 13 + 14 649, 348 @@ -4073,7 +4106,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 15 + 16 MiddleLeft @@ -4103,7 +4136,7 @@ der Wertänderungen nutzen wollen: TabPage3 - 16 + 17 4, 25 diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb index 78abe34..30d93b1 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.vb @@ -147,7 +147,6 @@ Public Class frmAdministration If TabControl2.SelectedIndex = 1 Then Refresh_Final_indexe() End If - End If Catch ex As Exception LOGGER.Error(ex) @@ -1150,6 +1149,22 @@ Public Class frmAdministration End If End Sub + Private Sub btnSQLProfilehome_Click(sender As Object, e As EventArgs) Handles btnSQLProfilehome.Click + Try + Dim oSQL = CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") + Dim oForm As New frmSQL_DESIGNER() With {.SQLCommand = oSQL} + Dim oResult = oForm.ShowDialog() + + If oResult = DialogResult.OK Then + ClassDatabase.Execute_non_Query(String.Format("UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '{0}' WHERE GUID = 1", oForm.SQLCommand.Replace("'", "''"))) + CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") = oForm.SQLCommand + End If + Catch ex As Exception + MsgBox("Fehler beim Speichern: " & vbNewLine & vbNewLine & ex.Message) + LOGGER.Error(ex) + End Try + End Sub + 'Private Sub viewFinalIndex_ValidateRow(sender As Object, e As Views.Base.ValidateRowEventArgs) Handles viewFinalIndex.ValidateRow ' Dim rowView As DataRowView = e.Row diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index 870b555..54639ca 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -476,6 +476,10 @@ Public Class frmMain Dim value = row.Item("VALUE") Dim argument = row.Item("ARGUMENT") Dim sqlchart = row.Item("SQL_COMMAND") + + sqlchart = clsPatterns.ReplaceInternalValues(sqlchart) + sqlchart = clsPatterns.ReplaceUserValues(sqlchart, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) + sqlchart = sqlchart.ToString.ToUpper.Replace("@USER_ID", USER_ID) sqlchart = sqlchart.ToString.ToUpper.Replace("@USER", USER_USERNAME) Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(sqlchart) @@ -588,6 +592,10 @@ Public Class frmMain ToolStripLabelViewTape.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE Dim sql = foundRows(0)("SQL_VIEW") + + sql = clsPatterns.ReplaceInternalValues(sql) + sql = clsPatterns.ReplaceUserValues(sql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) + sql = sql.Replace("@USER_ID", USER_ID) sql = sql.Replace("@USERNAME", Environment.UserName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) @@ -721,6 +729,10 @@ Public Class frmMain ClassInit.InitBasics() Dim sql = CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") + sql = clsPatterns.ReplaceInternalValues(sql) + sql = clsPatterns.ReplaceUserValues(sql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) + + ' this needs to stay for backwards compatibility sql = sql.Replace("@USER_ID", USER_ID) sql = sql.Replace("@USERNAME", Environment.UserName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) @@ -1171,6 +1183,10 @@ Public Class frmMain tslblmessage.Text = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig" Exit Sub End If + + oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview) + oSQLOverview = clsPatterns.ReplaceUserValues(oSQLOverview, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) + oSQLOverview = oSQLOverview.Replace("@USER_ID", USER_ID) oSQLOverview = oSQLOverview.Replace("@USERNAME", Environment.UserName) oSQLOverview = oSQLOverview.Replace("@MACHINE_NAME", Environment.MachineName) diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 3597bfc..3ccc248 100644 --- a/app/DD_PM_WINDREAM/frmMassValidator.vb +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -378,7 +378,7 @@ 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_EMAIL) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) LOGGER.Debug(">>> sql after ReplaceAllValues: " & oSqlCommand) _dependingControl_in_action = True Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable(oSqlCommand) @@ -829,7 +829,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_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) _dependingControl_in_action = True Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) @@ -905,7 +905,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_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) _dependingControl_in_action = True @@ -1007,7 +1007,7 @@ Public Class frmMassValidator Continue For End If - sql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + sql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) sql = clsPatterns.ReplaceInternalValues(sql) LOGGER.Debug(">>> sql after ReplaceInternalValues: " & sql) 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.Designer.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.Designer.vb index 1338adf..2831bd0 100644 --- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.Designer.vb +++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.Designer.vb @@ -23,8 +23,8 @@ Partial Class frmSQL_DESIGNER _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle7 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle8 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSQL_DESIGNER)) Me.DD_DMSLiteDataSet = New DD_PM_WINDREAM.DD_DMSLiteDataSet() Me.TableAdapterManager = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TableAdapterManager() @@ -42,7 +42,7 @@ Partial Class frmSQL_DESIGNER Me.colPlaceholder = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.colReplace = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.btnTestSQL = New System.Windows.Forms.Button() - Me.Label15 = New System.Windows.Forms.Label() + Me.lbIndexe = New System.Windows.Forms.Label() Me.cmbIndexe = New System.Windows.Forms.ComboBox() Me.btnAddIndex = New System.Windows.Forms.Button() Me.btnSaveSQLCommand = New System.Windows.Forms.Button() @@ -70,6 +70,7 @@ Partial Class frmSQL_DESIGNER 'TableAdapterManager ' Me.TableAdapterManager.BackupDataSetBeforeUpdate = False + Me.TableAdapterManager.Connection = Nothing Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing Me.TableAdapterManager.TBPM_CONTROL_TABLETableAdapter = Nothing @@ -78,6 +79,7 @@ Partial Class frmSQL_DESIGNER Me.TableAdapterManager.TBPM_KONFIGURATIONTableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILE_CONTROLSTableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILE_FILESTableAdapter = Nothing + Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing Me.TableAdapterManager.UpdateOrder = DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete @@ -178,8 +180,8 @@ Partial Class frmSQL_DESIGNER ' Me.dgvResult.AllowUserToAddRows = False Me.dgvResult.AllowUserToDeleteRows = False - DataGridViewCellStyle1.BackColor = System.Drawing.Color.Cyan - Me.dgvResult.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle7.BackColor = System.Drawing.Color.Cyan + Me.dgvResult.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle7 Me.dgvResult.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.dgvResult.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize @@ -193,8 +195,8 @@ Partial Class frmSQL_DESIGNER ' Me.dgvPlaceholders.AllowUserToAddRows = False Me.dgvPlaceholders.AllowUserToDeleteRows = False - DataGridViewCellStyle2.BackColor = System.Drawing.Color.Cyan - Me.dgvPlaceholders.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle2 + DataGridViewCellStyle8.BackColor = System.Drawing.Color.Cyan + Me.dgvPlaceholders.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle8 Me.dgvPlaceholders.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.dgvPlaceholders.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.dgvPlaceholders.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.colPlaceholder, Me.colReplace}) @@ -230,15 +232,15 @@ Partial Class frmSQL_DESIGNER Me.btnTestSQL.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnTestSQL.UseVisualStyleBackColor = True ' - 'Label15 + 'lbIndexe ' - Me.Label15.AutoSize = True - Me.Label15.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label15.Location = New System.Drawing.Point(678, 13) - Me.Label15.Name = "Label15" - Me.Label15.Size = New System.Drawing.Size(203, 16) - Me.Label15.TabIndex = 93 - Me.Label15.Text = "Index (zur Laufzeit ausgewertet):" + Me.lbIndexe.AutoSize = True + Me.lbIndexe.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbIndexe.Location = New System.Drawing.Point(678, 13) + Me.lbIndexe.Name = "lbIndexe" + Me.lbIndexe.Size = New System.Drawing.Size(203, 16) + Me.lbIndexe.TabIndex = 93 + Me.lbIndexe.Text = "Index (zur Laufzeit ausgewertet):" ' 'cmbIndexe ' @@ -313,7 +315,7 @@ Partial Class frmSQL_DESIGNER 'cmbStatic ' Me.cmbStatic.FormattingEnabled = True - Me.cmbStatic.Items.AddRange(New Object() {"USERNAME", "MACHINE", "DOMAIN"}) + Me.cmbStatic.Items.AddRange(New Object() {"USERNAME", "MACHINE", "DOMAIN", "DATE"}) Me.cmbStatic.Location = New System.Drawing.Point(445, 86) Me.cmbStatic.Name = "cmbStatic" Me.cmbStatic.Size = New System.Drawing.Size(194, 21) @@ -341,7 +343,7 @@ Partial Class frmSQL_DESIGNER 'cmbUser ' Me.cmbUser.FormattingEnabled = True - Me.cmbUser.Items.AddRange(New Object() {"PRENAME", "SURNAME", "SHORTNAME", "EMAIL"}) + Me.cmbUser.Items.AddRange(New Object() {"PRENAME", "SURNAME", "SHORTNAME", "EMAIL", "USER_ID"}) Me.cmbUser.Location = New System.Drawing.Point(681, 86) Me.cmbUser.Name = "cmbUser" Me.cmbUser.Size = New System.Drawing.Size(194, 21) @@ -383,7 +385,7 @@ Partial Class frmSQL_DESIGNER Me.Controls.Add(Me.lblSaveFinalIndex) Me.Controls.Add(Me.btnSaveSQLCommand) Me.Controls.Add(Me.btnAddIndex) - Me.Controls.Add(Me.Label15) + Me.Controls.Add(Me.lbIndexe) Me.Controls.Add(Me.cmbIndexe) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.Label5) @@ -427,7 +429,7 @@ Partial Class frmSQL_DESIGNER Friend WithEvents colPlaceholder As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents colReplace As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents btnTestSQL As System.Windows.Forms.Button - Friend WithEvents Label15 As System.Windows.Forms.Label + Friend WithEvents lbIndexe As System.Windows.Forms.Label Friend WithEvents cmbIndexe As System.Windows.Forms.ComboBox Friend WithEvents btnAddIndex As System.Windows.Forms.Button Friend WithEvents btnSaveSQLCommand As System.Windows.Forms.Button diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb index 6410ec1..bfd6793 100644 --- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb +++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb @@ -47,44 +47,35 @@ Public Class frmSQL_DESIGNER Else SQL_COMMANDTextBox.Text = String.Empty End If - End If - - Try - ' Windream instanziieren - '_windreamPM = New ClassPMWindream() - 'Windream initialisieren (Connection, Session, ... aufbauen) - '_windreamPM.Create_Session() - Catch ex As Exception - LOGGER.Error(ex) - MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") - End Try - cmbIndexe.Items.Clear() - Dim indexe = WINDREAM.GetIndicesByObjecttype(CURRENT_OBJECTTYPE) - If indexe IsNot Nothing Then - For Each index As String In indexe - Me.cmbIndexe.Items.Add(index) - Next - Me.cmbIndexe.SelectedIndex = -1 - End If - If CURRENT_DESIGN_TYPE = "INPUT_INDEX" Then - Dim sql = String.Format("SELECT NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND CTRL_TYPE <> 'LBL' ORDER BY NAME", CURRENT_ProfilGUID) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) - cmbControls.DataSource = DT - cmbControls.DisplayMember = DT.Columns(0).ColumnName + 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) + cmbControls.DataSource = oDatatable + cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName cmbControls.Visible = True lblControls.Visible = True btnAddControl.Visible = True + + cmbIndexe.Items.Clear() + Dim oIndicies = WINDREAM.GetIndicesByObjecttype(CURRENT_OBJECTTYPE) + If oIndicies IsNot Nothing Then + For Each index As String In oIndicies + cmbIndexe.Items.Add(index) + Next + cmbIndexe.SelectedIndex = -1 + End If Else cmbControls.Visible = False lblControls.Visible = False btnAddControl.Visible = False + cmbIndexe.Visible = False + lbIndexe.Visible = False + btnAddIndex.Visible = False End If Catch ex As Exception LOGGER.Error(ex) MsgBox("Unexpected Error while loading form: " & ex.Message, MsgBoxStyle.Critical) End Try - End Sub Private Sub SQL_COMMANDTextBox_TextChanged(sender As Object, e As EventArgs) Handles SQL_COMMANDTextBox.TextChanged, SQL_COMMANDTextBox.Click diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index def4061..c010a6f 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -464,7 +464,7 @@ Public Class frmValidator _frmValidatorSearch._DTSQLSearches = CURRENT_DT_PROFILE_SEARCHES_SQL Dim oConID = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) _frmValidatorSearch.Refresh_Load_GridSQL(oConID, oCommand, 0, CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE")) End If @@ -472,7 +472,7 @@ Public Class frmValidator _frmValidatorSearch._DTDocSearches = CURRENT_DT_PROFILE_SEARCHES_DOC Dim oConID = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) _frmValidatorSearch.RefreshTabDoc(oConID, oCommand, 0, CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE")) End If @@ -504,7 +504,7 @@ Public Class frmValidator Continue For End If - sql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + sql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID) sql = clsPatterns.ReplaceInternalValues(sql) LOGGER.Debug(">>> sql after ReplaceInternalValues: " & sql) 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) @@ -885,7 +885,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_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) LOGGER.Debug(">>> sql after ReplaceAllValues: " & sql) '' Regulären Ausdruck zum Auslesen der Indexe definieren 'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" @@ -1027,7 +1027,7 @@ Public Class frmValidator 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_EMAIL) + oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) LOGGER.Debug(">>> sql after ReplaceAllValues: " & oSqlCommand) _dependingControl_in_action = True Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable(oSqlCommand) @@ -1081,7 +1081,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_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) _Step = 3 LOGGER.Debug(">>> sql after ReplaceAllValues: " & sql) '' Regulären Ausdruck zum Auslesen der Indexe definieren @@ -2622,7 +2622,7 @@ Public Class frmValidator Dim oSQLCommand = dr.Item("SQL_COMMAND") LOGGER.Debug("SQL_COMMAND before ReplaceAllValues: " & oSQLCommand) - oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) LOGGER.Debug("SQL_COMMAND after ReplaceAllValues: " & oSQLCommand) Dim dynamic_value = ClassDatabase.Execute_Scalar(oSQLCommand, CONNECTION_STRING, True) diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.vb b/app/DD_PM_WINDREAM/frmValidatorSearch.vb index 52ffd81..ac93b32 100644 --- a/app/DD_PM_WINDREAM/frmValidatorSearch.vb +++ b/app/DD_PM_WINDREAM/frmValidatorSearch.vb @@ -402,7 +402,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_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) Dim oTabIndex = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_INDEX") Dim oTabCaption = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_TITLE") RefreshTabSQL(oConID, oCommand, oTabIndex, oTabCaption) @@ -411,7 +411,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_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) Dim oTabIndex = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_INDEX") Dim oTabCaption = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_TITLE") RefreshTabDoc(oConID, oCommand, oTabIndex, oTabCaption) @@ -583,7 +583,7 @@ Public Class frmValidatorSearch _DTSQLSearches = CURRENT_DT_PROFILE_SEARCHES_SQL Dim oConID = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) XtraTabControlSQL.SelectedTabPageIndex = 0 Refresh_Load_GridSQL(oConID, oCommand, 0, CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE")) End If @@ -591,7 +591,7 @@ Public Class frmValidatorSearch _DTDocSearches = CURRENT_DT_PROFILE_SEARCHES_DOC Dim oConID = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) XtraTabControlDocs.SelectedTabPageIndex = 0 RefreshTabDoc(oConID, oCommand, 0, CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE")) End If @@ -608,7 +608,7 @@ Public Class frmValidatorSearch Dim oTabIndex = XtraTabControlDocs.SelectedTabPageIndex Dim oConID = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) RefreshTabDoc(oConID, oCommand, oTabIndex, CURRENT_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("TAB_TITLE")) End Sub @@ -640,7 +640,7 @@ Public Class frmValidatorSearch Dim oTabIndex = XtraTabControlSQL.SelectedTabPageIndex Dim oConID = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("CONN_ID") Dim oCommand = CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("SQL_COMMAND") - oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) + oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, CURRENT_WMFILE, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID) RefreshTabSQL(oConID, oCommand, oTabIndex, CURRENT_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("TAB_TITLE")) End Sub