From 16a6febb34be548ae3a1bb9cc99bb45f5cb128dd Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 9 Aug 2019 17:12:34 +0200 Subject: [PATCH] jj --- app/DD_Clipboard_Searcher/ClassAutomation.vb | 39 ++ app/DD_Clipboard_Searcher/ClassInit.vb | 10 + .../ClassProfileFilter.vb | 81 ++-- app/DD_Clipboard_Searcher/ClassWindowAPI.vb | 2 +- .../DD_Clipboard_Watcher.vbproj | 6 + .../MyDataset.Designer.vb | 368 ++++++------------ app/DD_Clipboard_Searcher/MyDataset.xsd | 125 +++--- app/DD_Clipboard_Searcher/MyDataset.xss | 4 +- .../ctrlApplicationAssignment.Designer.vb | 24 +- .../ctrlApplicationAssignment.vb | 7 +- .../frmAdministration.vb | 16 +- .../frmControlCapture.Designer.vb | 93 ++++- .../frmControlCapture.vb | 38 +- app/DD_Clipboard_Searcher/frmDocView.vb | 3 +- app/DD_Clipboard_Searcher/frmProfileMatch.vb | 5 + .../frmResultDoc.Designer.vb | 20 +- app/DD_Clipboard_Searcher/frmSplash.vb | 8 +- .../frmStart.Designer.vb | 35 +- app/DD_Clipboard_Searcher/frmStart.vb | 31 +- app/DD_Clipboard_Searcher/modCurrent.vb | 1 + app/SetupWix/Product.wxs | 3 + 21 files changed, 524 insertions(+), 395 deletions(-) create mode 100644 app/DD_Clipboard_Searcher/ClassAutomation.vb diff --git a/app/DD_Clipboard_Searcher/ClassAutomation.vb b/app/DD_Clipboard_Searcher/ClassAutomation.vb new file mode 100644 index 0000000..c463523 --- /dev/null +++ b/app/DD_Clipboard_Searcher/ClassAutomation.vb @@ -0,0 +1,39 @@ +Imports System.Windows.Automation +Imports System.Windows.Automation.Automation +Imports DigitalData.Modules.Logging + +Public Class ClassAutomation + Public Property AutomationId As String = String.Empty + Public Property FrameworkId As String = String.Empty + + Private _focusHandler As AutomationFocusChangedEventHandler = Nothing + Private _LogConfig As LogConfig + Private _Logger As Logger + + Public Sub New(LogConfig As LogConfig) + _LogConfig = LogConfig + _Logger = LogConfig.GetLogger() + + _focusHandler = New AutomationFocusChangedEventHandler(AddressOf OnFocusChange) + AddAutomationFocusChangedEventHandler(_focusHandler) + End Sub + + Public Sub [RemoveHandler]() + If _focusHandler IsNot Nothing Then + RemoveAutomationFocusChangedEventHandler(_focusHandler) + End If + End Sub + + Public Sub OnFocusChange(src As Object, e As AutomationFocusChangedEventArgs) + Try + Dim oElement As AutomationElement = src + + If oElement IsNot Nothing AndAlso oElement IsNot Nothing Then + AutomationId = oElement.Current.AutomationId + FrameworkId = oElement.Current.FrameworkId + End If + Catch ex As Exception + Logger.Error(ex) + End Try + End Sub +End Class diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index b379756..be856ee 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -64,6 +64,16 @@ Public Class ClassInit Return True End Function + Public Function InitAutomation() As Boolean + Try + Automation = New ClassAutomation(LogConfig) + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + Private Function DecryptConnectionString(EncryptedConnectionString As String) As String Dim oBuilder As New SqlClient.SqlConnectionStringBuilder With { .ConnectionString = EncryptedConnectionString diff --git a/app/DD_Clipboard_Searcher/ClassProfileFilter.vb b/app/DD_Clipboard_Searcher/ClassProfileFilter.vb index 24b971a..237739e 100644 --- a/app/DD_Clipboard_Searcher/ClassProfileFilter.vb +++ b/app/DD_Clipboard_Searcher/ClassProfileFilter.vb @@ -1,5 +1,6 @@ Imports System.Text.RegularExpressions Imports DD_Clipboard_Watcher.ClassWindowAPI +Imports DigitalData.Modules.Language.Utils Public Class ClassProfileFilter Private _ProfileTable As DataTable @@ -14,8 +15,6 @@ Public Class ClassProfileFilter Public ProcessName As String Public Name As String Public Comment As String - Public SQLCountDocs As String - Public SQLCountData As String Public ProfileType As Integer Public Windows As List(Of WindowData) @@ -35,6 +34,10 @@ Public Class ClassProfileFilter Class ControlData Public Description As String Public Regex As String + + + Public AutomationId As String + Public ControlName As String End Class ' TODO: Fill this Class!!!! :D @@ -188,22 +191,25 @@ Public Class ClassProfileFilter Return oProfiles End Function - Public Function FilterProfilesByFocusedControl(Profiles As List(Of ProfileData)) As List(Of ProfileData) + Public Function FilterProfilesByFocusedControl(Profiles As List(Of ProfileData), ClipboardContents As String) As List(Of ProfileData) Dim oWindow As WindowInfo Dim oFocusedControl As WindowInfo + Dim oFocusedControlName As String = String.Empty Try oWindow = GetWindowInfo() oFocusedControl = GetFocusedControl(oWindow.hWnd) - If oFocusedControl Is Nothing OrElse oFocusedControl.ControlName = String.Empty Then - Logger.Warn("Could not get FocusedControl in Window {0}", oWindow.WindowTitle) - Return Profiles + If oFocusedControl Is Nothing Then + Logger.Warn("Could not get FocusedControl in Window (Old method) {0}", oWindow.WindowTitle) + oFocusedControlName = String.Empty + Else + oFocusedControlName = oFocusedControl.ControlName End If Catch ex As Exception - Logger.Warn("Error while getting Focused control") + Logger.Warn("Error while getting Focused control (Old method)") Logger.Error(ex) - Return Profiles + oFocusedControlName = String.Empty End Try Dim oFilteredProfiles As New List(Of ProfileData) @@ -216,21 +222,35 @@ Public Class ClassProfileFilter Dim oControls As New List(Of ControlData) - For Each c In oProfile.Controls + For Each oControl In oProfile.Controls Try - If c.Regex = String.Empty Then - oControls.Add(c) + If oControl.Regex = String.Empty Then + oControls.Add(oControl) End If - Dim oRegex As New Regex(c.Regex) - Dim oMatch = oRegex.Match(oFocusedControl.ControlName) - If oMatch.Success Then - Logger.Debug("Focused Control Name Regex Matched: {0}", oFocusedControl.ControlName) - 'TODO: Add Debug Data - oControls.Add(c) + Dim oRegex As New Regex(oControl.Regex) + + If oControl.AutomationId <> String.Empty And oControl.ControlName <> String.Empty Then + If oControl.AutomationId = Automation.AutomationId And oControl.ControlName = oFocusedControlName Then + If oRegex.Match(ClipboardContents).Success Then + oControls.Add(oControl) + End If + End If + ElseIf oControl.AutomationId <> String.Empty Then + If oControl.AutomationId = Automation.AutomationId Then + If oRegex.Match(ClipboardContents).Success Then + oControls.Add(oControl) + End If + End If + ElseIf oControl.ControlName <> String.Empty Then + If oControl.ControlName = oFocusedControlName Then + If oRegex.Match(ClipboardContents).Success Then + oControls.Add(oControl) + End If + End If End If Catch ex As Exception - Logger.Warn("Regex '{0}' could not be processed for input '{1}'", c.Regex, oFocusedControl.ControlName) + Logger.Warn("Regex '{0}' could not be processed for input '{1}'", oControl.Regex, oFocusedControlName) Logger.Error(ex) End Try Next @@ -254,13 +274,11 @@ Public Class ClassProfileFilter oList.Add(New ProfileData() With { .Guid = oRow.Item("GUID"), - .ProcessName = oRow.Item("PROC_NAME"), - .Regex = oRow.Item("REGEX_EXPRESSION"), - .Name = oRow.Item("NAME"), - .Comment = oRow.Item("COMMENT"), - .SQLCountDocs = oRow.Item("SQL_COUNT_DOCS"), - .SQLCountData = oRow.Item("SQL_COUNT_DATA"), - .ProfileType = oRow.Item("PROFILE_TYPE"), + .ProcessName = NotNull(oRow.Item("PROC_NAME"), String.Empty), + .Regex = NotNull(oRow.Item("REGEX_EXPRESSION"), String.Empty), + .Name = NotNull(oRow.Item("NAME"), String.Empty), + .Comment = NotNull(oRow.Item("COMMENT"), String.Empty), + .ProfileType = NotNull(oRow.Item("PROFILE_TYPE"), String.Empty), .Windows = oWindowList, .Controls = oControlList }) @@ -275,8 +293,9 @@ Public Class ClassProfileFilter For Each oRow As DataRow In ControlDatatable.Rows If oRow.Item("PROFILE_ID") = ProfileId Then oControlList.Add(New ControlData() With { - .Description = oRow.Item("DESCRIPTION"), - .Regex = oRow.Item("REGEX") + .Description = NotNull(oRow.Item("DESCRIPTION"), String.Empty), + .Regex = NotNull(oRow.Item("REGEX"), String.Empty), + .AutomationId = NotNull(oRow.Item("AUTOMATION_ID"), String.Empty) }) End If Next @@ -290,10 +309,10 @@ Public Class ClassProfileFilter For Each oRow As DataRow In WindowDatatable.Rows If oRow.Item("PROFILE_ID") = ProfileId Then oWindowList.Add(New WindowData() With { - .Title = oRow.Item("DESCRIPTION"), - .Regex = oRow.Item("REGEX"), - .Sequence = oRow.Item("SEQUENCE"), - .ClipboardRegex = oRow.Item("REGEX_CLIPBOARD") + .Title = NotNull(oRow.Item("DESCRIPTION"), String.Empty), + .Regex = NotNull(oRow.Item("REGEX"), String.Empty), + .Sequence = NotNull(oRow.Item("SEQUENCE"), 0), + .ClipboardRegex = NotNull(oRow.Item("REGEX_CLIPBOARD"), String.Empty) }) End If Next diff --git a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb index 8a620b8..31fd90f 100644 --- a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb +++ b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb @@ -171,7 +171,7 @@ Public Class ClassWindowAPI .ClassName = oClassBuilder.ToString, .ProcessId = oProcess.Id, .ProcessName = oProcess.ProcessName, - .WindowTitle = oWindowTitle + .WindowTitle = oWindowTitle.Replace(vbNullChar, String.Empty) } End Function diff --git a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj index c734498..5050d15 100644 --- a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj +++ b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj @@ -80,6 +80,10 @@ False ..\..\..\DDMonorepo\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll + + False + ..\..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll + ..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Logging.dll @@ -112,6 +116,7 @@ + @@ -127,6 +132,7 @@ + diff --git a/app/DD_Clipboard_Searcher/MyDataset.Designer.vb b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb index 487f11e..7f1d880 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.Designer.vb +++ b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb @@ -4437,6 +4437,10 @@ Partial Public Class MyDataset Private columnCHANGED_WHEN As Global.System.Data.DataColumn + Private columnAUTOMATION_ID As Global.System.Data.DataColumn + + Private columnFRAMEWORK_ID As Global.System.Data.DataColumn + _ Public Sub New() @@ -4560,6 +4564,22 @@ Partial Public Class MyDataset End Get End Property + _ + Public ReadOnly Property AUTOMATION_IDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnAUTOMATION_ID + End Get + End Property + + _ + Public ReadOnly Property FRAMEWORK_IDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnFRAMEWORK_ID + End Get + End Property + _ @@ -4597,9 +4617,9 @@ Partial Public Class MyDataset _ - Public Overloads Function AddTBCW_PROF_REL_CONTROLRow(ByVal parentTBCW_PROFILESRowByFK_TBCW_PROF_REL_CONTROL_PROF_IF As TBCW_PROFILESRow, ByVal WINDOW_ID As Integer, ByVal PROCESS_NAME As String, ByVal DESCRIPTION As String, ByVal REGEX As String, ByVal SEQUENCE As Byte, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Date, ByVal CHANGED_WHO As String, ByVal CHANGED_WHEN As Date) As TBCW_PROF_REL_CONTROLRow + Public Overloads Function AddTBCW_PROF_REL_CONTROLRow(ByVal parentTBCW_PROFILESRowByFK_TBCW_PROF_REL_CONTROL_PROF_IF As TBCW_PROFILESRow, ByVal WINDOW_ID As Integer, ByVal PROCESS_NAME As String, ByVal DESCRIPTION As String, ByVal REGEX As String, ByVal SEQUENCE As Byte, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Date, ByVal CHANGED_WHO As String, ByVal CHANGED_WHEN As Date, ByVal AUTOMATION_ID As String, ByVal FRAMEWORK_ID As String) As TBCW_PROF_REL_CONTROLRow Dim rowTBCW_PROF_REL_CONTROLRow As TBCW_PROF_REL_CONTROLRow = CType(Me.NewRow,TBCW_PROF_REL_CONTROLRow) - Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN} + Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, AUTOMATION_ID, FRAMEWORK_ID} If (Not (parentTBCW_PROFILESRowByFK_TBCW_PROF_REL_CONTROL_PROF_IF) Is Nothing) Then columnValuesArray(1) = parentTBCW_PROFILESRowByFK_TBCW_PROF_REL_CONTROL_PROF_IF(0) End If @@ -4642,6 +4662,8 @@ Partial Public Class MyDataset Me.columnADDED_WHEN = MyBase.Columns("ADDED_WHEN") Me.columnCHANGED_WHO = MyBase.Columns("CHANGED_WHO") Me.columnCHANGED_WHEN = MyBase.Columns("CHANGED_WHEN") + Me.columnAUTOMATION_ID = MyBase.Columns("AUTOMATION_ID") + Me.columnFRAMEWORK_ID = MyBase.Columns("FRAMEWORK_ID") End Sub _ + Public Property AUTOMATION_ID() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.AUTOMATION_IDColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.AUTOMATION_IDColumn) = value + End Set + End Property + + _ + Public Property FRAMEWORK_ID() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.FRAMEWORK_IDColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.FRAMEWORK_IDColumn) = value + End Set + End Property + _ Public Property TBCW_PROFILESRow() As TBCW_PROFILESRow @@ -11928,47 +11980,31 @@ Namespace MyDatasetTableAdapters tableMapping.ColumnMappings.Add("ADDED_WHEN", "ADDED_WHEN") tableMapping.ColumnMappings.Add("CHANGED_WHO", "CHANGED_WHO") tableMapping.ColumnMappings.Add("CHANGED_WHEN", "CHANGED_WHEN") + tableMapping.ColumnMappings.Add("AUTOMATION_ID", "AUTOMATION_ID") + tableMapping.ColumnMappings.Add("FRAMEWORK_ID", "FRAMEWORK_ID") Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection - Me._adapter.DeleteCommand.CommandText = "DELETE FROM [TBCW_PROF_REL_CONTROL] WHERE (([GUID] = @Original_GUID) AND ([PROFIL"& _ - "E_ID] = @Original_PROFILE_ID) AND ([WINDOW_ID] = @Original_WINDOW_ID) AND ([PROC"& _ - "ESS_NAME] = @Original_PROCESS_NAME) AND ([DESCRIPTION] = @Original_DESCRIPTION) "& _ - "AND ([REGEX] = @Original_REGEX) AND ([SEQUENCE] = @Original_SEQUENCE) AND ([ADDE"& _ - "D_WHO] = @Original_ADDED_WHO) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS N"& _ - "ULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND"& _ - " [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNul"& _ - "l_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CH"& _ - "ANGED_WHEN)))" + Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCW_PROF_REL_CONTROL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID)" Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_PROFILE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_WINDOW_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "WINDOW_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_PROCESS_NAME", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROCESS_NAME", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_DESCRIPTION", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "DESCRIPTION", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_REGEX", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_SEQUENCE", Global.System.Data.SqlDbType.TinyInt, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "SEQUENCE", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_ADDED_WHEN", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_CHANGED_WHO", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_CHANGED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_CHANGED_WHEN", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_CHANGED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) + Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.InsertCommand.Connection = Me.Connection Me._adapter.InsertCommand.CommandText = "INSERT INTO [TBCW_PROF_REL_CONTROL] ([PROFILE_ID], [WINDOW_ID], [PROCESS_NAME], ["& _ - "DESCRIPTION], [REGEX], [SEQUENCE], [ADDED_WHO], [ADDED_WHEN], [CHANGED_WHO], [CH"& _ - "ANGED_WHEN]) VALUES (@PROFILE_ID, @WINDOW_ID, @PROCESS_NAME, @DESCRIPTION, @REGE"& _ - "X, @SEQUENCE, @ADDED_WHO, @ADDED_WHEN, @CHANGED_WHO, @CHANGED_WHEN);"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUI"& _ - "D, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO,"& _ - " ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = "& _ - "SCOPE_IDENTITY())" + "DESCRIPTION], [AUTOMATION_ID], [FRAMEWORK_ID], [REGEX], [SEQUENCE], [ADDED_WHO],"& _ + " [ADDED_WHEN], [CHANGED_WHO], [CHANGED_WHEN]) VALUES (@PROFILE_ID, @WINDOW_ID, @"& _ + "PROCESS_NAME, @DESCRIPTION, @AUTOMATION_ID, @FRAMEWORK_ID, @REGEX, @SEQUENCE, @A"& _ + "DDED_WHO, @ADDED_WHEN, @CHANGED_WHO, @CHANGED_WHEN);"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, PROFILE_ID, W"& _ + "INDOW_ID, PROCESS_NAME, DESCRIPTION, AUTOMATION_ID, FRAMEWORK_ID, REGEX, SEQUENC"& _ + "E, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL W"& _ + "HERE (GUID = SCOPE_IDENTITY())" Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WINDOW_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "WINDOW_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROCESS_NAME", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROCESS_NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DESCRIPTION", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "DESCRIPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@AUTOMATION_ID", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "AUTOMATION_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FRAMEWORK_ID", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "FRAMEWORK_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SEQUENCE", Global.System.Data.SqlDbType.TinyInt, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "SEQUENCE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) @@ -11977,46 +12013,24 @@ Namespace MyDatasetTableAdapters Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CHANGED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.UpdateCommand.Connection = Me.Connection - Me._adapter.UpdateCommand.CommandText = "UPDATE [TBCW_PROF_REL_CONTROL] SET [PROFILE_ID] = @PROFILE_ID, [WINDOW_ID] = @WIN"& _ - "DOW_ID, [PROCESS_NAME] = @PROCESS_NAME, [DESCRIPTION] = @DESCRIPTION, [REGEX] = "& _ - "@REGEX, [SEQUENCE] = @SEQUENCE, [ADDED_WHO] = @ADDED_WHO, [ADDED_WHEN] = @ADDED_"& _ - "WHEN, [CHANGED_WHO] = @CHANGED_WHO, [CHANGED_WHEN] = @CHANGED_WHEN WHERE (([GUID"& _ - "] = @Original_GUID) AND ([PROFILE_ID] = @Original_PROFILE_ID) AND ([WINDOW_ID] ="& _ - " @Original_WINDOW_ID) AND ([PROCESS_NAME] = @Original_PROCESS_NAME) AND ([DESCRI"& _ - "PTION] = @Original_DESCRIPTION) AND ([REGEX] = @Original_REGEX) AND ([SEQUENCE] "& _ - "= @Original_SEQUENCE) AND ([ADDED_WHO] = @Original_ADDED_WHO) AND ((@IsNull_ADDE"& _ - "D_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) A"& _ - "ND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Ori"& _ - "ginal_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) O"& _ - "R ([CHANGED_WHEN] = @Original_CHANGED_WHEN)));"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, PROFILE_ID, WINDOW_"& _ - "ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_W"& _ - "HO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = @GUID)" + Me._adapter.UpdateCommand.CommandText = "UPDATE TBCW_PROF_REL_CONTROL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET PROFILE_ID = @PROFILE_ID, "& _ + "WINDOW_ID = @WINDOW_ID, PROCESS_NAME = @PROCESS_NAME, DESCRIPTION = @DESCRIPTION"& _ + ", AUTOMATION_ID = @AUTOMATION_ID, FRAMEWORK_ID = @FRAMEWORK_ID, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _ + " REGEX = @REGEX, SEQUENCE = @SEQUENCE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_"& _ + "GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, AUTOMATI"& _ + "ON_ID, FRAMEWORK_ID, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGE"& _ + "D_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = @GUID)" Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WINDOW_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "WINDOW_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROCESS_NAME", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROCESS_NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DESCRIPTION", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "DESCRIPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SEQUENCE", Global.System.Data.SqlDbType.TinyInt, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "SEQUENCE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CHANGED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CHANGED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_PROFILE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_WINDOW_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "WINDOW_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_PROCESS_NAME", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "PROCESS_NAME", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_DESCRIPTION", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "DESCRIPTION", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_REGEX", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_SEQUENCE", Global.System.Data.SqlDbType.TinyInt, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "SEQUENCE", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_ADDED_WHEN", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_CHANGED_WHO", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_CHANGED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_CHANGED_WHEN", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_CHANGED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHEN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) - Me._adapter.UpdateCommand.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._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WINDOW_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "WINDOW_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROCESS_NAME", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "PROCESS_NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DESCRIPTION", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "DESCRIPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@AUTOMATION_ID", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "AUTOMATION_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FRAMEWORK_ID", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "FRAMEWORK_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX", Global.System.Data.SqlDbType.VarChar, 500, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SEQUENCE", Global.System.Data.SqlDbType.TinyInt, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "SEQUENCE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.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.Original, false, Nothing, "", "", "")) End Sub _ - Public Overloads Overridable Function Delete(ByVal Original_GUID As Integer, ByVal Original_PROFILE_ID As Integer, ByVal Original_WINDOW_ID As Integer, ByVal Original_PROCESS_NAME As String, ByVal Original_DESCRIPTION As String, ByVal Original_REGEX As String, ByVal Original_SEQUENCE As Byte, ByVal Original_ADDED_WHO As String, ByVal Original_ADDED_WHEN As Global.System.Nullable(Of Date), ByVal Original_CHANGED_WHO As String, ByVal Original_CHANGED_WHEN As Global.System.Nullable(Of Date)) As Integer + Public Overloads Overridable Function Delete(ByVal Original_GUID As Integer) As Integer Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID,Integer) - Me.Adapter.DeleteCommand.Parameters(1).Value = CType(Original_PROFILE_ID,Integer) - Me.Adapter.DeleteCommand.Parameters(2).Value = CType(Original_WINDOW_ID,Integer) - If (Original_PROCESS_NAME Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_PROCESS_NAME") - Else - Me.Adapter.DeleteCommand.Parameters(3).Value = CType(Original_PROCESS_NAME,String) - End If - If (Original_DESCRIPTION Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_DESCRIPTION") - Else - Me.Adapter.DeleteCommand.Parameters(4).Value = CType(Original_DESCRIPTION,String) - End If - If (Original_REGEX Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_REGEX") - Else - Me.Adapter.DeleteCommand.Parameters(5).Value = CType(Original_REGEX,String) - End If - Me.Adapter.DeleteCommand.Parameters(6).Value = CType(Original_SEQUENCE,Byte) - If (Original_ADDED_WHO Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_ADDED_WHO") - Else - Me.Adapter.DeleteCommand.Parameters(7).Value = CType(Original_ADDED_WHO,String) - End If - If (Original_ADDED_WHEN.HasValue = true) Then - Me.Adapter.DeleteCommand.Parameters(8).Value = CType(0,Object) - Me.Adapter.DeleteCommand.Parameters(9).Value = CType(Original_ADDED_WHEN.Value,Date) - Else - Me.Adapter.DeleteCommand.Parameters(8).Value = CType(1,Object) - Me.Adapter.DeleteCommand.Parameters(9).Value = Global.System.DBNull.Value - End If - If (Original_CHANGED_WHO Is Nothing) Then - Me.Adapter.DeleteCommand.Parameters(10).Value = CType(1,Object) - Me.Adapter.DeleteCommand.Parameters(11).Value = Global.System.DBNull.Value - Else - Me.Adapter.DeleteCommand.Parameters(10).Value = CType(0,Object) - Me.Adapter.DeleteCommand.Parameters(11).Value = CType(Original_CHANGED_WHO,String) - End If - If (Original_CHANGED_WHEN.HasValue = true) Then - Me.Adapter.DeleteCommand.Parameters(12).Value = CType(0,Object) - Me.Adapter.DeleteCommand.Parameters(13).Value = CType(Original_CHANGED_WHEN.Value,Date) - Else - Me.Adapter.DeleteCommand.Parameters(12).Value = CType(1,Object) - Me.Adapter.DeleteCommand.Parameters(13).Value = Global.System.DBNull.Value - End If Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then @@ -12176,7 +12147,7 @@ Namespace MyDatasetTableAdapters Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Insert, true)> _ - Public Overloads Overridable Function Insert(ByVal PROFILE_ID As Integer, ByVal WINDOW_ID As Integer, ByVal PROCESS_NAME As String, ByVal DESCRIPTION As String, ByVal REGEX As String, ByVal SEQUENCE As Byte, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Global.System.Nullable(Of Date), ByVal CHANGED_WHO As String, ByVal CHANGED_WHEN As Global.System.Nullable(Of Date)) As Integer + Public Overloads Overridable Function Insert(ByVal PROFILE_ID As Integer, ByVal WINDOW_ID As Integer, ByVal PROCESS_NAME As String, ByVal DESCRIPTION As String, ByVal AUTOMATION_ID As String, ByVal FRAMEWORK_ID As String, ByVal REGEX As String, ByVal SEQUENCE As Byte, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Global.System.Nullable(Of Date), ByVal CHANGED_WHO As String, ByVal CHANGED_WHEN As Global.System.Nullable(Of Date)) As Integer Me.Adapter.InsertCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) Me.Adapter.InsertCommand.Parameters(1).Value = CType(WINDOW_ID,Integer) If (PROCESS_NAME Is Nothing) Then @@ -12189,31 +12160,41 @@ Namespace MyDatasetTableAdapters Else Me.Adapter.InsertCommand.Parameters(3).Value = CType(DESCRIPTION,String) End If + If (AUTOMATION_ID Is Nothing) Then + Throw New Global.System.ArgumentNullException("AUTOMATION_ID") + Else + Me.Adapter.InsertCommand.Parameters(4).Value = CType(AUTOMATION_ID,String) + End If + If (FRAMEWORK_ID Is Nothing) Then + Throw New Global.System.ArgumentNullException("FRAMEWORK_ID") + Else + Me.Adapter.InsertCommand.Parameters(5).Value = CType(FRAMEWORK_ID,String) + End If If (REGEX Is Nothing) Then Throw New Global.System.ArgumentNullException("REGEX") Else - Me.Adapter.InsertCommand.Parameters(4).Value = CType(REGEX,String) + Me.Adapter.InsertCommand.Parameters(6).Value = CType(REGEX,String) End If - Me.Adapter.InsertCommand.Parameters(5).Value = CType(SEQUENCE,Byte) + Me.Adapter.InsertCommand.Parameters(7).Value = CType(SEQUENCE,Byte) If (ADDED_WHO Is Nothing) Then Throw New Global.System.ArgumentNullException("ADDED_WHO") Else - Me.Adapter.InsertCommand.Parameters(6).Value = CType(ADDED_WHO,String) + Me.Adapter.InsertCommand.Parameters(8).Value = CType(ADDED_WHO,String) End If If (ADDED_WHEN.HasValue = true) Then - Me.Adapter.InsertCommand.Parameters(7).Value = CType(ADDED_WHEN.Value,Date) + Me.Adapter.InsertCommand.Parameters(9).Value = CType(ADDED_WHEN.Value,Date) Else - Me.Adapter.InsertCommand.Parameters(7).Value = Global.System.DBNull.Value + Me.Adapter.InsertCommand.Parameters(9).Value = Global.System.DBNull.Value End If If (CHANGED_WHO Is Nothing) Then - Me.Adapter.InsertCommand.Parameters(8).Value = Global.System.DBNull.Value + Me.Adapter.InsertCommand.Parameters(10).Value = Global.System.DBNull.Value Else - Me.Adapter.InsertCommand.Parameters(8).Value = CType(CHANGED_WHO,String) + Me.Adapter.InsertCommand.Parameters(10).Value = CType(CHANGED_WHO,String) End If If (CHANGED_WHEN.HasValue = true) Then - Me.Adapter.InsertCommand.Parameters(9).Value = CType(CHANGED_WHEN.Value,Date) + Me.Adapter.InsertCommand.Parameters(11).Value = CType(CHANGED_WHEN.Value,Date) Else - Me.Adapter.InsertCommand.Parameters(9).Value = Global.System.DBNull.Value + Me.Adapter.InsertCommand.Parameters(11).Value = Global.System.DBNull.Value End If Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ @@ -12234,29 +12215,7 @@ Namespace MyDatasetTableAdapters Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Update, true)> _ - Public Overloads Overridable Function Update( _ - ByVal PROFILE_ID As Integer, _ - ByVal WINDOW_ID As Integer, _ - ByVal PROCESS_NAME As String, _ - ByVal DESCRIPTION As String, _ - ByVal REGEX As String, _ - ByVal SEQUENCE As Byte, _ - ByVal ADDED_WHO As String, _ - ByVal ADDED_WHEN As Global.System.Nullable(Of Date), _ - ByVal CHANGED_WHO As String, _ - ByVal CHANGED_WHEN As Global.System.Nullable(Of Date), _ - ByVal Original_GUID As Integer, _ - ByVal Original_PROFILE_ID As Integer, _ - ByVal Original_WINDOW_ID As Integer, _ - ByVal Original_PROCESS_NAME As String, _ - ByVal Original_DESCRIPTION As String, _ - ByVal Original_REGEX As String, _ - ByVal Original_SEQUENCE As Byte, _ - ByVal Original_ADDED_WHO As String, _ - ByVal Original_ADDED_WHEN As Global.System.Nullable(Of Date), _ - ByVal Original_CHANGED_WHO As String, _ - ByVal Original_CHANGED_WHEN As Global.System.Nullable(Of Date), _ - ByVal GUID As Integer) As Integer + Public Overloads Overridable Function Update(ByVal PROFILE_ID As Integer, ByVal WINDOW_ID As Integer, ByVal PROCESS_NAME As String, ByVal DESCRIPTION As String, ByVal AUTOMATION_ID As String, ByVal FRAMEWORK_ID As String, ByVal REGEX As String, ByVal SEQUENCE As Byte, ByVal Original_GUID As Integer, ByVal GUID As Integer) As Integer Me.Adapter.UpdateCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) Me.Adapter.UpdateCommand.Parameters(1).Value = CType(WINDOW_ID,Integer) If (PROCESS_NAME Is Nothing) Then @@ -12269,78 +12228,24 @@ Namespace MyDatasetTableAdapters Else Me.Adapter.UpdateCommand.Parameters(3).Value = CType(DESCRIPTION,String) End If - If (REGEX Is Nothing) Then - Throw New Global.System.ArgumentNullException("REGEX") - Else - Me.Adapter.UpdateCommand.Parameters(4).Value = CType(REGEX,String) - End If - Me.Adapter.UpdateCommand.Parameters(5).Value = CType(SEQUENCE,Byte) - If (ADDED_WHO Is Nothing) Then - Throw New Global.System.ArgumentNullException("ADDED_WHO") - Else - Me.Adapter.UpdateCommand.Parameters(6).Value = CType(ADDED_WHO,String) - End If - If (ADDED_WHEN.HasValue = true) Then - Me.Adapter.UpdateCommand.Parameters(7).Value = CType(ADDED_WHEN.Value,Date) - Else - Me.Adapter.UpdateCommand.Parameters(7).Value = Global.System.DBNull.Value - End If - If (CHANGED_WHO Is Nothing) Then - Me.Adapter.UpdateCommand.Parameters(8).Value = Global.System.DBNull.Value - Else - Me.Adapter.UpdateCommand.Parameters(8).Value = CType(CHANGED_WHO,String) - End If - If (CHANGED_WHEN.HasValue = true) Then - Me.Adapter.UpdateCommand.Parameters(9).Value = CType(CHANGED_WHEN.Value,Date) - Else - Me.Adapter.UpdateCommand.Parameters(9).Value = Global.System.DBNull.Value - End If - Me.Adapter.UpdateCommand.Parameters(10).Value = CType(Original_GUID,Integer) - Me.Adapter.UpdateCommand.Parameters(11).Value = CType(Original_PROFILE_ID,Integer) - Me.Adapter.UpdateCommand.Parameters(12).Value = CType(Original_WINDOW_ID,Integer) - If (Original_PROCESS_NAME Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_PROCESS_NAME") - Else - Me.Adapter.UpdateCommand.Parameters(13).Value = CType(Original_PROCESS_NAME,String) - End If - If (Original_DESCRIPTION Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_DESCRIPTION") + If (AUTOMATION_ID Is Nothing) Then + Throw New Global.System.ArgumentNullException("AUTOMATION_ID") Else - Me.Adapter.UpdateCommand.Parameters(14).Value = CType(Original_DESCRIPTION,String) + Me.Adapter.UpdateCommand.Parameters(4).Value = CType(AUTOMATION_ID,String) End If - If (Original_REGEX Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_REGEX") + If (FRAMEWORK_ID Is Nothing) Then + Throw New Global.System.ArgumentNullException("FRAMEWORK_ID") Else - Me.Adapter.UpdateCommand.Parameters(15).Value = CType(Original_REGEX,String) + Me.Adapter.UpdateCommand.Parameters(5).Value = CType(FRAMEWORK_ID,String) End If - Me.Adapter.UpdateCommand.Parameters(16).Value = CType(Original_SEQUENCE,Byte) - If (Original_ADDED_WHO Is Nothing) Then - Throw New Global.System.ArgumentNullException("Original_ADDED_WHO") - Else - Me.Adapter.UpdateCommand.Parameters(17).Value = CType(Original_ADDED_WHO,String) - End If - If (Original_ADDED_WHEN.HasValue = true) Then - Me.Adapter.UpdateCommand.Parameters(18).Value = CType(0,Object) - Me.Adapter.UpdateCommand.Parameters(19).Value = CType(Original_ADDED_WHEN.Value,Date) - Else - Me.Adapter.UpdateCommand.Parameters(18).Value = CType(1,Object) - Me.Adapter.UpdateCommand.Parameters(19).Value = Global.System.DBNull.Value - End If - If (Original_CHANGED_WHO Is Nothing) Then - Me.Adapter.UpdateCommand.Parameters(20).Value = CType(1,Object) - Me.Adapter.UpdateCommand.Parameters(21).Value = Global.System.DBNull.Value - Else - Me.Adapter.UpdateCommand.Parameters(20).Value = CType(0,Object) - Me.Adapter.UpdateCommand.Parameters(21).Value = CType(Original_CHANGED_WHO,String) - End If - If (Original_CHANGED_WHEN.HasValue = true) Then - Me.Adapter.UpdateCommand.Parameters(22).Value = CType(0,Object) - Me.Adapter.UpdateCommand.Parameters(23).Value = CType(Original_CHANGED_WHEN.Value,Date) + If (REGEX Is Nothing) Then + Throw New Global.System.ArgumentNullException("REGEX") Else - Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Object) - Me.Adapter.UpdateCommand.Parameters(23).Value = Global.System.DBNull.Value + Me.Adapter.UpdateCommand.Parameters(6).Value = CType(REGEX,String) End If - Me.Adapter.UpdateCommand.Parameters(24).Value = CType(GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(7).Value = CType(SEQUENCE,Byte) + Me.Adapter.UpdateCommand.Parameters(8).Value = CType(Original_GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(9).Value = CType(GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then @@ -12355,35 +12260,6 @@ Namespace MyDatasetTableAdapters End If End Try End Function - - _ - Public Overloads Overridable Function Update( _ - ByVal PROFILE_ID As Integer, _ - ByVal WINDOW_ID As Integer, _ - ByVal PROCESS_NAME As String, _ - ByVal DESCRIPTION As String, _ - ByVal REGEX As String, _ - ByVal SEQUENCE As Byte, _ - ByVal ADDED_WHO As String, _ - ByVal ADDED_WHEN As Global.System.Nullable(Of Date), _ - ByVal CHANGED_WHO As String, _ - ByVal CHANGED_WHEN As Global.System.Nullable(Of Date), _ - ByVal Original_GUID As Integer, _ - ByVal Original_PROFILE_ID As Integer, _ - ByVal Original_WINDOW_ID As Integer, _ - ByVal Original_PROCESS_NAME As String, _ - ByVal Original_DESCRIPTION As String, _ - ByVal Original_REGEX As String, _ - ByVal Original_SEQUENCE As Byte, _ - ByVal Original_ADDED_WHO As String, _ - ByVal Original_ADDED_WHEN As Global.System.Nullable(Of Date), _ - ByVal Original_CHANGED_WHO As String, _ - ByVal Original_CHANGED_WHEN As Global.System.Nullable(Of Date)) As Integer - Return Me.Update(PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, Original_GUID, Original_PROFILE_ID, Original_WINDOW_ID, Original_PROCESS_NAME, Original_DESCRIPTION, Original_REGEX, Original_SEQUENCE, Original_ADDED_WHO, Original_ADDED_WHEN, Original_CHANGED_WHO, Original_CHANGED_WHEN, Original_GUID) - End Function End Class ''' diff --git a/app/DD_Clipboard_Searcher/MyDataset.xsd b/app/DD_Clipboard_Searcher/MyDataset.xsd index 7ac5b5a..433c355 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.xsd +++ b/app/DD_Clipboard_Searcher/MyDataset.xsd @@ -712,34 +712,24 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - DELETE FROM [TBCW_PROF_REL_CONTROL] WHERE (([GUID] = @Original_GUID) AND ([PROFILE_ID] = @Original_PROFILE_ID) AND ([WINDOW_ID] = @Original_WINDOW_ID) AND ([PROCESS_NAME] = @Original_PROCESS_NAME) AND ([DESCRIPTION] = @Original_DESCRIPTION) AND ([REGEX] = @Original_REGEX) AND ([SEQUENCE] = @Original_SEQUENCE) AND ([ADDED_WHO] = @Original_ADDED_WHO) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CHANGED_WHEN))) + DELETE FROM TBCW_PROF_REL_CONTROL +WHERE (GUID = @Original_GUID) - - - - - - - - - - - - - - + - INSERT INTO [TBCW_PROF_REL_CONTROL] ([PROFILE_ID], [WINDOW_ID], [PROCESS_NAME], [DESCRIPTION], [REGEX], [SEQUENCE], [ADDED_WHO], [ADDED_WHEN], [CHANGED_WHO], [CHANGED_WHEN]) VALUES (@PROFILE_ID, @WINDOW_ID, @PROCESS_NAME, @DESCRIPTION, @REGEX, @SEQUENCE, @ADDED_WHO, @ADDED_WHEN, @CHANGED_WHO, @CHANGED_WHEN); -SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = SCOPE_IDENTITY()) + INSERT INTO [TBCW_PROF_REL_CONTROL] ([PROFILE_ID], [WINDOW_ID], [PROCESS_NAME], [DESCRIPTION], [AUTOMATION_ID], [FRAMEWORK_ID], [REGEX], [SEQUENCE], [ADDED_WHO], [ADDED_WHEN], [CHANGED_WHO], [CHANGED_WHEN]) VALUES (@PROFILE_ID, @WINDOW_ID, @PROCESS_NAME, @DESCRIPTION, @AUTOMATION_ID, @FRAMEWORK_ID, @REGEX, @SEQUENCE, @ADDED_WHO, @ADDED_WHEN, @CHANGED_WHO, @CHANGED_WHEN); +SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, AUTOMATION_ID, FRAMEWORK_ID, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = SCOPE_IDENTITY()) + + @@ -750,9 +740,10 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - - SELECT TBCW_PROF_REL_CONTROL.* -FROM TBCW_PROF_REL_CONTROL WHERE PROCESS_NAME = @PROCESS_NAME AND WINDOW_ID = @WINDOW_ID AND PROFILE_ID = @PROFILE_ID + + SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, AUTOMATION_ID, FRAMEWORK_ID, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN +FROM TBCW_PROF_REL_CONTROL +WHERE (PROCESS_NAME = @PROCESS_NAME) AND (WINDOW_ID = @WINDOW_ID) AND (PROFILE_ID = @PROFILE_ID) @@ -762,34 +753,22 @@ FROM TBCW_PROF_REL_CONTROL WHERE PROCESS_NAME = @PROCESS_NAME AND WIN - UPDATE [TBCW_PROF_REL_CONTROL] SET [PROFILE_ID] = @PROFILE_ID, [WINDOW_ID] = @WINDOW_ID, [PROCESS_NAME] = @PROCESS_NAME, [DESCRIPTION] = @DESCRIPTION, [REGEX] = @REGEX, [SEQUENCE] = @SEQUENCE, [ADDED_WHO] = @ADDED_WHO, [ADDED_WHEN] = @ADDED_WHEN, [CHANGED_WHO] = @CHANGED_WHO, [CHANGED_WHEN] = @CHANGED_WHEN WHERE (([GUID] = @Original_GUID) AND ([PROFILE_ID] = @Original_PROFILE_ID) AND ([WINDOW_ID] = @Original_WINDOW_ID) AND ([PROCESS_NAME] = @Original_PROCESS_NAME) AND ([DESCRIPTION] = @Original_DESCRIPTION) AND ([REGEX] = @Original_REGEX) AND ([SEQUENCE] = @Original_SEQUENCE) AND ([ADDED_WHO] = @Original_ADDED_WHO) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CHANGED_WHEN))); -SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = @GUID) + UPDATE TBCW_PROF_REL_CONTROL +SET PROFILE_ID = @PROFILE_ID, WINDOW_ID = @WINDOW_ID, PROCESS_NAME = @PROCESS_NAME, DESCRIPTION = @DESCRIPTION, AUTOMATION_ID = @AUTOMATION_ID, FRAMEWORK_ID = @FRAMEWORK_ID, + REGEX = @REGEX, SEQUENCE = @SEQUENCE +WHERE (GUID = @Original_GUID); +SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, AUTOMATION_ID, FRAMEWORK_ID, REGEX, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCW_PROF_REL_CONTROL WHERE (GUID = @GUID) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + @@ -807,6 +786,8 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, + + @@ -818,7 +799,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -871,7 +852,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -888,7 +869,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -917,7 +898,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -928,7 +909,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -951,7 +932,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -999,7 +980,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1047,7 +1028,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1064,7 +1045,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1072,7 +1053,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1086,7 +1067,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1094,7 +1075,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1147,7 +1128,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1220,7 +1201,7 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - + @@ -1264,6 +1245,20 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, + + + + + + + + + + + + + + @@ -1316,10 +1311,10 @@ SELECT GUID, PROFILE_ID, WINDOW_ID, PROCESS_NAME, DESCRIPTION, REGEX, SEQUENCE, - - - - + + + + \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/MyDataset.xss b/app/DD_Clipboard_Searcher/MyDataset.xss index e40eccd..40ca699 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.xss +++ b/app/DD_Clipboard_Searcher/MyDataset.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + @@ -16,7 +16,7 @@ - + diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb index 5c35684..c272a3b 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb @@ -43,6 +43,8 @@ Partial Class ctrlApplicationAssignment Me.RepositoryItemButtonEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit() Me.colDESCRIPTION1 = New DevExpress.XtraGrid.Columns.GridColumn() Me.colGUID1 = New DevExpress.XtraGrid.Columns.GridColumn() + Me.colAutomationId = New DevExpress.XtraGrid.Columns.GridColumn() + Me.colFrameworkId = New DevExpress.XtraGrid.Columns.GridColumn() Me.Label2 = New System.Windows.Forms.Label() Me.TBCW_PROF_DOC_SEARCHBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.GridControl3 = New DevExpress.XtraGrid.GridControl() @@ -208,7 +210,7 @@ Partial Class ctrlApplicationAssignment ' Me.GridView_Control.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer)) Me.GridView_Control.Appearance.EvenRow.Options.UseBackColor = True - Me.GridView_Control.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colREGEX1, Me.colDESCRIPTION1, Me.colGUID1}) + Me.GridView_Control.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colREGEX1, Me.colDESCRIPTION1, Me.colGUID1, Me.colAutomationId, Me.colFrameworkId}) Me.GridView_Control.CustomizationFormBounds = New System.Drawing.Rectangle(902, 520, 252, 236) Me.GridView_Control.GridControl = Me.GridControl_Control Me.GridView_Control.Name = "GridView_Control" @@ -243,6 +245,24 @@ Partial Class ctrlApplicationAssignment Me.colGUID1.FieldName = "GUID" Me.colGUID1.Name = "colGUID1" ' + 'colAutomationId + ' + Me.colAutomationId.Caption = "Automation Id" + Me.colAutomationId.FieldName = "AUTOMATION_ID" + Me.colAutomationId.Name = "colAutomationId" + Me.colAutomationId.OptionsColumn.ReadOnly = True + Me.colAutomationId.Visible = True + Me.colAutomationId.VisibleIndex = 2 + ' + 'colFrameworkId + ' + Me.colFrameworkId.Caption = "Framework Id" + Me.colFrameworkId.FieldName = "FRAMEWORK_ID" + Me.colFrameworkId.Name = "colFrameworkId" + Me.colFrameworkId.OptionsColumn.ReadOnly = True + Me.colFrameworkId.Visible = True + Me.colFrameworkId.VisibleIndex = 3 + ' 'Label2 ' Me.Label2.Dock = System.Windows.Forms.DockStyle.Top @@ -400,4 +420,6 @@ Partial Class ctrlApplicationAssignment Friend WithEvents RepositoryItemRegexEdit2 As DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit Friend WithEvents RepositoryItemButtonEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit Friend WithEvents colGUID1 As DevExpress.XtraGrid.Columns.GridColumn + Friend WithEvents colAutomationId As DevExpress.XtraGrid.Columns.GridColumn + Friend WithEvents colFrameworkId As DevExpress.XtraGrid.Columns.GridColumn End Class diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb index c099c5f..aaabd56 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb @@ -178,9 +178,12 @@ Public Class ctrlApplicationAssignment Try Dim oControlTitle As String = GetSQLFriendlyString(oForm.ControlName) Dim oProcessName As String = oForm.ProcessName + Dim oAutomationId As String = oForm.AutomationId + Dim oFrameworkId As String = oForm.FrameworkId + Dim oDefaultRegex As String = "\.+" - If oControlTitle <> "" Then - Dim insert = String.Format("INSERT INTO TBCW_PROF_REL_CONTROL (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, WINDOW_ID, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$',{4},'{5}')", ProfileId, Current_ProcessName, Current_ProcessName, oControlTitle, Current_WindowId, Environment.UserName) + If oControlTitle <> "" Or oAutomationId <> "" Then + Dim insert = String.Format("INSERT INTO TBCW_PROF_REL_CONTROL (PROFILE_ID, DESCRIPTION, AUTOMATION_ID, FRAMEWORK_ID, PROCESS_NAME, REGEX, WINDOW_ID, ADDED_WHO) VALUES ({0}, '{1}', '{2}', '{3}', '{4}','^{5}$',{6},'{7}')", ProfileId, oControlTitle, oAutomationId, oFrameworkId, Current_ProcessName, oDefaultRegex, Current_WindowId, Environment.UserName) If Database.ExecuteNonQuery(insert) = False Then Return False End If diff --git a/app/DD_Clipboard_Searcher/frmAdministration.vb b/app/DD_Clipboard_Searcher/frmAdministration.vb index fad7a6f..188dc95 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.vb @@ -113,12 +113,16 @@ Public Class frmAdministration TBCW_PROF_DOC_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DOC_SEARCH, PROFILE_IDTextBox.Text) If MyDataset.TBCW_PROF_DOC_SEARCH.Count = 0 Then LayoutControlDocs.Enabled = False + Else + LayoutControlDocs.Enabled = True End If TBCW_PROF_DATA_SEARCHTableAdapter.Connection.ConnectionString = MyConnectionString TBCW_PROF_DATA_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DATA_SEARCH, PROFILE_IDTextBox.Text) If MyDataset.TBCW_PROF_DATA_SEARCH.Count = 0 Then LayoutControlData.Enabled = False + Else + LayoutControlData.Enabled = True End If Catch ex As Exception MsgBox("Unexpected Error in Refresh Profile User: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) @@ -637,9 +641,9 @@ Public Class frmAdministration Private Sub BarButtonItem23_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem23.ItemClick If CtrlApplicationAssignment1.Control_CreateAssignment(PROFILE_IDTextBox.Text) = False Then - MsgBox("Error while saving control", MsgBoxStyle.Critical, Text) + MsgBox("Error while creating control", MsgBoxStyle.Critical, Text) Else - Status_Changed("Feld-Zuordnung gespeichert") + Status_Changed("Feld-Zuordnung angelegt") End If End Sub @@ -655,7 +659,11 @@ Public Class frmAdministration Status_Changed("Feld-Zuordnung gelöscht") End Sub - Private Sub BarButtonItem26_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem26.ItemClick - + Private Sub BarButtonItem25_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem25.ItemClick + If CtrlApplicationAssignment1.Control_SaveAssignment() = False Then + MsgBox("Error while saving control", MsgBoxStyle.Critical, Text) + Else + Status_Changed("Feld-Zuordnung gespeichert") + End If End Sub End Class \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb b/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb index 6398bbd..eb9f80e 100644 --- a/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb @@ -34,6 +34,12 @@ Partial Class frmControlCapture Me.txtPID = New System.Windows.Forms.TextBox() Me.Button1 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() + Me.txtAutomationId = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.txtFrameworkId = New System.Windows.Forms.TextBox() + Me.chkAutomationId = New System.Windows.Forms.CheckBox() + Me.chkControlName = New System.Windows.Forms.CheckBox() Me.SuspendLayout() ' 'Timer1 @@ -43,9 +49,9 @@ Partial Class frmControlCapture ' 'Label3 ' - Me.Label3.Location = New System.Drawing.Point(12, 110) + Me.Label3.Location = New System.Drawing.Point(12, 142) Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(344, 42) + Me.Label3.Size = New System.Drawing.Size(438, 42) Me.Label3.TabIndex = 11 Me.Label3.Text = "Auswertung von aktivem Feld läuft! Wechseln Sie durch die aktiven Anwendungen und" & " klicken Sie in ein Feld!" @@ -54,7 +60,7 @@ Partial Class frmControlCapture ' Me.Label4.AutoSize = True Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label4.Location = New System.Drawing.Point(12, 61) + Me.Label4.Location = New System.Drawing.Point(12, 89) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(71, 13) Me.Label4.TabIndex = 8 @@ -83,7 +89,7 @@ Partial Class frmControlCapture 'txtControlName ' Me.txtControlName.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtControlName.Location = New System.Drawing.Point(132, 58) + Me.txtControlName.Location = New System.Drawing.Point(226, 84) Me.txtControlName.Name = "txtControlName" Me.txtControlName.ReadOnly = True Me.txtControlName.Size = New System.Drawing.Size(224, 20) @@ -92,7 +98,7 @@ Partial Class frmControlCapture 'txtName ' Me.txtName.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtName.Location = New System.Drawing.Point(132, 32) + Me.txtName.Location = New System.Drawing.Point(226, 32) Me.txtName.Name = "txtName" Me.txtName.ReadOnly = True Me.txtName.Size = New System.Drawing.Size(224, 20) @@ -101,7 +107,7 @@ Partial Class frmControlCapture 'txtPID ' Me.txtPID.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtPID.Location = New System.Drawing.Point(132, 4) + Me.txtPID.Location = New System.Drawing.Point(226, 4) Me.txtPID.Name = "txtPID" Me.txtPID.ReadOnly = True Me.txtPID.Size = New System.Drawing.Size(224, 20) @@ -110,7 +116,6 @@ Partial Class frmControlCapture 'Button1 ' Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK - Me.Button1.Enabled = False Me.Button1.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.add Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button1.Location = New System.Drawing.Point(15, 206) @@ -125,22 +130,86 @@ Partial Class frmControlCapture Me.Button2.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Button2.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.cancel Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button2.Location = New System.Drawing.Point(194, 206) + Me.Button2.Location = New System.Drawing.Point(291, 206) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(159, 34) Me.Button2.TabIndex = 0 Me.Button2.Text = "Abbruch" Me.Button2.UseVisualStyleBackColor = True ' + 'txtAutomationId + ' + Me.txtAutomationId.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtAutomationId.Location = New System.Drawing.Point(226, 110) + Me.txtAutomationId.Name = "txtAutomationId" + Me.txtAutomationId.ReadOnly = True + Me.txtAutomationId.Size = New System.Drawing.Size(224, 20) + Me.txtAutomationId.TabIndex = 6 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label5.Location = New System.Drawing.Point(12, 115) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(89, 13) + Me.Label5.TabIndex = 8 + Me.Label5.Text = "Automation Id:" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label6.Location = New System.Drawing.Point(12, 61) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(74, 13) + Me.Label6.TabIndex = 8 + Me.Label6.Text = "Framework Id:" + ' + 'txtFrameworkId + ' + Me.txtFrameworkId.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtFrameworkId.Location = New System.Drawing.Point(226, 58) + Me.txtFrameworkId.Name = "txtFrameworkId" + Me.txtFrameworkId.ReadOnly = True + Me.txtFrameworkId.Size = New System.Drawing.Size(224, 20) + Me.txtFrameworkId.TabIndex = 6 + ' + 'chkAutomationId + ' + Me.chkAutomationId.AutoSize = True + Me.chkAutomationId.Location = New System.Drawing.Point(133, 112) + Me.chkAutomationId.Name = "chkAutomationId" + Me.chkAutomationId.Size = New System.Drawing.Size(87, 17) + Me.chkAutomationId.TabIndex = 12 + Me.chkAutomationId.Text = "Übernehmen" + Me.chkAutomationId.UseVisualStyleBackColor = True + ' + 'chkControlName + ' + Me.chkControlName.AutoSize = True + Me.chkControlName.Location = New System.Drawing.Point(133, 86) + Me.chkControlName.Name = "chkControlName" + Me.chkControlName.Size = New System.Drawing.Size(87, 17) + Me.chkControlName.TabIndex = 12 + Me.chkControlName.Text = "Übernehmen" + Me.chkControlName.UseVisualStyleBackColor = True + ' 'frmControlCapture ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(365, 252) + Me.ClientSize = New System.Drawing.Size(462, 251) + Me.Controls.Add(Me.chkControlName) + Me.Controls.Add(Me.chkAutomationId) Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.Label6) + Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.txtFrameworkId) + Me.Controls.Add(Me.txtAutomationId) Me.Controls.Add(Me.txtControlName) Me.Controls.Add(Me.txtName) Me.Controls.Add(Me.txtPID) @@ -163,4 +232,10 @@ Partial Class frmControlCapture Friend WithEvents txtPID As TextBox Friend WithEvents Button1 As Button Friend WithEvents Button2 As Button + Friend WithEvents txtAutomationId As TextBox + Friend WithEvents Label5 As Label + Friend WithEvents Label6 As Label + Friend WithEvents txtFrameworkId As TextBox + Friend WithEvents chkAutomationId As CheckBox + Friend WithEvents chkControlName As CheckBox End Class diff --git a/app/DD_Clipboard_Searcher/frmControlCapture.vb b/app/DD_Clipboard_Searcher/frmControlCapture.vb index a81a052..aa781c6 100644 --- a/app/DD_Clipboard_Searcher/frmControlCapture.vb +++ b/app/DD_Clipboard_Searcher/frmControlCapture.vb @@ -1,8 +1,13 @@ -Imports DD_Clipboard_Watcher.ClassWindowAPI +Imports System.Windows.Automation +Imports DD_Clipboard_Watcher.ClassWindowAPI Public Class frmControlCapture Public ControlName As String Public ProcessName As String + Public AutomationId As String + Public FrameworkId As String + + Public Automation As ClassAutomation Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Dim oResult As WindowInfo = GetFocusedControl(Handle) @@ -11,11 +16,36 @@ Public Class frmControlCapture txtPID.Text = oResult.ClassName txtName.Text = oResult.ProcessName txtControlName.Text = oResult.ControlName + txtAutomationId.Text = Automation.AutomationId + txtFrameworkId.Text = Automation.FrameworkId + + FrameworkId = Automation.FrameworkId + AutomationId = Automation.AutomationId ControlName = oResult.ControlName ProcessName = oResult.ProcessName - Button1.Enabled = True - Else - Button1.Enabled = False + End If + End Sub + + Private Sub frmControlCapture_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Automation = New ClassAutomation(LogConfig) + End Sub + + Private Sub frmControlCapture_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + Automation.RemoveHandler() + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + If chkAutomationId.Checked = False Then + AutomationId = String.Empty + End If + + If chkControlName.Checked = False Then + ControlName = String.Empty + End If + + If chkAutomationId.Checked = False And chkControlName.Checked = False Then + MsgBox("Es muss entweder die AutomationId oder der Feldname ausgewählt sein!", MsgBoxStyle.Exclamation, Text) + DialogResult = DialogResult.None End If End Sub End Class \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmDocView.vb b/app/DD_Clipboard_Searcher/frmDocView.vb index dc8bab7..f5cdee7 100644 --- a/app/DD_Clipboard_Searcher/frmDocView.vb +++ b/app/DD_Clipboard_Searcher/frmDocView.vb @@ -26,7 +26,8 @@ Public Class frmDocView If GDPICTURE_LICENSE = String.Empty Then Logger.Warn("GD Picture Missing! Please add a license to the Database!") MsgBox($"Lizenz für den Dokumenten Viewer wurde nicht konfiguriert.{vbNewLine}Bitte wenden Sie sich an Digital Data!", MsgBoxStyle.Exclamation, "Clipboard Watcher") - Exit Sub + Me.Close() + End If Dim oLicenceManager As New GdPicture14.LicenseManager() diff --git a/app/DD_Clipboard_Searcher/frmProfileMatch.vb b/app/DD_Clipboard_Searcher/frmProfileMatch.vb index 224da95..47cc2a2 100644 --- a/app/DD_Clipboard_Searcher/frmProfileMatch.vb +++ b/app/DD_Clipboard_Searcher/frmProfileMatch.vb @@ -36,6 +36,11 @@ Public Class frmProfileMatch Exit Sub End If + If oCreatedTiles = 0 Then + Logger.Warn("No Results found for {0}", CURRENT_CLIPBOARD_CONTENTS) + Me.Close() + End If + ' Open Result Forms directly if only one match found If oCreatedTiles = 1 Then Dim oProfile As ProfileData = CURRENT_MATCHING_PROFILES.First() diff --git a/app/DD_Clipboard_Searcher/frmResultDoc.Designer.vb b/app/DD_Clipboard_Searcher/frmResultDoc.Designer.vb index db6bd71..e676cbc 100644 --- a/app/DD_Clipboard_Searcher/frmResultDoc.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmResultDoc.Designer.vb @@ -140,8 +140,8 @@ Partial Class frmResultDoc Me.ToolStripButtonDocView.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.PreviewTab Me.ToolStripButtonDocView.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButtonDocView.Name = "ToolStripButtonDocView" - Me.ToolStripButtonDocView.Size = New System.Drawing.Size(73, 22) - Me.ToolStripButtonDocView.Text = "DocView" + Me.ToolStripButtonDocView.Size = New System.Drawing.Size(105, 22) + Me.ToolStripButtonDocView.Text = "Datei Vorschau" ' 'btnBackToMatchForm ' @@ -204,7 +204,7 @@ Partial Class frmResultDoc Me.XtraTabPageDoc2.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.XtraTabPageDoc2.Name = "XtraTabPageDoc2" Me.XtraTabPageDoc2.PageVisible = False - Me.XtraTabPageDoc2.Size = New System.Drawing.Size(927, 479) + Me.XtraTabPageDoc2.Size = New System.Drawing.Size(931, 482) Me.XtraTabPageDoc2.Text = "XtraTabPage2" ' 'GridControlDocSearch2 @@ -215,7 +215,7 @@ Partial Class frmResultDoc Me.GridControlDocSearch2.MainView = Me.GridViewDocSearch2 Me.GridControlDocSearch2.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.GridControlDocSearch2.Name = "GridControlDocSearch2" - Me.GridControlDocSearch2.Size = New System.Drawing.Size(927, 479) + Me.GridControlDocSearch2.Size = New System.Drawing.Size(931, 482) Me.GridControlDocSearch2.TabIndex = 1 Me.GridControlDocSearch2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch2}) ' @@ -241,7 +241,7 @@ Partial Class frmResultDoc Me.XtraTabPageDoc3.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.XtraTabPageDoc3.Name = "XtraTabPageDoc3" Me.XtraTabPageDoc3.PageVisible = False - Me.XtraTabPageDoc3.Size = New System.Drawing.Size(927, 479) + Me.XtraTabPageDoc3.Size = New System.Drawing.Size(931, 482) Me.XtraTabPageDoc3.Text = "XtraTabPage1" ' 'GridControlDocSearch3 @@ -252,7 +252,7 @@ Partial Class frmResultDoc Me.GridControlDocSearch3.MainView = Me.GridViewDocSearch3 Me.GridControlDocSearch3.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.GridControlDocSearch3.Name = "GridControlDocSearch3" - Me.GridControlDocSearch3.Size = New System.Drawing.Size(927, 479) + Me.GridControlDocSearch3.Size = New System.Drawing.Size(931, 482) Me.GridControlDocSearch3.TabIndex = 1 Me.GridControlDocSearch3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch3}) ' @@ -278,7 +278,7 @@ Partial Class frmResultDoc Me.XtraTabPageDoc4.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.XtraTabPageDoc4.Name = "XtraTabPageDoc4" Me.XtraTabPageDoc4.PageVisible = False - Me.XtraTabPageDoc4.Size = New System.Drawing.Size(927, 479) + Me.XtraTabPageDoc4.Size = New System.Drawing.Size(931, 482) Me.XtraTabPageDoc4.Text = "XtraTabPage2" ' 'GridControlDocSearch4 @@ -289,7 +289,7 @@ Partial Class frmResultDoc Me.GridControlDocSearch4.MainView = Me.GridViewDocSearch4 Me.GridControlDocSearch4.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.GridControlDocSearch4.Name = "GridControlDocSearch4" - Me.GridControlDocSearch4.Size = New System.Drawing.Size(927, 479) + Me.GridControlDocSearch4.Size = New System.Drawing.Size(931, 482) Me.GridControlDocSearch4.TabIndex = 1 Me.GridControlDocSearch4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch4}) ' @@ -315,7 +315,7 @@ Partial Class frmResultDoc Me.XtraTabPageDoc5.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.XtraTabPageDoc5.Name = "XtraTabPageDoc5" Me.XtraTabPageDoc5.PageVisible = False - Me.XtraTabPageDoc5.Size = New System.Drawing.Size(927, 479) + Me.XtraTabPageDoc5.Size = New System.Drawing.Size(931, 482) Me.XtraTabPageDoc5.Text = "XtraTabPage3" ' 'GridControlDocSearch5 @@ -326,7 +326,7 @@ Partial Class frmResultDoc Me.GridControlDocSearch5.MainView = Me.GridViewDocSearch5 Me.GridControlDocSearch5.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.GridControlDocSearch5.Name = "GridControlDocSearch5" - Me.GridControlDocSearch5.Size = New System.Drawing.Size(927, 479) + Me.GridControlDocSearch5.Size = New System.Drawing.Size(931, 482) Me.GridControlDocSearch5.TabIndex = 1 Me.GridControlDocSearch5.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch5}) ' diff --git a/app/DD_Clipboard_Searcher/frmSplash.vb b/app/DD_Clipboard_Searcher/frmSplash.vb index 0554870..0700919 100644 --- a/app/DD_Clipboard_Searcher/frmSplash.vb +++ b/app/DD_Clipboard_Searcher/frmSplash.vb @@ -1,7 +1,7 @@ Imports System.ComponentModel Imports System.Threading Public NotInheritable Class frmSplash - Private InitSteps As Integer = 3 + Private InitSteps As Integer = 4 Private Worker As New BackgroundWorker() Private MainForm As Form @@ -59,6 +59,12 @@ Public NotInheritable Class frmSplash Else ERROR_INIT = "DATABASE" End If + + Worker.ReportProgress(CalcProgress(4), "Initializing Automation") + If Init.InitAutomation() = False Then + ERROR_INIT = "AUTOMATION" + End If + Catch ex As Exception MsgBox("Unexpected Error in bw_DoWork: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try diff --git a/app/DD_Clipboard_Searcher/frmStart.Designer.vb b/app/DD_Clipboard_Searcher/frmStart.Designer.vb index d1763b0..dfd57ca 100644 --- a/app/DD_Clipboard_Searcher/frmStart.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmStart.Designer.vb @@ -39,6 +39,8 @@ Partial Class frmStart Me.labelHotkey = New System.Windows.Forms.Label() Me.btnUserConfig = New System.Windows.Forms.Button() Me.btnAdminConfig = New System.Windows.Forms.Button() + Me.Label2 = New System.Windows.Forms.Label() + Me.ClientBeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.cmstrpNotifyIcon.SuspendLayout() Me.StatusStrip1.SuspendLayout() Me.ContextMenuStripForm.SuspendLayout() @@ -57,9 +59,9 @@ Partial Class frmStart ' 'cmstrpNotifyIcon ' - Me.cmstrpNotifyIcon.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiChangeState, Me.ClientÖffnenToolStripMenuItem}) + Me.cmstrpNotifyIcon.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiChangeState, Me.ClientÖffnenToolStripMenuItem, Me.ClientBeendenToolStripMenuItem}) Me.cmstrpNotifyIcon.Name = "cmstrpNotifyIcon" - Me.cmstrpNotifyIcon.Size = New System.Drawing.Size(250, 48) + Me.cmstrpNotifyIcon.Size = New System.Drawing.Size(250, 92) ' 'tsmiChangeState ' @@ -133,6 +135,7 @@ Partial Class frmStart ' Me.GroupBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GroupBox1.Controls.Add(Me.Label2) Me.GroupBox1.Controls.Add(Me.labelHotkey) Me.GroupBox1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.GroupBox1.Location = New System.Drawing.Point(15, 92) @@ -144,14 +147,14 @@ Partial Class frmStart ' 'labelHotkey ' - Me.labelHotkey.Dock = System.Windows.Forms.DockStyle.Fill + Me.labelHotkey.Dock = System.Windows.Forms.DockStyle.Bottom Me.labelHotkey.Font = New System.Drawing.Font("Tahoma", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.labelHotkey.ForeColor = System.Drawing.SystemColors.ControlDarkDark - Me.labelHotkey.Location = New System.Drawing.Point(3, 17) + Me.labelHotkey.Location = New System.Drawing.Point(3, 29) Me.labelHotkey.Name = "labelHotkey" - Me.labelHotkey.Size = New System.Drawing.Size(312, 39) + Me.labelHotkey.Size = New System.Drawing.Size(312, 27) Me.labelHotkey.TabIndex = 13 - Me.labelHotkey.Text = "CLIPBOARD + {0}" + Me.labelHotkey.Text = "{0}" Me.labelHotkey.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'btnUserConfig @@ -176,6 +179,24 @@ Partial Class frmStart Me.btnAdminConfig.Text = "Administration" Me.btnAdminConfig.UseVisualStyleBackColor = True ' + 'Label2 + ' + Me.Label2.Dock = System.Windows.Forms.DockStyle.Top + Me.Label2.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.Location = New System.Drawing.Point(3, 17) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(312, 13) + Me.Label2.TabIndex = 14 + Me.Label2.Text = "Zwischenablage gefolgt von:" + Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopCenter + ' + 'ClientBeendenToolStripMenuItem + ' + Me.ClientBeendenToolStripMenuItem.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.cancel + Me.ClientBeendenToolStripMenuItem.Name = "ClientBeendenToolStripMenuItem" + Me.ClientBeendenToolStripMenuItem.Size = New System.Drawing.Size(249, 22) + Me.ClientBeendenToolStripMenuItem.Text = "Client beenden" + ' 'frmStart ' Me.Appearance.Options.UseFont = True @@ -221,4 +242,6 @@ Partial Class frmStart Friend WithEvents btnUserConfig As Button Friend WithEvents btnAdminConfig As Button Friend WithEvents labelVersion As ToolStripStatusLabel + Friend WithEvents Label2 As Label + Friend WithEvents ClientBeendenToolStripMenuItem As ToolStripMenuItem End Class diff --git a/app/DD_Clipboard_Searcher/frmStart.vb b/app/DD_Clipboard_Searcher/frmStart.vb index 17827db..e89e2ba 100644 --- a/app/DD_Clipboard_Searcher/frmStart.vb +++ b/app/DD_Clipboard_Searcher/frmStart.vb @@ -113,7 +113,7 @@ Public Class frmStart Try oProfileFilter = New ClassProfileFilter(DT_USER_PROFILES, DTPROFILE_REL_WINDOW, DTPROFILE_REL_CONTROL) Catch ex As Exception - MsgBox("Fehler beim Laden der Profile. Möglicherweise liegt ein Konfigurationsfehler vor.") + MsgBox("Fehler beim Laden der Profile. Möglicherweise liegt ein Konfigurationsfehler vor.", MsgBoxStyle.Critical, Text) Exit Sub End Try @@ -123,7 +123,7 @@ Public Class frmStart oProfiles = oProfileFilter.FilterProfilesByClipboardRegex(oProfiles, ClipboardContents) oProfiles = oProfileFilter.FilterWindowsByWindowTitleRegex(oProfiles, oWindowInfo.WindowTitle) oProfiles = oProfileFilter.FilterWindowsByWindowClipboardRegex(oProfiles, ClipboardContents) - oProfiles = oProfileFilter.FilterProfilesByFocusedControl(oProfiles) + oProfiles = oProfileFilter.FilterProfilesByFocusedControl(oProfiles, ClipboardContents) oProfiles = oProfileFilter.RemoveDuplicateProfiles() oProfiles = oProfiles.ToList() @@ -147,8 +147,6 @@ Public Class frmStart Dim oInvalidDataSQL = False For Each oProfile In oProfiles - Dim oDocumentSQL = oProfile.SQLCountDocs - Dim oDataSQL = oProfile.SQLCountData Dim oResultDocs As Integer = 0 Dim oResultData As Integer = 0 @@ -156,34 +154,36 @@ Public Class frmStart Dim oDocSearches As DataTable = Database.GetDatatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID = {oProfile.Guid}") For Each oRow As DataRow In oDataSearches.Rows + Dim oCountCommand = String.Empty Try - Dim oCountCommand = oRow.Item("COUNT_COMMAND") + oCountCommand = oRow.Item("COUNT_COMMAND") If oCountCommand = String.Empty Then Continue For End If - oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) - oResultData += Database.NewExecuteScalar(oDataSQL) + oCountCommand = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) + oResultData += Database.NewExecuteScalar(oCountCommand) Catch ex As Exception - Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL) + Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oCountCommand) oInvalidDataSQL = True End Try Next For Each oRow As DataRow In oDocSearches.Rows + Dim oCountCommand = String.Empty Try - Dim oCountCommand = oRow.Item("COUNT_COMMAND") + oCountCommand = oRow.Item("COUNT_COMMAND") If oCountCommand = String.Empty Then Continue For End If - oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) - oResultDocs += Database.NewExecuteScalar(oDataSQL) + oCountCommand = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) + oResultDocs += Database.NewExecuteScalar(oCountCommand) Catch ex As Exception + Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oCountCommand) oInvalidDocumentSQL = True - Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL) End Try Next @@ -193,6 +193,7 @@ Public Class frmStart If oInvalidDocumentSQL Or oInvalidDataSQL Then MsgBox("Ein oder mehrere Abfragen konnten nicht ausgeführt werden. Bitte überprüfen Sie das Log.", MsgBoxStyle.Exclamation, "Warnung") + Exit Sub End If Dim oForm As New frmProfileMatch() @@ -293,4 +294,10 @@ Public Class frmStart TimerClose.Start() MONITORING_ACTIVE = True End Sub + + Private Sub ClientBeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientBeendenToolStripMenuItem.Click + If MsgBox("Wollen Sie das Programm beenden?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.Yes Then + Close() + End If + End Sub End Class diff --git a/app/DD_Clipboard_Searcher/modCurrent.vb b/app/DD_Clipboard_Searcher/modCurrent.vb index cda5bd0..1979385 100644 --- a/app/DD_Clipboard_Searcher/modCurrent.vb +++ b/app/DD_Clipboard_Searcher/modCurrent.vb @@ -6,6 +6,7 @@ Module modCurrent Public LogConfig As LogConfig Public Logger As Logger Public Database As MSSQLServer + Public Automation As ClassAutomation Public ConfigManager As ConfigManager(Of ClassConfig) diff --git a/app/SetupWix/Product.wxs b/app/SetupWix/Product.wxs index b214c08..e3dd4f4 100644 --- a/app/SetupWix/Product.wxs +++ b/app/SetupWix/Product.wxs @@ -119,6 +119,9 @@ + + +