From b3330ad1cc92394d3c32c0500accb7c74a78906f Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Mon, 16 Mar 2020 17:21:25 +0100 Subject: [PATCH] MS --- app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb | 2 ++ app/DD_PM_WINDREAM/clsPatterns.vb | 18 +++++----- .../frmAdministration.Designer.vb | 14 ++++++-- app/DD_PM_WINDREAM/frmAdministration.resx | 33 +++++++++++++++++++ app/DD_PM_WINDREAM/frmAdministration.vb | 31 +++++++++++++++-- app/DD_PM_WINDREAM/frmFormDesigner.vb | 2 ++ app/DD_PM_WINDREAM/frmMain.vb | 9 +++++ app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb | 2 +- 8 files changed, 97 insertions(+), 14 deletions(-) diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index f88afdb..fdf9794 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -38,6 +38,8 @@ Module ModuleRuntimeVariables Public USER_USERNAME As String Public DT_USER2MODULE As DataTable + Public CHANGES_IN_ADMINISTRATION As Boolean = False + Public USER_IS_ADMIN As Boolean = False Public USER_ID Public USER_PRENAME diff --git a/app/DD_PM_WINDREAM/clsPatterns.vb b/app/DD_PM_WINDREAM/clsPatterns.vb index d852e1a..ea3f18e 100644 --- a/app/DD_PM_WINDREAM/clsPatterns.vb +++ b/app/DD_PM_WINDREAM/clsPatterns.vb @@ -38,7 +38,7 @@ Public Class clsPatterns Public Const MAX_TRY_COUNT = 500 - Private Shared regex As Regex = New Regex("{#(\w+)#([\w\s_-]+)}+") + Private Shared MyRegex As Regex = New Regex("{#(\w+)#([\:\.\w\s_-]+)}+") Private Shared allPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA, PATTERN_USER, PATTERN_INT} Private Shared complexPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA} Private Shared simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT} @@ -131,7 +131,7 @@ Public Class clsPatterns While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_EMAIL) result = ReplacePattern(result, PATTERN_USER, email) End While - + While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_PROFILE_ID) result = ReplacePattern(result, PATTERN_USER, profileId) End While @@ -236,7 +236,7 @@ Public Class clsPatterns End Function Private Shared Function ContainsPattern(input As String, type As String) As String - Dim elements As MatchCollection = regex.Matches(input) + Dim elements As MatchCollection = MyRegex.Matches(input) For Each element As Match In elements Dim t As String = element.Groups(1).Value @@ -250,7 +250,7 @@ Public Class clsPatterns End Function Public Shared Function GetNextPattern(input As String, type As String) As Pattern - Dim elements As MatchCollection = regex.Matches(input) + Dim elements As MatchCollection = MyRegex.Matches(input) For Each element As Match In elements ' Pattern in input @@ -266,7 +266,7 @@ Public Class clsPatterns End Function Public Shared Function GetAllPatterns(input As String) As List(Of Pattern) - Dim elements As MatchCollection = regex.Matches(input) + Dim elements As MatchCollection = MyRegex.Matches(input) Dim results As New List(Of Pattern) For Each element As Match In elements @@ -281,7 +281,7 @@ Public Class clsPatterns End Function Public Shared Function ReplacePattern(input As String, type As String, replacement As String) As String - Dim elements As MatchCollection = regex.Matches(input) + Dim elements As MatchCollection = MyRegex.Matches(input) If IsNothing(replacement) Then Return input @@ -300,7 +300,7 @@ Public Class clsPatterns End Function Private Shared Function ContainsPatternAndValue(input As String, type As String, value As String) As Boolean - Dim elements As MatchCollection = regex.Matches(input) + Dim elements As MatchCollection = MyRegex.Matches(input) For Each element As Match In elements ' Pattern in input @@ -332,7 +332,7 @@ Public Class clsPatterns End Function Public Shared Function HasPattern(input As String, type As String) As Boolean - Dim matches = regex.Matches(input) + Dim matches = MyRegex.Matches(input) For Each match As Match In matches For Each group As Group In match.Groups @@ -355,7 +355,7 @@ Public Class clsPatterns End Sub Public Sub New(stringRepresentation As String) - Dim elements As MatchCollection = regex.Matches(stringRepresentation) + Dim elements As MatchCollection = MyRegex.Matches(stringRepresentation) Dim first As Match = elements.Item(0) Dim t As String = first.Groups(1).Value diff --git a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb index 446c06d..ad444d7 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb @@ -190,6 +190,7 @@ Partial Class frmAdministration Me.tsbStaticInfo = New DevExpress.XtraBars.BarStaticItem() Me.BarButtonItem20 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem21 = New DevExpress.XtraBars.BarButtonItem() + Me.bbtnItemFinishSQL = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -1256,9 +1257,9 @@ Partial Class frmAdministration 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem11, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.tsbStaticInfo, Me.BarButtonItem20, Me.BarButtonItem21}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem11, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.tsbStaticInfo, Me.BarButtonItem20, Me.BarButtonItem21, Me.bbtnItemFinishSQL}) resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") - Me.RibbonControl1.MaxItemId = 23 + Me.RibbonControl1.MaxItemId = 24 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 @@ -1433,6 +1434,13 @@ Partial Class frmAdministration Me.BarButtonItem21.Name = "BarButtonItem21" Me.BarButtonItem21.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large ' + 'bbtnItemFinishSQL + ' + resources.ApplyResources(Me.bbtnItemFinishSQL, "bbtnItemFinishSQL") + Me.bbtnItemFinishSQL.Id = 23 + Me.bbtnItemFinishSQL.ImageOptions.SvgImage = CType(resources.GetObject("bbtnItemFinishSQL.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.bbtnItemFinishSQL.Name = "bbtnItemFinishSQL" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3}) @@ -1449,6 +1457,7 @@ Partial Class frmAdministration Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem5) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem6) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem21) + Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnItemFinishSQL) Me.RibbonPageGroup1.Name = "RibbonPageGroup1" resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1") ' @@ -1732,4 +1741,5 @@ Partial Class frmAdministration Friend WithEvents BarButtonItem20 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem21 As DevExpress.XtraBars.BarButtonItem Friend WithEvents lblPriority As Label + Friend WithEvents bbtnItemFinishSQL As DevExpress.XtraBars.BarButtonItem End Class diff --git a/app/DD_PM_WINDREAM/frmAdministration.resx b/app/DD_PM_WINDREAM/frmAdministration.resx index 0fe74f4..98ec8a1 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.resx +++ b/app/DD_PM_WINDREAM/frmAdministration.resx @@ -3420,6 +3420,33 @@ LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIsMjV6 IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUuMSwyNiwy NCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw== + + + + SQL Abschluss + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAN4DAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iRmluaXNoTWVyZ2UiPg0KICAgIDxwYXRoIGQ9Ik0xMy4yLDE4Yy0wLjMsMC42LTAu + NiwxLjMtMC44LDJINnYtMkgxMy4yeiBNMTIuMSwyNEg0VjJoMTZ2MTAuNGMwLjYtMC4yLDEuMy0wLjMs + Mi0wLjRWMWMwLTAuNS0wLjUtMS0xLTEgICBIM0MyLjUsMCwyLDAuNSwyLDF2MjRjMCwwLjUsMC41LDEs + MSwxaDkuNEMxMi4yLDI1LjQsMTIuMSwyNC43LDEyLjEsMjR6IE02LDE2aDguNWMwLjYtMC44LDEuNC0x + LjQsMi4yLTJINlYxNnogTTYsOGgxMlY2SDZWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cmVjdCB4 + PSI2IiB5PSIxMCIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IlllbGxv + dyIgLz4NCiAgICA8cGF0aCBkPSJNMjMsMTRjLTUsMC05LDQtOSw5YzAsNSw0LDksOSw5czktNCw5LTlD + MzIsMTgsMjgsMTQsMjMsMTR6IE0yMiwyOGwtNS01bDItMmwzLDNsNS01bDIsMkwyMiwyOHoiIGNsYXNz + PSJHcmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== @@ -4111,6 +4138,12 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + bbtnItemFinishSQL + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage1 diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb index c5c43c8..ebcb4ae 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.vb @@ -1033,7 +1033,7 @@ Public Class frmAdministration Me.TBPM_PROFILEBindingSource.EndEdit() Me.TBPM_PROFILETableAdapter.Update(DD_DMSLiteDataSet.TBPM_PROFILE) tsbStaticInfo.Caption = $"ProfileData saved - {Now.ToLongTimeString}" - + CHANGES_IN_ADMINISTRATION = True Else tsbStaticInfo.Caption = "" End If @@ -1174,7 +1174,7 @@ Public Class frmAdministration WHERE GUID = {guid}" If ClassDatabase.Execute_non_Query(sql, True) Then - tsbStaticInfo.Caption = $"Final index saved - {Now.ToLongTimeString}" + tsbStaticInfo.Caption = $"Final index saved - {Now.ToLongTimeString} - RESTART NECESSARY" End If End If @@ -1235,6 +1235,7 @@ Public Class frmAdministration Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_VIEW = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}" If ClassDatabase.Execute_non_Query(oUpdate) = True Then tsbStaticInfo.Caption = $"Profile SQL saved - {Now.ToLongTimeString}" + CHANGES_IN_ADMINISTRATION = True End If End If @@ -1244,4 +1245,30 @@ Public Class frmAdministration LOGGER.Error(ex) End Try End Sub + + Private Sub bbtnItemFinishSQL_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnItemFinishSQL.ItemClick + Try + profile_guid = PROFILGUIDTextBox.Text + 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 oForm As New frmSQL_DESIGNER() With {.SQLCommand = oldSQL} + Dim oResult = oForm.ShowDialog() + + If oResult = DialogResult.OK Then + If oldSQL <> oForm.SQLCommand Then + Dim oUpdate As String = $"Update TBPM_PROFILE SET CHANGED_WHO = '{USER_USERNAME}', SQL_BTN_FINISH = '{oForm.SQLCommand.Replace("'", "''")}' WHERE GUID = {CURRENT_ProfilGUID}" + If ClassDatabase.Execute_non_Query(oUpdate) = True Then + tsbStaticInfo.Caption = $"Profile SQLFinish saved - {Now.ToLongTimeString}" + CHANGES_IN_ADMINISTRATION = True + End If + + End If + End If + Catch ex As Exception + MsgBox("Error in Saving Profile SQLFinish: " & vbNewLine & vbNewLine & ex.Message) + LOGGER.Error(ex) + End Try + End Sub End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index 3c3f4ce..298f871 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -1082,6 +1082,7 @@ Public Class frmFormDesigner tslblAenderungen.Visible = True tslblAenderungen.Text = "Änderungen gespeichert - " & Now + CHANGES_IN_ADMINISTRATION = True Return True Catch ex As Exception @@ -1112,6 +1113,7 @@ Public Class frmFormDesigner Dim oSQL = $"EXEC PRPM_CHANGE_CONTROL_CAPTION {guid},{escapedValue},'{USER_USERNAME}','{USER_LANGUAGE}'" ClassDatabase.Execute_non_Query(oSQL) End If + CHANGES_IN_ADMINISTRATION = True Return True End If diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index 87f1147..933fa72 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -834,6 +834,13 @@ Public Class frmMain TimerRefresh.Enabled = False End If + If CHANGES_IN_ADMINISTRATION = True Then + CURRENT_DT_PROFILES = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE where ACTIVE = 1") + Dim oSQL = $"SELECT * FROM VWPM_CONTROL_INDEX ORDER BY PROFIL_ID,Y_LOC, X_LOC" + DTVWCONTROLS_INDEX = ClassDatabase.Return_Datatable(oSQL) + CHANGES_IN_ADMINISTRATION = False + End If + Dim oExpression = $"GUID = {CURRENT_ProfilGUID}" CURRENT_DT_PROFILE.Clear() CURRENT_DT_PROFILES.Select(oExpression).CopyToDataTable(CURRENT_DT_PROFILE, LoadOption.PreserveChanges) @@ -851,6 +858,8 @@ Public Class frmMain 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)) + + frmValidator.Show() 'Decide_Load() diff --git a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb index 7ee6de4..88a8079 100644 --- a/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb +++ b/app/DD_PM_WINDREAM/frmSQL_DESIGNER.vb @@ -43,7 +43,7 @@ Public Class frmSQL_DESIGNER End If - If (CURRENT_DESIGN_TYPE = "INPUT_INDEX") Or CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then + If (CURRENT_DESIGN_TYPE = "INPUT_INDEX") Or CURRENT_DESIGN_TYPE = "FINAL_INDEX" Or CURRENT_DESIGN_TYPE = "SQL_BTNFINISH" Then If CURRENT_DT_SQL_CONFIG_TABLE.Rows.Count = 1 Then cmbConnection.SelectedValue = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CONNECTION_ID") cmbConnection.FindStringExact(CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CON_STRING"))