diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index e581eec..136e856 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -94,7 +94,7 @@ Public Class ClassInit USER_USERNAME = _User End If Try - DT_CLIENT_USER = Database.GetDatatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False) + DT_CLIENT_USER = Database.GetDatatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName)) If DT_CLIENT_USER.Rows.Count > 1 Then frmClientLogin.ShowDialog() ElseIf DT_CLIENT_USER.Rows.Count = 1 Then @@ -164,7 +164,7 @@ Public Class ClassInit ' sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_ID) 'Database.GetDatatable(sql) sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Clipboard-Watcher'" - Database.ExecuteNonQuery(sql, True) + Database.ExecuteNonQuery(sql) sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Clipboard-Watcher','{2}','{3}')", USER_ID, 0, My.Application.Info.Version.ToString, Environment.MachineName) Database.ExecuteNonQuery(sql) @@ -198,7 +198,7 @@ Public Class ClassInit If USER_IS_ADMIN = False Then 'Anmeldung wieder herausnehmen sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Clipboard-Watcher'" - Database.ExecuteNonQuery(sql, True) + Database.ExecuteNonQuery(sql) Logger.Info(" - logged out the user", False) Return False End If @@ -214,6 +214,21 @@ Public Class ClassInit End Function + Public Shared Sub Refresh_Connections() + Try + Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION") + Dim oDatatable As New MyDataset.TBDD_CONNECTIONDataTable() + Dim oResult = Database.GetDatatable(oSql) + + oDatatable.Merge(oResult) + + DT_CONNECTIONS = oDatatable + Catch ex As Exception + Logger.Error(ex) + MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical) + End Try + End Sub + Public Shared Sub Refresh_Profile_Links() Try Dim oSql = String.Format("SELECT * FROM VWCW_USER_PROFILE WHERE USER_ID = {0} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {0}))", USER_ID) @@ -225,6 +240,7 @@ Public Class ClassInit DTPROFILE_REL_WINDOW = Database.GetDatatable(oSql) End If Catch ex As Exception + Logger.Error(ex) MsgBox("Unexpected Error in Refresh_Profile_Links: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub diff --git a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb index a3c17e8..8a620b8 100644 --- a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb +++ b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb @@ -15,11 +15,15 @@ Public Class ClassWindowAPI Public ProcessName As String = "" Public ClassName As String = "" Public ProcessId As Integer = 0 - Public hWnd As Int32 + Public ControlName As String = "" + Public hWnd As IntPtr End Class Private Delegate Function EnumCallBackDelegate(ByVal hwnd As Integer, ByVal lParam As Integer) As Integer + Private Declare Function GetCurrentThreadId Lib "kernel32.dll" Alias "GetCurrentThreadId" () As IntPtr + Private Declare Function AttachThreadInput Lib "user32.dll" Alias "AttachThreadInput" (ByVal idAttach As IntPtr, ByVal idAttachTo As IntPtr, fAttach As Boolean) As Boolean + Private Declare Function GetFocus Lib "user32.dll" Alias "GetFocus" () As IntPtr Private Declare Function GetForegroundWindow Lib "user32.dll" Alias "GetForegroundWindow" () As IntPtr Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer @@ -182,4 +186,49 @@ Public Class ClassWindowAPI Return GetWindowInfo(hWnd) End Function + + ''' + ''' + ''' + ''' Current window handle; can be obtained from Me.Handle + ''' + Public Shared Function GetFocusedControl(WindowHandle As IntPtr) As WindowInfo + Try + Dim oWindow = GetWindowInfo() + + If oWindow Is Nothing Then + Return Nothing + End If + + Dim oThreadId As IntPtr = GetWindowThreadProcessId(oWindow.hWnd, IntPtr.Zero) + Dim oMyThreadId As IntPtr = GetWindowThreadProcessId(WindowHandle, IntPtr.Zero) + + If AttachThreadInput(oThreadId, oMyThreadId, True) Then + Try + Dim oControlhWnd = GetFocus() + Dim oControl As WindowInfo = GetWindowInfo(oControlhWnd) + + If oControl Is Nothing Then + Return Nothing + End If + + Dim oUtils As New ClassWindowAPIUtils() + Dim oName = oUtils.GetWinFormsId(oControlhWnd) + oControl.ControlName = oName + + Return oControl + Catch ex As Exception + Logger.Error(ex) + Finally + AttachThreadInput(oThreadId, oMyThreadId, False) + End Try + End If + + Return Nothing + Catch ex As Exception + Logger.Error(ex) + Return Nothing + End Try + + End Function End Class diff --git a/app/DD_Clipboard_Searcher/ClassWindowAPIUtils.vb b/app/DD_Clipboard_Searcher/ClassWindowAPIUtils.vb new file mode 100644 index 0000000..bde4eee --- /dev/null +++ b/app/DD_Clipboard_Searcher/ClassWindowAPIUtils.vb @@ -0,0 +1,101 @@ +Imports System +Imports System.Text +Imports System.ComponentModel +Imports DD_Clipboard_Watcher.ClassWindowsAPINativeMethods + +Public Class ClassWindowAPIUtils + Private Shared GetControlNameMessage As Integer = 0 + + Sub New() + GetControlNameMessage = ClassWindowsAPINativeMethods.RegisterWindowMessage("WM_GETCONTROLNAME") + End Sub + + Public Function GetWinFormsId(ByVal hWnd As IntPtr) As String + Return XProcGetControlName(hWnd, GetControlNameMessage) + End Function + + Protected Function XProcGetControlName(ByVal hwnd As IntPtr, ByVal msg As Integer) As String + Dim bytearray As Byte() = New Byte(65535) {} + Dim bufferMem As IntPtr = IntPtr.Zero + Dim written As IntPtr = IntPtr.Zero + Dim retHandle As IntPtr = IntPtr.Zero + Dim retVal As Boolean + Dim processHandle As IntPtr = IntPtr.Zero + Dim fileHandle As IntPtr = IntPtr.Zero + + If Not (Environment.OSVersion.Platform = PlatformID.Win32Windows) Then + + Try + Dim size As UInteger + size = 65536 + processHandle = ClassWindowsAPINativeMethods.OpenProcess(ClassWindowsAPINativeMethods.PROCESS_VM_OPERATION Or ClassWindowsAPINativeMethods.PROCESS_VM_READ Or ClassWindowsAPINativeMethods.PROCESS_VM_WRITE, False, GetProcessIdFromHWnd(hwnd)) + + If processHandle.ToInt64() = 0 Then + Throw New Win32Exception() + End If + + bufferMem = ClassWindowsAPINativeMethods.VirtualAllocEx(processHandle, IntPtr.Zero, New UIntPtr(size), ClassWindowsAPINativeMethods.MEM_RESERVE Or ClassWindowsAPINativeMethods.MEM_COMMIT, PageProtection.ReadWrite) + + If bufferMem.ToInt64() = 0 Then + Throw New Win32Exception() + End If + + retHandle = ClassWindowsAPINativeMethods.SendMessage(hwnd, msg, New IntPtr(size), bufferMem) + retVal = ClassWindowsAPINativeMethods.ReadProcessMemory(processHandle, bufferMem, bytearray, New UIntPtr(size), written) + + If Not retVal Then + Throw New Win32Exception() + End If + + Finally + retVal = ClassWindowsAPINativeMethods.VirtualFreeEx(processHandle, bufferMem, New UIntPtr(0), ClassWindowsAPINativeMethods.MEM_RELEASE) + + If Not retVal Then + Throw New Win32Exception() + End If + + ClassWindowsAPINativeMethods.CloseHandle(processHandle) + End Try + Else + + Try + Dim size2 As Integer + size2 = 65536 + fileHandle = ClassWindowsAPINativeMethods.CreateFileMapping(New IntPtr(ClassWindowsAPINativeMethods.INVALID_HANDLE_VALUE), IntPtr.Zero, PageProtection.ReadWrite, 0, size2, Nothing) + + If fileHandle.ToInt64() = 0 Then + Throw New Win32Exception() + End If + + bufferMem = ClassWindowsAPINativeMethods.MapViewOfFile(fileHandle, ClassWindowsAPINativeMethods.FILE_MAP_ALL_ACCESS, 0, 0, New UIntPtr(0)) + + If bufferMem.ToInt64() = 0 Then + Throw New Win32Exception() + End If + + ClassWindowsAPINativeMethods.MoveMemoryFromByte(bufferMem, bytearray(0), size2) + retHandle = ClassWindowsAPINativeMethods.SendMessage(hwnd, msg, New IntPtr(size2), bufferMem) + ClassWindowsAPINativeMethods.MoveMemoryToByte(bytearray(0), bufferMem, 1024) + Finally + ClassWindowsAPINativeMethods.UnmapViewOfFile(bufferMem) + ClassWindowsAPINativeMethods.CloseHandle(fileHandle) + End Try + End If + + Return ByteArrayToString(bytearray) + End Function + + Private Function GetProcessIdFromHWnd(ByVal hwnd As IntPtr) As UInteger + Dim pid As UInteger + ClassWindowsAPINativeMethods.GetWindowThreadProcessId(hwnd, pid) + Return pid + End Function + + Private Function ByteArrayToString(ByVal bytes As Byte()) As String + If Environment.OSVersion.Platform = PlatformID.Win32Windows Then + Return Encoding.[Default].GetString(bytes).TrimEnd(vbNullChar) + Else + Return Encoding.Unicode.GetString(bytes).TrimEnd(vbNullChar) + End If + End Function +End Class diff --git a/app/DD_Clipboard_Searcher/ClassWindowsAPINativeMethods.vb b/app/DD_Clipboard_Searcher/ClassWindowsAPINativeMethods.vb new file mode 100644 index 0000000..c3c036f --- /dev/null +++ b/app/DD_Clipboard_Searcher/ClassWindowsAPINativeMethods.vb @@ -0,0 +1,82 @@ +Imports System.Runtime.InteropServices + +Public Class ClassWindowsAPINativeMethods + + Public Shared Function OpenProcess(ByVal dwDesiredAccess As UInteger, ByVal bInheritHandle As Boolean, ByVal dwProcessId As UInteger) As IntPtr + End Function + + Public Shared Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, ByVal dwSize As UIntPtr, ByVal flAllocationType As UInteger, ByVal flProtect As PageProtection) As IntPtr + End Function + + Public Shared Function GetWindowThreadProcessId(ByVal hWnd As IntPtr, ByRef lpdwProcessId As UInteger) As UInteger + End Function + + Public Shared Function VirtualFreeEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, ByVal dwSize As UIntPtr, ByVal dwFreeType As UInteger) As Boolean + End Function + + Public Shared Function CloseHandle(ByVal hObject As IntPtr) As Boolean + End Function + + Public Shared Function MapViewOfFile(ByVal hFileMappingObject As IntPtr, ByVal dwDesiredAccess As UInteger, ByVal dwFileOffsetHigh As UInteger, ByVal dwFileOffsetLow As UInteger, ByVal dwNumberOfBytesToMap As UIntPtr) As IntPtr + End Function + + Public Shared Function UnmapViewOfFile(ByVal lpBaseAddress As IntPtr) As Boolean + End Function + + Public Shared Function CreateFileMapping(ByVal hFile As IntPtr, ByVal lpFileMappingAttributes As IntPtr, ByVal flProtect As PageProtection, ByVal dwMaximumSizeHigh As Integer, ByVal dwMaximumSizeLow As Integer, ByVal lpName As String) As IntPtr + End Function + + Public Shared Function SendMessage(ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr + End Function + + Public Shared Function ReadProcessMemory(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, + ByVal lpBuffer As Byte(), ByVal nSize As UIntPtr, ByVal lpNumberOfBytesRead As IntPtr) As Boolean + End Function + + Public Shared Sub MoveMemoryFromByte(ByVal dest As IntPtr, ByRef src As Byte, ByVal size As Integer) + End Sub + + Public Shared Sub MoveMemoryToByte(ByRef dest As Byte, ByVal src As IntPtr, ByVal size As Integer) + End Sub + + Public Shared Function RegisterWindowMessage(ByVal lpString As String) As Integer + End Function + + Public Const STANDARD_RIGHTS_REQUIRED As Integer = &HF0000 + Public Const SECTION_QUERY As Short = &H1 + Public Const SECTION_MAP_WRITE As Short = &H2 + Public Const SECTION_MAP_READ As Short = &H4 + Public Const SECTION_MAP_EXECUTE As Short = &H8 + Public Const SECTION_EXTEND_SIZE As Short = &H10 + Public Const SECTION_ALL_ACCESS As Integer = STANDARD_RIGHTS_REQUIRED Or SECTION_QUERY Or SECTION_MAP_WRITE Or SECTION_MAP_READ Or SECTION_MAP_EXECUTE Or SECTION_EXTEND_SIZE + Public Const FILE_MAP_ALL_ACCESS As Integer = SECTION_ALL_ACCESS + Public Const PROCESS_VM_OPERATION As Short = &H8 + Public Const PROCESS_VM_READ As Short = &H10 + Public Const PROCESS_VM_WRITE As Short = &H20 + Public Const PROCESS_ALL_ACCESS As Long = &H1F0FFF + Public Const MEM_COMMIT As Short = &H1000 + Public Const MEM_RESERVE As Short = &H2000 + Public Const MEM_DECOMMIT As Short = &H4000 + Public Const MEM_RELEASE As Integer = &H8000 + Public Const MEM_FREE As Integer = &H10000 + Public Const MEM_PRIVATE As Integer = &H20000 + Public Const MEM_MAPPED As Integer = &H40000 + Public Const MEM_TOP_DOWN As Integer = &H100000 + Public Const INVALID_HANDLE_VALUE As Integer = -1 + + Public Enum PageProtection As UInteger + NoAccess = &H1 + [Readonly] = &H2 + ReadWrite = &H4 + WriteCopy = &H8 + Execute = &H10 + ExecuteRead = &H20 + ExecuteReadWrite = &H40 + ExecuteWriteCopy = &H80 + Guard = &H100 + NoCache = &H200 + WriteCombine = &H400 + End Enum + + +End Class diff --git a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj index e5010ae..1cd0442 100644 --- a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj +++ b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj @@ -135,6 +135,7 @@ + @@ -151,6 +152,12 @@ Form + + frmControlCapture.vb + + + Form + frmDocViewAbout.vb @@ -274,6 +281,7 @@ MyDataset.xsd + @@ -282,6 +290,9 @@ frmConnection.vb + + frmControlCapture.vb + frmDocViewAbout.vb diff --git a/app/DD_Clipboard_Searcher/MyDataset.Designer.vb b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb index 46dbf9e..898a8ab 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.Designer.vb +++ b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb @@ -45,6 +45,8 @@ Partial Public Class MyDataset Private tableTBDD_CONNECTION As TBDD_CONNECTIONDataTable + Private tableTBCW_PROF_REL_CONTROL As TBCW_PROF_REL_CONTROLDataTable + Private tableTBWH_User As TBWH_UserDataTable Private tableTBWH_GROUP As TBWH_GROUPDataTable @@ -57,6 +59,8 @@ Partial Public Class MyDataset Private relationFK_TBCW_PROF_REL_CONTROL_PROF_ID As Global.System.Data.DataRelation + Private relationFK_TBCW_PROF_REL_CONTROL_PROF_IF As Global.System.Data.DataRelation + Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema _ + Public ReadOnly Property TBCW_PROF_REL_CONTROL() As TBCW_PROF_REL_CONTROLDataTable + Get + Return Me.tableTBCW_PROF_REL_CONTROL + End Get + End Property + _ + Private Function ShouldSerializeTBCW_PROF_REL_CONTROL() As Boolean + Return false + End Function + _ Private Function ShouldSerializeTBWH_User() As Boolean @@ -701,6 +738,9 @@ Partial Public Class MyDataset _ Public Delegate Sub TBDD_CONNECTIONRowChangeEventHandler(ByVal sender As Object, ByVal e As TBDD_CONNECTIONRowChangeEvent) + _ + Public Delegate Sub TBCW_PROF_REL_CONTROLRowChangeEventHandler(ByVal sender As Object, ByVal e As TBCW_PROF_REL_CONTROLRowChangeEvent) + _ Public Delegate Sub TBWH_UserRowChangeEventHandler(ByVal sender As Object, ByVal e As TBWH_UserRowChangeEvent) @@ -4367,6 +4407,416 @@ Partial Public Class MyDataset End Function End Class + ''' + '''Represents the strongly named DataTable class. + ''' + _ + Partial Public Class TBCW_PROF_REL_CONTROLDataTable + Inherits Global.System.Data.TypedTableBase(Of TBCW_PROF_REL_CONTROLRow) + + Private columnGUID As Global.System.Data.DataColumn + + Private columnPROFILE_ID As Global.System.Data.DataColumn + + Private columnWINDOW_ID As Global.System.Data.DataColumn + + Private columnPROCESS_NAME As Global.System.Data.DataColumn + + Private columnDESCRIPTION As Global.System.Data.DataColumn + + Private columnREGEX As Global.System.Data.DataColumn + + Private columnSEQUENCE As Global.System.Data.DataColumn + + Private columnADDED_WHO As Global.System.Data.DataColumn + + Private columnADDED_WHEN As Global.System.Data.DataColumn + + Private columnCHANGED_WHO As Global.System.Data.DataColumn + + Private columnCHANGED_WHEN As Global.System.Data.DataColumn + + _ + Public Sub New() + MyBase.New + Me.TableName = "TBCW_PROF_REL_CONTROL" + Me.BeginInit + Me.InitClass + Me.EndInit + End Sub + + _ + Friend Sub New(ByVal table As Global.System.Data.DataTable) + MyBase.New + Me.TableName = table.TableName + If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then + Me.CaseSensitive = table.CaseSensitive + End If + If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then + Me.Locale = table.Locale + End If + If (table.Namespace <> table.DataSet.Namespace) Then + Me.Namespace = table.Namespace + End If + Me.Prefix = table.Prefix + Me.MinimumCapacity = table.MinimumCapacity + End Sub + + _ + Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext) + MyBase.New(info, context) + Me.InitVars + End Sub + + _ + Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnGUID + End Get + End Property + + _ + Public ReadOnly Property PROFILE_IDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnPROFILE_ID + End Get + End Property + + _ + Public ReadOnly Property WINDOW_IDColumn() As Global.System.Data.DataColumn + Get + Return Me.columnWINDOW_ID + End Get + End Property + + _ + Public ReadOnly Property PROCESS_NAMEColumn() As Global.System.Data.DataColumn + Get + Return Me.columnPROCESS_NAME + End Get + End Property + + _ + Public ReadOnly Property DESCRIPTIONColumn() As Global.System.Data.DataColumn + Get + Return Me.columnDESCRIPTION + End Get + End Property + + _ + Public ReadOnly Property REGEXColumn() As Global.System.Data.DataColumn + Get + Return Me.columnREGEX + End Get + End Property + + _ + Public ReadOnly Property SEQUENCEColumn() As Global.System.Data.DataColumn + Get + Return Me.columnSEQUENCE + End Get + End Property + + _ + Public ReadOnly Property ADDED_WHOColumn() As Global.System.Data.DataColumn + Get + Return Me.columnADDED_WHO + End Get + End Property + + _ + Public ReadOnly Property ADDED_WHENColumn() As Global.System.Data.DataColumn + Get + Return Me.columnADDED_WHEN + End Get + End Property + + _ + Public ReadOnly Property CHANGED_WHOColumn() As Global.System.Data.DataColumn + Get + Return Me.columnCHANGED_WHO + End Get + End Property + + _ + Public ReadOnly Property CHANGED_WHENColumn() As Global.System.Data.DataColumn + Get + Return Me.columnCHANGED_WHEN + End Get + End Property + + _ + Public ReadOnly Property Count() As Integer + Get + Return Me.Rows.Count + End Get + End Property + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBCW_PROF_REL_CONTROLRow + Get + Return CType(Me.Rows(index),TBCW_PROF_REL_CONTROLRow) + End Get + End Property + + _ + Public Event TBCW_PROF_REL_CONTROLRowChanging As TBCW_PROF_REL_CONTROLRowChangeEventHandler + + _ + Public Event TBCW_PROF_REL_CONTROLRowChanged As TBCW_PROF_REL_CONTROLRowChangeEventHandler + + _ + Public Event TBCW_PROF_REL_CONTROLRowDeleting As TBCW_PROF_REL_CONTROLRowChangeEventHandler + + _ + Public Event TBCW_PROF_REL_CONTROLRowDeleted As TBCW_PROF_REL_CONTROLRowChangeEventHandler + + _ + Public Overloads Sub AddTBCW_PROF_REL_CONTROLRow(ByVal row As TBCW_PROF_REL_CONTROLRow) + Me.Rows.Add(row) + End Sub + + _ + 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 + 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} + 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 + rowTBCW_PROF_REL_CONTROLRow.ItemArray = columnValuesArray + Me.Rows.Add(rowTBCW_PROF_REL_CONTROLRow) + Return rowTBCW_PROF_REL_CONTROLRow + End Function + + _ + Public Function FindByGUID(ByVal GUID As Integer) As TBCW_PROF_REL_CONTROLRow + Return CType(Me.Rows.Find(New Object() {GUID}),TBCW_PROF_REL_CONTROLRow) + End Function + + _ + Public Overrides Function Clone() As Global.System.Data.DataTable + Dim cln As TBCW_PROF_REL_CONTROLDataTable = CType(MyBase.Clone,TBCW_PROF_REL_CONTROLDataTable) + cln.InitVars + Return cln + End Function + + _ + Protected Overrides Function CreateInstance() As Global.System.Data.DataTable + Return New TBCW_PROF_REL_CONTROLDataTable() + End Function + + _ + Friend Sub InitVars() + Me.columnGUID = MyBase.Columns("GUID") + Me.columnPROFILE_ID = MyBase.Columns("PROFILE_ID") + Me.columnWINDOW_ID = MyBase.Columns("WINDOW_ID") + Me.columnPROCESS_NAME = MyBase.Columns("PROCESS_NAME") + Me.columnDESCRIPTION = MyBase.Columns("DESCRIPTION") + Me.columnREGEX = MyBase.Columns("REGEX") + Me.columnSEQUENCE = MyBase.Columns("SEQUENCE") + Me.columnADDED_WHO = MyBase.Columns("ADDED_WHO") + Me.columnADDED_WHEN = MyBase.Columns("ADDED_WHEN") + Me.columnCHANGED_WHO = MyBase.Columns("CHANGED_WHO") + Me.columnCHANGED_WHEN = MyBase.Columns("CHANGED_WHEN") + End Sub + + _ + Private Sub InitClass() + Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnGUID) + Me.columnPROFILE_ID = New Global.System.Data.DataColumn("PROFILE_ID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnPROFILE_ID) + Me.columnWINDOW_ID = New Global.System.Data.DataColumn("WINDOW_ID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnWINDOW_ID) + Me.columnPROCESS_NAME = New Global.System.Data.DataColumn("PROCESS_NAME", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnPROCESS_NAME) + Me.columnDESCRIPTION = New Global.System.Data.DataColumn("DESCRIPTION", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnDESCRIPTION) + Me.columnREGEX = New Global.System.Data.DataColumn("REGEX", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnREGEX) + Me.columnSEQUENCE = New Global.System.Data.DataColumn("SEQUENCE", GetType(Byte), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnSEQUENCE) + Me.columnADDED_WHO = New Global.System.Data.DataColumn("ADDED_WHO", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnADDED_WHO) + Me.columnADDED_WHEN = New Global.System.Data.DataColumn("ADDED_WHEN", GetType(Date), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnADDED_WHEN) + Me.columnCHANGED_WHO = New Global.System.Data.DataColumn("CHANGED_WHO", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnCHANGED_WHO) + Me.columnCHANGED_WHEN = New Global.System.Data.DataColumn("CHANGED_WHEN", GetType(Date), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnCHANGED_WHEN) + Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) + Me.columnGUID.AutoIncrement = true + Me.columnGUID.AutoIncrementSeed = -1 + Me.columnGUID.AutoIncrementStep = -1 + Me.columnGUID.AllowDBNull = false + Me.columnGUID.ReadOnly = true + Me.columnGUID.Unique = true + Me.columnPROFILE_ID.AllowDBNull = false + Me.columnWINDOW_ID.AllowDBNull = false + Me.columnPROCESS_NAME.AllowDBNull = false + Me.columnPROCESS_NAME.MaxLength = 250 + Me.columnDESCRIPTION.AllowDBNull = false + Me.columnDESCRIPTION.MaxLength = 250 + Me.columnREGEX.AllowDBNull = false + Me.columnREGEX.MaxLength = 500 + Me.columnSEQUENCE.AllowDBNull = false + Me.columnADDED_WHO.AllowDBNull = false + Me.columnADDED_WHO.MaxLength = 50 + Me.columnCHANGED_WHO.MaxLength = 50 + End Sub + + _ + Public Function NewTBCW_PROF_REL_CONTROLRow() As TBCW_PROF_REL_CONTROLRow + Return CType(Me.NewRow,TBCW_PROF_REL_CONTROLRow) + End Function + + _ + Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow + Return New TBCW_PROF_REL_CONTROLRow(builder) + End Function + + _ + Protected Overrides Function GetRowType() As Global.System.Type + Return GetType(TBCW_PROF_REL_CONTROLRow) + End Function + + _ + Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanged(e) + If (Not (Me.TBCW_PROF_REL_CONTROLRowChangedEvent) Is Nothing) Then + RaiseEvent TBCW_PROF_REL_CONTROLRowChanged(Me, New TBCW_PROF_REL_CONTROLRowChangeEvent(CType(e.Row,TBCW_PROF_REL_CONTROLRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanging(e) + If (Not (Me.TBCW_PROF_REL_CONTROLRowChangingEvent) Is Nothing) Then + RaiseEvent TBCW_PROF_REL_CONTROLRowChanging(Me, New TBCW_PROF_REL_CONTROLRowChangeEvent(CType(e.Row,TBCW_PROF_REL_CONTROLRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleted(e) + If (Not (Me.TBCW_PROF_REL_CONTROLRowDeletedEvent) Is Nothing) Then + RaiseEvent TBCW_PROF_REL_CONTROLRowDeleted(Me, New TBCW_PROF_REL_CONTROLRowChangeEvent(CType(e.Row,TBCW_PROF_REL_CONTROLRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleting(e) + If (Not (Me.TBCW_PROF_REL_CONTROLRowDeletingEvent) Is Nothing) Then + RaiseEvent TBCW_PROF_REL_CONTROLRowDeleting(Me, New TBCW_PROF_REL_CONTROLRowChangeEvent(CType(e.Row,TBCW_PROF_REL_CONTROLRow), e.Action)) + End If + End Sub + + _ + Public Sub RemoveTBCW_PROF_REL_CONTROLRow(ByVal row As TBCW_PROF_REL_CONTROLRow) + Me.Rows.Remove(row) + End Sub + + _ + Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType + Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType() + Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence() + Dim ds As MyDataset = New MyDataset() + Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any1.Namespace = "http://www.w3.org/2001/XMLSchema" + any1.MinOccurs = New Decimal(0) + any1.MaxOccurs = Decimal.MaxValue + any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any1) + Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1" + any2.MinOccurs = New Decimal(1) + any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any2) + Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute1.Name = "namespace" + attribute1.FixedValue = ds.Namespace + type.Attributes.Add(attribute1) + Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute2.Name = "tableTypeName" + attribute2.FixedValue = "TBCW_PROF_REL_CONTROLDataTable" + type.Attributes.Add(attribute2) + type.Particle = sequence + Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable + If xs.Contains(dsSchema.TargetNamespace) Then + Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Try + Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing + dsSchema.Write(s1) + Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator + Do While schemas.MoveNext + schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema) + s2.SetLength(0) + schema.Write(s2) + If (s1.Length = s2.Length) Then + s1.Position = 0 + s2.Position = 0 + + Do While ((s1.Position <> s1.Length) _ + AndAlso (s1.ReadByte = s2.ReadByte)) + + + Loop + If (s1.Position = s1.Length) Then + Return type + End If + End If + + Loop + Finally + If (Not (s1) Is Nothing) Then + s1.Close + End If + If (Not (s2) Is Nothing) Then + s2.Close + End If + End Try + End If + xs.Add(dsSchema) + Return type + End Function + End Class + ''' '''Represents the strongly named DataTable class. ''' @@ -5432,6 +5882,16 @@ Partial Public Class MyDataset Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("FK_TBCW_PROF_REL_CONTROL_PROF_ID")),TBCW_PROF_REL_WINDOWRow()) End If End Function + + _ + Public Function GetTBCW_PROF_REL_CONTROLRows() As TBCW_PROF_REL_CONTROLRow() + If (Me.Table.ChildRelations("FK_TBCW_PROF_REL_CONTROL_PROF_IF") Is Nothing) Then + Return New TBCW_PROF_REL_CONTROLRow(-1) {} + Else + Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("FK_TBCW_PROF_REL_CONTROL_PROF_IF")),TBCW_PROF_REL_CONTROLRow()) + End If + End Function End Class ''' @@ -6797,6 +7257,202 @@ Partial Public Class MyDataset End Sub End Class + ''' + '''Represents strongly named DataRow class. + ''' + Partial Public Class TBCW_PROF_REL_CONTROLRow + Inherits Global.System.Data.DataRow + + Private tableTBCW_PROF_REL_CONTROL As TBCW_PROF_REL_CONTROLDataTable + + _ + Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) + MyBase.New(rb) + Me.tableTBCW_PROF_REL_CONTROL = CType(Me.Table,TBCW_PROF_REL_CONTROLDataTable) + End Sub + + _ + Public Property GUID() As Integer + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.GUIDColumn),Integer) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.GUIDColumn) = value + End Set + End Property + + _ + Public Property PROFILE_ID() As Integer + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.PROFILE_IDColumn),Integer) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.PROFILE_IDColumn) = value + End Set + End Property + + _ + Public Property WINDOW_ID() As Integer + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.WINDOW_IDColumn),Integer) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.WINDOW_IDColumn) = value + End Set + End Property + + _ + Public Property PROCESS_NAME() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.PROCESS_NAMEColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.PROCESS_NAMEColumn) = value + End Set + End Property + + _ + Public Property DESCRIPTION() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.DESCRIPTIONColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.DESCRIPTIONColumn) = value + End Set + End Property + + _ + Public Property REGEX() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.REGEXColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.REGEXColumn) = value + End Set + End Property + + _ + Public Property SEQUENCE() As Byte + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.SEQUENCEColumn),Byte) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.SEQUENCEColumn) = value + End Set + End Property + + _ + Public Property ADDED_WHO() As String + Get + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHOColumn),String) + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHOColumn) = value + End Set + End Property + + _ + Public Property ADDED_WHEN() As Date + Get + Try + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHENColumn),Date) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte ADDED_WHEN in Tabelle TBCW_PROF_REL_CONTROL ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHENColumn) = value + End Set + End Property + + _ + Public Property CHANGED_WHO() As String + Get + Try + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHOColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte CHANGED_WHO in Tabelle TBCW_PROF_REL_CONTROL ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHOColumn) = value + End Set + End Property + + _ + Public Property CHANGED_WHEN() As Date + Get + Try + Return CType(Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHENColumn),Date) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte CHANGED_WHEN in Tabelle TBCW_PROF_REL_CONTROL ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHENColumn) = value + End Set + End Property + + _ + Public Property TBCW_PROFILESRow() As TBCW_PROFILESRow + Get + Return CType(Me.GetParentRow(Me.Table.ParentRelations("FK_TBCW_PROF_REL_CONTROL_PROF_IF")),TBCW_PROFILESRow) + End Get + Set + Me.SetParentRow(value, Me.Table.ParentRelations("FK_TBCW_PROF_REL_CONTROL_PROF_IF")) + End Set + End Property + + _ + Public Function IsADDED_WHENNull() As Boolean + Return Me.IsNull(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHENColumn) + End Function + + _ + Public Sub SetADDED_WHENNull() + Me(Me.tableTBCW_PROF_REL_CONTROL.ADDED_WHENColumn) = Global.System.Convert.DBNull + End Sub + + _ + Public Function IsCHANGED_WHONull() As Boolean + Return Me.IsNull(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHOColumn) + End Function + + _ + Public Sub SetCHANGED_WHONull() + Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHOColumn) = Global.System.Convert.DBNull + End Sub + + _ + Public Function IsCHANGED_WHENNull() As Boolean + Return Me.IsNull(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHENColumn) + End Function + + _ + Public Sub SetCHANGED_WHENNull() + Me(Me.tableTBCW_PROF_REL_CONTROL.CHANGED_WHENColumn) = Global.System.Convert.DBNull + End Sub + End Class + ''' '''Represents strongly named DataRow class. ''' @@ -7432,6 +8088,42 @@ Partial Public Class MyDataset End Property End Class + ''' + '''Row event argument class + ''' + _ + Public Class TBCW_PROF_REL_CONTROLRowChangeEvent + Inherits Global.System.EventArgs + + Private eventRow As TBCW_PROF_REL_CONTROLRow + + Private eventAction As Global.System.Data.DataRowAction + + _ + Public Sub New(ByVal row As TBCW_PROF_REL_CONTROLRow, ByVal action As Global.System.Data.DataRowAction) + MyBase.New + Me.eventRow = row + Me.eventAction = action + End Sub + + _ + Public ReadOnly Property Row() As TBCW_PROF_REL_CONTROLRow + Get + Return Me.eventRow + End Get + End Property + + _ + Public ReadOnly Property Action() As Global.System.Data.DataRowAction + Get + Return Me.eventAction + End Get + End Property + End Class + ''' '''Row event argument class ''' @@ -11098,6 +11790,583 @@ Namespace MyDatasetTableAdapters End Function End Class + ''' + '''Represents the connection and commands used to retrieve and save data. + ''' + _ + Partial Public Class TBCW_PROF_REL_CONTROLTableAdapter + Inherits Global.System.ComponentModel.Component + + Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter + + Private _connection As Global.System.Data.SqlClient.SqlConnection + + Private _transaction As Global.System.Data.SqlClient.SqlTransaction + + Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand + + Private _clearBeforeFill As Boolean + + _ + Public Sub New() + MyBase.New + Me.ClearBeforeFill = true + End Sub + + _ + Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter + Get + If (Me._adapter Is Nothing) Then + Me.InitAdapter + End If + Return Me._adapter + End Get + End Property + + _ + Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection + Get + If (Me._connection Is Nothing) Then + Me.InitConnection + End If + Return Me._connection + End Get + Set + Me._connection = value + If (Not (Me.Adapter.InsertCommand) Is Nothing) Then + Me.Adapter.InsertCommand.Connection = value + End If + If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then + Me.Adapter.DeleteCommand.Connection = value + End If + If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then + Me.Adapter.UpdateCommand.Connection = value + End If + Dim i As Integer = 0 + Do While (i < Me.CommandCollection.Length) + If (Not (Me.CommandCollection(i)) Is Nothing) Then + CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value + End If + i = (i + 1) + Loop + End Set + End Property + + _ + Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction + Get + Return Me._transaction + End Get + Set + Me._transaction = value + Dim i As Integer = 0 + Do While (i < Me.CommandCollection.Length) + Me.CommandCollection(i).Transaction = Me._transaction + i = (i + 1) + Loop + If ((Not (Me.Adapter) Is Nothing) _ + AndAlso (Not (Me.Adapter.DeleteCommand) Is Nothing)) Then + Me.Adapter.DeleteCommand.Transaction = Me._transaction + End If + If ((Not (Me.Adapter) Is Nothing) _ + AndAlso (Not (Me.Adapter.InsertCommand) Is Nothing)) Then + Me.Adapter.InsertCommand.Transaction = Me._transaction + End If + If ((Not (Me.Adapter) Is Nothing) _ + AndAlso (Not (Me.Adapter.UpdateCommand) Is Nothing)) Then + Me.Adapter.UpdateCommand.Transaction = Me._transaction + End If + End Set + End Property + + _ + Protected ReadOnly Property CommandCollection() As Global.System.Data.SqlClient.SqlCommand() + Get + If (Me._commandCollection Is Nothing) Then + Me.InitCommandCollection + End If + Return Me._commandCollection + End Get + End Property + + _ + Public Property ClearBeforeFill() As Boolean + Get + Return Me._clearBeforeFill + End Get + Set + Me._clearBeforeFill = value + End Set + End Property + + _ + Private Sub InitAdapter() + Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter() + Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping() + tableMapping.SourceTable = "Table" + tableMapping.DataSetTable = "TBCW_PROF_REL_CONTROL" + tableMapping.ColumnMappings.Add("GUID", "GUID") + tableMapping.ColumnMappings.Add("PROFILE_ID", "PROFILE_ID") + tableMapping.ColumnMappings.Add("WINDOW_ID", "WINDOW_ID") + tableMapping.ColumnMappings.Add("PROCESS_NAME", "PROCESS_NAME") + tableMapping.ColumnMappings.Add("DESCRIPTION", "DESCRIPTION") + tableMapping.ColumnMappings.Add("REGEX", "REGEX") + tableMapping.ColumnMappings.Add("SEQUENCE", "SEQUENCE") + tableMapping.ColumnMappings.Add("ADDED_WHO", "ADDED_WHO") + tableMapping.ColumnMappings.Add("ADDED_WHEN", "ADDED_WHEN") + tableMapping.ColumnMappings.Add("CHANGED_WHO", "CHANGED_WHO") + tableMapping.ColumnMappings.Add("CHANGED_WHEN", "CHANGED_WHEN") + 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.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.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())" + 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("@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, "", "", "")) + Me._adapter.InsertCommand.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.InsertCommand.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.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.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, "", "", "")) + End Sub + + _ + Private Sub InitConnection() + Me._connection = New Global.System.Data.SqlClient.SqlConnection() + Me._connection.ConnectionString = Global.DD_Clipboard_Watcher.My.MySettings.Default.DD_ECMConnectionString + End Sub + + _ + Private Sub InitCommandCollection() + Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {} + Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() + Me._commandCollection(0).Connection = Me.Connection + Me._commandCollection(0).CommandText = "SELECT TBCW_PROF_REL_CONTROL.*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBCW_PROF_REL_CONTROL" + Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text + End Sub + + _ + Public Overloads Overridable Function Fill(ByVal dataTable As MyDataset.TBCW_PROF_REL_CONTROLDataTable) As Integer + Me.Adapter.SelectCommand = Me.CommandCollection(0) + If (Me.ClearBeforeFill = true) Then + dataTable.Clear + End If + Dim returnValue As Integer = Me.Adapter.Fill(dataTable) + Return returnValue + End Function + + _ + Public Overloads Overridable Function GetData() As MyDataset.TBCW_PROF_REL_CONTROLDataTable + Me.Adapter.SelectCommand = Me.CommandCollection(0) + Dim dataTable As MyDataset.TBCW_PROF_REL_CONTROLDataTable = New MyDataset.TBCW_PROF_REL_CONTROLDataTable() + Me.Adapter.Fill(dataTable) + Return dataTable + End Function + + _ + Public Overloads Overridable Function Update(ByVal dataTable As MyDataset.TBCW_PROF_REL_CONTROLDataTable) As Integer + Return Me.Adapter.Update(dataTable) + End Function + + _ + Public Overloads Overridable Function Update(ByVal dataSet As MyDataset) As Integer + Return Me.Adapter.Update(dataSet, "TBCW_PROF_REL_CONTROL") + End Function + + _ + Public Overloads Overridable Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer + Return Me.Adapter.Update(New Global.System.Data.DataRow() {dataRow}) + End Function + + _ + Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer + Return Me.Adapter.Update(dataRows) + End Function + + _ + 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 + 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 + Me.Adapter.DeleteCommand.Connection.Open + End If + Try + Dim returnValue As Integer = Me.Adapter.DeleteCommand.ExecuteNonQuery + Return returnValue + Finally + If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then + Me.Adapter.DeleteCommand.Connection.Close + End If + End Try + End Function + + _ + 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 + 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 + Throw New Global.System.ArgumentNullException("PROCESS_NAME") + Else + Me.Adapter.InsertCommand.Parameters(2).Value = CType(PROCESS_NAME,String) + End If + If (DESCRIPTION Is Nothing) Then + Throw New Global.System.ArgumentNullException("DESCRIPTION") + Else + Me.Adapter.InsertCommand.Parameters(3).Value = CType(DESCRIPTION,String) + End If + If (REGEX Is Nothing) Then + Throw New Global.System.ArgumentNullException("REGEX") + Else + Me.Adapter.InsertCommand.Parameters(4).Value = CType(REGEX,String) + End If + Me.Adapter.InsertCommand.Parameters(5).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) + End If + If (ADDED_WHEN.HasValue = true) Then + Me.Adapter.InsertCommand.Parameters(7).Value = CType(ADDED_WHEN.Value,Date) + Else + Me.Adapter.InsertCommand.Parameters(7).Value = Global.System.DBNull.Value + End If + If (CHANGED_WHO Is Nothing) Then + Me.Adapter.InsertCommand.Parameters(8).Value = Global.System.DBNull.Value + Else + Me.Adapter.InsertCommand.Parameters(8).Value = CType(CHANGED_WHO,String) + End If + If (CHANGED_WHEN.HasValue = true) Then + Me.Adapter.InsertCommand.Parameters(9).Value = CType(CHANGED_WHEN.Value,Date) + Else + Me.Adapter.InsertCommand.Parameters(9).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) _ + <> Global.System.Data.ConnectionState.Open) Then + Me.Adapter.InsertCommand.Connection.Open + End If + Try + Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery + Return returnValue + Finally + If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then + Me.Adapter.InsertCommand.Connection.Close + 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), _ + 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 + Throw New Global.System.ArgumentNullException("PROCESS_NAME") + Else + Me.Adapter.UpdateCommand.Parameters(2).Value = CType(PROCESS_NAME,String) + End If + If (DESCRIPTION Is Nothing) Then + Throw New Global.System.ArgumentNullException("DESCRIPTION") + 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") + Else + Me.Adapter.UpdateCommand.Parameters(14).Value = CType(Original_DESCRIPTION,String) + End If + If (Original_REGEX Is Nothing) Then + Throw New Global.System.ArgumentNullException("Original_REGEX") + Else + Me.Adapter.UpdateCommand.Parameters(15).Value = CType(Original_REGEX,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) + Else + Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Object) + Me.Adapter.UpdateCommand.Parameters(23).Value = Global.System.DBNull.Value + End If + Me.Adapter.UpdateCommand.Parameters(24).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 + Me.Adapter.UpdateCommand.Connection.Open + End If + Try + Dim returnValue As Integer = Me.Adapter.UpdateCommand.ExecuteNonQuery + Return returnValue + Finally + If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then + Me.Adapter.UpdateCommand.Connection.Close + 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 + ''' '''TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios ''' @@ -11127,6 +12396,8 @@ Namespace MyDatasetTableAdapters Private _tBDD_CONNECTIONTableAdapter As TBDD_CONNECTIONTableAdapter + Private _tBCW_PROF_REL_CONTROLTableAdapter As TBCW_PROF_REL_CONTROLTableAdapter + Private _backupDataSetBeforeUpdate As Boolean Private _connection As Global.System.Data.IDbConnection @@ -11254,6 +12525,20 @@ Namespace MyDatasetTableAdapters End Set End Property + _ + Public Property TBCW_PROF_REL_CONTROLTableAdapter() As TBCW_PROF_REL_CONTROLTableAdapter + Get + Return Me._tBCW_PROF_REL_CONTROLTableAdapter + End Get + Set + Me._tBCW_PROF_REL_CONTROLTableAdapter = value + End Set + End Property + _ Public Property BackupDataSetBeforeUpdate() As Boolean @@ -11305,6 +12590,10 @@ Namespace MyDatasetTableAdapters AndAlso (Not (Me._tBDD_CONNECTIONTableAdapter.Connection) Is Nothing)) Then Return Me._tBDD_CONNECTIONTableAdapter.Connection End If + If ((Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) _ + AndAlso (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection) Is Nothing)) Then + Return Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection + End If Return Nothing End Get Set @@ -11342,6 +12631,9 @@ Namespace MyDatasetTableAdapters If (Not (Me._tBDD_CONNECTIONTableAdapter) Is Nothing) Then count = (count + 1) End If + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + count = (count + 1) + End If Return count End Get End Property @@ -11425,6 +12717,15 @@ Namespace MyDatasetTableAdapters allChangedRows.AddRange(updatedRows) End If End If + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBCW_PROF_REL_CONTROL.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent) + updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows) + If ((Not (updatedRows) Is Nothing) _ + AndAlso (0 < updatedRows.Length)) Then + result = (result + Me._tBCW_PROF_REL_CONTROLTableAdapter.Update(updatedRows)) + allChangedRows.AddRange(updatedRows) + End If + End If Return result End Function @@ -11499,6 +12800,14 @@ Namespace MyDatasetTableAdapters allAddedRows.AddRange(addedRows) End If End If + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + Dim addedRows() As Global.System.Data.DataRow = dataSet.TBCW_PROF_REL_CONTROL.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added) + If ((Not (addedRows) Is Nothing) _ + AndAlso (0 < addedRows.Length)) Then + result = (result + Me._tBCW_PROF_REL_CONTROLTableAdapter.Update(addedRows)) + allAddedRows.AddRange(addedRows) + End If + End If Return result End Function @@ -11509,6 +12818,14 @@ Namespace MyDatasetTableAdapters Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")> _ Private Function UpdateDeletedRows(ByVal dataSet As MyDataset, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer Dim result As Integer = 0 + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBCW_PROF_REL_CONTROL.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted) + If ((Not (deletedRows) Is Nothing) _ + AndAlso (0 < deletedRows.Length)) Then + result = (result + Me._tBCW_PROF_REL_CONTROLTableAdapter.Update(deletedRows)) + allChangedRows.AddRange(deletedRows) + End If + End If If (Not (Me._tBDD_CONNECTIONTableAdapter) Is Nothing) Then Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBDD_CONNECTION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted) If ((Not (deletedRows) Is Nothing) _ @@ -11654,6 +12971,11 @@ Namespace MyDatasetTableAdapters Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus"& _ "s die gleiche Verbindungszeichenfolge verwendet werden.") End If + If ((Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) _ + AndAlso (Me.MatchTableAdapterConnection(Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection) = false)) Then + Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus"& _ + "s die gleiche Verbindungszeichenfolge verwendet werden.") + End If Dim workConnection As Global.System.Data.IDbConnection = Me.Connection If (workConnection Is Nothing) Then Throw New Global.System.ApplicationException("TableAdapterManager enthält keine Verbindungsinformationen. Legen Sie jede TableA"& _ @@ -11760,6 +13082,15 @@ Namespace MyDatasetTableAdapters adaptersWithAcceptChangesDuringUpdate.Add(Me._tBDD_CONNECTIONTableAdapter.Adapter) End If End If + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + revertConnections.Add(Me._tBCW_PROF_REL_CONTROLTableAdapter, Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection) + Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection = CType(workConnection,Global.System.Data.SqlClient.SqlConnection) + Me._tBCW_PROF_REL_CONTROLTableAdapter.Transaction = CType(workTransaction,Global.System.Data.SqlClient.SqlTransaction) + If Me._tBCW_PROF_REL_CONTROLTableAdapter.Adapter.AcceptChangesDuringUpdate Then + Me._tBCW_PROF_REL_CONTROLTableAdapter.Adapter.AcceptChangesDuringUpdate = false + adaptersWithAcceptChangesDuringUpdate.Add(Me._tBCW_PROF_REL_CONTROLTableAdapter.Adapter) + End If + End If ' '---- Perform updates ----------- ' @@ -11852,6 +13183,10 @@ Namespace MyDatasetTableAdapters Me._tBDD_CONNECTIONTableAdapter.Connection = CType(revertConnections(Me._tBDD_CONNECTIONTableAdapter),Global.System.Data.SqlClient.SqlConnection) Me._tBDD_CONNECTIONTableAdapter.Transaction = Nothing End If + If (Not (Me._tBCW_PROF_REL_CONTROLTableAdapter) Is Nothing) Then + Me._tBCW_PROF_REL_CONTROLTableAdapter.Connection = CType(revertConnections(Me._tBCW_PROF_REL_CONTROLTableAdapter),Global.System.Data.SqlClient.SqlConnection) + Me._tBCW_PROF_REL_CONTROLTableAdapter.Transaction = Nothing + End If If (0 < adaptersWithAcceptChangesDuringUpdate.Count) Then Dim adapters((adaptersWithAcceptChangesDuringUpdate.Count) - 1) As Global.System.Data.Common.DataAdapter adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters) diff --git a/app/DD_Clipboard_Searcher/MyDataset.xsd b/app/DD_Clipboard_Searcher/MyDataset.xsd index bdfa0e7..5a57a99 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.xsd +++ b/app/DD_Clipboard_Searcher/MyDataset.xsd @@ -707,6 +707,105 @@ 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))) + + + + + + + + + + + + + + + + + + + + + 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()) + + + + + + + + + + + + + + + + + SELECT TBCW_PROF_REL_CONTROL.* +FROM TBCW_PROF_REL_CONTROL + + + + + + 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) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -715,7 +814,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -768,7 +867,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -785,7 +884,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -814,7 +913,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -825,7 +924,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -848,7 +947,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -896,7 +995,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -944,7 +1043,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -961,7 +1060,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -969,7 +1068,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -983,7 +1082,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -991,7 +1090,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -1044,7 +1143,7 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B - + @@ -1117,6 +1216,53 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1159,12 +1305,17 @@ SELECT GUID, BEZEICHNUNG, SQL_PROVIDER, SERVER, DATENBANK, USERNAME, PASSWORD, B + + + + - - - + + + + \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/MyDataset.xss b/app/DD_Clipboard_Searcher/MyDataset.xss index 2afa299..4c0516c 100644 --- a/app/DD_Clipboard_Searcher/MyDataset.xss +++ b/app/DD_Clipboard_Searcher/MyDataset.xss @@ -4,24 +4,25 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + - - - - - - - - - - - - - + + + + + + + + + + + + + + - + 253 @@ -33,7 +34,7 @@ - + 253 @@ -45,7 +46,7 @@ - + 133 @@ -57,5 +58,21 @@ + + + + 236 + 242 + + + 236 + 351 + + + 328 + 351 + + + \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb index 34d5b14..88ed84c 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.Designer.vb @@ -37,8 +37,8 @@ Partial Class ctrlApplicationAssignment Me.colSEQUENCE = New DevExpress.XtraGrid.Columns.GridColumn() Me.RepositoryItemSpinEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemSpinEdit() Me.Label1 = New System.Windows.Forms.Label() - Me.GridControl2 = New DevExpress.XtraGrid.GridControl() - Me.GridView3 = New DevExpress.XtraGrid.Views.Grid.GridView() + Me.GridControl_Control = New DevExpress.XtraGrid.GridControl() + Me.GridView_Control = New DevExpress.XtraGrid.Views.Grid.GridView() Me.Label2 = New System.Windows.Forms.Label() Me.GridControl3 = New DevExpress.XtraGrid.GridControl() Me.TBCW_PROFILE_PROCESSBindingSource = New System.Windows.Forms.BindingSource(Me.components) @@ -57,8 +57,8 @@ Partial Class ctrlApplicationAssignment CType(Me.GridView_Window, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemRegexEdit, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemSpinEdit1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.GridView3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridControl_Control, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView_Control, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBCW_PROFILE_PROCESSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewProcessProfile, System.ComponentModel.ISupportInitialize).BeginInit() @@ -78,7 +78,7 @@ Partial Class ctrlApplicationAssignment ' 'SplitContainer3.Panel2 ' - Me.SplitContainer3.Panel2.Controls.Add(Me.GridControl2) + Me.SplitContainer3.Panel2.Controls.Add(Me.GridControl_Control) Me.SplitContainer3.Panel2.Controls.Add(Me.Label2) Me.SplitContainer3.Size = New System.Drawing.Size(915, 635) Me.SplitContainer3.SplitterDistance = 304 @@ -185,24 +185,24 @@ Partial Class ctrlApplicationAssignment Me.Label1.Text = "Zugeordnete Fenster:" Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' - 'GridControl2 + 'GridControl_Control ' - Me.GridControl2.Dock = System.Windows.Forms.DockStyle.Fill - Me.GridControl2.Enabled = False - Me.GridControl2.Location = New System.Drawing.Point(0, 25) - Me.GridControl2.MainView = Me.GridView3 - Me.GridControl2.Name = "GridControl2" - Me.GridControl2.Size = New System.Drawing.Size(915, 302) - Me.GridControl2.TabIndex = 69 - Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3}) + Me.GridControl_Control.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridControl_Control.Enabled = False + Me.GridControl_Control.Location = New System.Drawing.Point(0, 25) + Me.GridControl_Control.MainView = Me.GridView_Control + Me.GridControl_Control.Name = "GridControl_Control" + Me.GridControl_Control.Size = New System.Drawing.Size(915, 302) + Me.GridControl_Control.TabIndex = 69 + Me.GridControl_Control.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView_Control}) ' - 'GridView3 + 'GridView_Control ' - Me.GridView3.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer)) - Me.GridView3.Appearance.EvenRow.Options.UseBackColor = True - Me.GridView3.GridControl = Me.GridControl2 - Me.GridView3.Name = "GridView3" - Me.GridView3.OptionsView.EnableAppearanceEvenRow = True + 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.GridControl = Me.GridControl_Control + Me.GridView_Control.Name = "GridView_Control" + Me.GridView_Control.OptionsView.EnableAppearanceEvenRow = True ' 'Label2 ' @@ -212,7 +212,7 @@ Partial Class ctrlApplicationAssignment Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(915, 25) Me.Label2.TabIndex = 68 - Me.Label2.Text = "Zugeordnete Controls:" + Me.Label2.Text = "Zugeordnete Felder:" Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'GridControl3 @@ -289,8 +289,8 @@ Partial Class ctrlApplicationAssignment CType(Me.GridView_Window, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemRegexEdit, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemSpinEdit1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.GridView3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridControl_Control, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView_Control, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBCW_PROFILE_PROCESSBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewProcessProfile, System.ComponentModel.ISupportInitialize).EndInit() @@ -306,8 +306,8 @@ Partial Class ctrlApplicationAssignment Friend WithEvents colDESCRIPTION As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colREGEX As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colREGEX_CLIPBOARD As DevExpress.XtraGrid.Columns.GridColumn - Friend WithEvents GridControl2 As DevExpress.XtraGrid.GridControl - Friend WithEvents GridView3 As DevExpress.XtraGrid.Views.Grid.GridView + Friend WithEvents GridControl_Control As DevExpress.XtraGrid.GridControl + Friend WithEvents GridView_Control As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents GridControl3 As DevExpress.XtraGrid.GridControl Friend WithEvents GridViewProcessProfile As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents colGUID2 As DevExpress.XtraGrid.Columns.GridColumn diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb index 592839e..d319ec8 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb @@ -156,6 +156,31 @@ Public Class ctrlApplicationAssignment End Try End Function + Public Function Control_CreateAssignment(ProfileId As Integer, WindowId As Integer) + Dim oForm As New frmControlCapture() + Dim oResult = oForm.ShowDialog() + + If oResult = DialogResult.OK Then + Try + Dim oControlTitle As String = GetSQLFriendlyString(oForm.ControlName) + Dim oProcessName As String = oForm.ProcessName + + If oControlTitle <> "" Then + Dim insert = String.Format("INSERT INTO TBCW_PROF_REL_CONTROL (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$','{4}')", ProfileId, oProcessName, oProcessName, oControlTitle, Environment.UserName) + If Database.ExecuteNonQuery(insert) = False Then + Return False + End If + End If + + Window_Load() + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End If + End Function + Private Sub GridViewProcessProfile_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewProcessProfile.FocusedRowChanged If e.FocusedRowHandle < 0 Then Exit Sub @@ -177,8 +202,5 @@ Public Class ctrlApplicationAssignment End Function - Public Class RegexEdit - Inherits BaseEdit - End Class End Class diff --git a/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb b/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb index f7e5a25..0da629b 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb @@ -73,6 +73,7 @@ Partial Class frmAdministration Me.BarButtonItem21 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem22 = New DevExpress.XtraBars.BarButtonItem() Me.labelStatus = New DevExpress.XtraBars.BarStaticItem() + Me.BarButtonItem23 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonGroupProfile = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonGroupDataSearch = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -81,6 +82,7 @@ Partial Class frmAdministration Me.RibbonGroupWindow = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonGroupUser = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonGroupGroup = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonGroupControl = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.textEdit2 = New DevExpress.XtraEditors.LookUpEdit() Me.TBWH_PROFILE_TYPEBindingSource = New System.Windows.Forms.BindingSource(Me.components) @@ -205,6 +207,7 @@ Partial Class frmAdministration Me.LayoutControlItem19 = New DevExpress.XtraLayout.LayoutControlItem() Me.ComboBoxEdit1 = New DevExpress.XtraEditors.ComboBoxEdit() Me.SimpleSeparator1 = New DevExpress.XtraLayout.SimpleSeparator() + Me.BarButtonItem24 = New DevExpress.XtraBars.BarButtonItem() CType(Me.TBCW_PROFILESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControlProfiles, System.ComponentModel.ISupportInitialize).BeginInit() @@ -520,9 +523,9 @@ Partial Class frmAdministration ' Me.RibbonControl2.ApplicationButtonDropDownControl = Me.ApplicationMenu1 Me.RibbonControl2.ExpandCollapseItem.Id = 0 - Me.RibbonControl2.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl2.ExpandCollapseItem, 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.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem15, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.labelStatus}) + Me.RibbonControl2.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl2.ExpandCollapseItem, 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.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem15, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.labelStatus, Me.BarButtonItem23, Me.BarButtonItem24}) Me.RibbonControl2.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl2.MaxItemId = 8 + Me.RibbonControl2.MaxItemId = 10 Me.RibbonControl2.Name = "RibbonControl2" Me.RibbonControl2.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage2}) Me.RibbonControl2.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[False] @@ -719,9 +722,17 @@ Partial Class frmAdministration Me.labelStatus.Name = "labelStatus" Me.labelStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing ' + 'BarButtonItem23 + ' + Me.BarButtonItem23.Caption = "Zuordnen" + Me.BarButtonItem23.Id = 8 + Me.BarButtonItem23.ImageOptions.Image = CType(resources.GetObject("BarButtonItem23.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem23.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem23.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem23.Name = "BarButtonItem23" + ' 'RibbonPage2 ' - Me.RibbonPage2.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonGroupProfile, Me.RibbonGroupDataSearch, Me.RibbonGroupDocSearch, Me.RibbonGroupProcess, Me.RibbonGroupWindow, Me.RibbonGroupUser, Me.RibbonGroupGroup}) + Me.RibbonPage2.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonGroupProfile, Me.RibbonGroupDataSearch, Me.RibbonGroupDocSearch, Me.RibbonGroupProcess, Me.RibbonGroupWindow, Me.RibbonGroupUser, Me.RibbonGroupGroup, Me.RibbonGroupControl}) Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2" ' @@ -785,6 +796,13 @@ Partial Class frmAdministration Me.RibbonGroupGroup.Name = "RibbonGroupGroup" Me.RibbonGroupGroup.Text = "Gruppen Zuordnung" ' + 'RibbonGroupControl + ' + Me.RibbonGroupControl.ItemLinks.Add(Me.BarButtonItem23) + Me.RibbonGroupControl.ItemLinks.Add(Me.BarButtonItem24) + Me.RibbonGroupControl.Name = "RibbonGroupControl" + Me.RibbonGroupControl.Text = "Feld Zuordnung" + ' 'RibbonStatusBar1 ' Me.RibbonStatusBar1.ItemLinks.Add(Me.labelStatus) @@ -1005,7 +1023,7 @@ Partial Class frmAdministration Me.TabPageData.Controls.Add(Me.GridControl2) Me.TabPageData.ImageOptions.Image = CType(resources.GetObject("TabPageData.ImageOptions.Image"), System.Drawing.Image) Me.TabPageData.Name = "TabPageData" - Me.TabPageData.Size = New System.Drawing.Size(1192, 590) + Me.TabPageData.Size = New System.Drawing.Size(1192, 587) Me.TabPageData.Text = "Daten-Suchen" ' 'LayoutControlData @@ -1026,7 +1044,7 @@ Partial Class frmAdministration Me.LayoutControlData.Name = "LayoutControlData" Me.LayoutControlData.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(-714, 293, 650, 400) Me.LayoutControlData.Root = Me.LayoutControlGroup3 - Me.LayoutControlData.Size = New System.Drawing.Size(992, 590) + Me.LayoutControlData.Size = New System.Drawing.Size(992, 587) Me.LayoutControlData.TabIndex = 26 Me.LayoutControlData.Text = "LayoutControl3" ' @@ -1123,19 +1141,19 @@ Partial Class frmAdministration Me.MemoEdit3.Name = "MemoEdit3" Me.MemoEdit3.Properties.Appearance.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MemoEdit3.Properties.Appearance.Options.UseFont = True - Me.MemoEdit3.Size = New System.Drawing.Size(636, 234) + Me.MemoEdit3.Size = New System.Drawing.Size(636, 233) Me.MemoEdit3.StyleController = Me.LayoutControlData Me.MemoEdit3.TabIndex = 12 ' 'MemoEdit4 ' Me.MemoEdit4.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBCW_PROF_DATA_SEARCHBindingSource, "SQL_COMMAND", True)) - Me.MemoEdit4.Location = New System.Drawing.Point(344, 282) + Me.MemoEdit4.Location = New System.Drawing.Point(344, 281) Me.MemoEdit4.MenuManager = Me.RibbonControl2 Me.MemoEdit4.Name = "MemoEdit4" Me.MemoEdit4.Properties.Appearance.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MemoEdit4.Properties.Appearance.Options.UseFont = True - Me.MemoEdit4.Size = New System.Drawing.Size(636, 296) + Me.MemoEdit4.Size = New System.Drawing.Size(636, 294) Me.MemoEdit4.StyleController = Me.LayoutControlData Me.MemoEdit4.TabIndex = 13 ' @@ -1169,7 +1187,7 @@ Partial Class frmAdministration Me.LayoutControlGroup3.GroupBordersVisible = False Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem10, Me.LayoutControlItem14, Me.LayoutControlItem15, Me.LayoutControlItem17, Me.LayoutControlItem16, Me.LayoutControlItem11, Me.LayoutControlItem12, Me.LayoutControlItem13, Me.LayoutControlItem21, Me.LayoutControlItem22, Me.EmptySpaceItem1, Me.LayoutControlItem23}) Me.LayoutControlGroup3.Name = "Root" - Me.LayoutControlGroup3.Size = New System.Drawing.Size(992, 590) + Me.LayoutControlGroup3.Size = New System.Drawing.Size(992, 587) Me.LayoutControlGroup3.TextVisible = False ' 'LayoutControlItem10 @@ -1257,7 +1275,7 @@ Partial Class frmAdministration Me.LayoutControlItem21.Control = Me.MemoEdit3 Me.LayoutControlItem21.Location = New System.Drawing.Point(332, 0) Me.LayoutControlItem21.Name = "LayoutControlItem21" - Me.LayoutControlItem21.Size = New System.Drawing.Size(640, 254) + Me.LayoutControlItem21.Size = New System.Drawing.Size(640, 253) Me.LayoutControlItem21.Text = "SQL für Suche:" Me.LayoutControlItem21.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem21.TextSize = New System.Drawing.Size(125, 13) @@ -1265,9 +1283,9 @@ Partial Class frmAdministration 'LayoutControlItem22 ' Me.LayoutControlItem22.Control = Me.MemoEdit4 - Me.LayoutControlItem22.Location = New System.Drawing.Point(332, 254) + Me.LayoutControlItem22.Location = New System.Drawing.Point(332, 253) Me.LayoutControlItem22.Name = "LayoutControlItem22" - Me.LayoutControlItem22.Size = New System.Drawing.Size(640, 316) + Me.LayoutControlItem22.Size = New System.Drawing.Size(640, 314) Me.LayoutControlItem22.Text = "SQL für Ergebnis Zählung:" Me.LayoutControlItem22.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem22.TextSize = New System.Drawing.Size(125, 13) @@ -1277,7 +1295,7 @@ Partial Class frmAdministration Me.EmptySpaceItem1.AllowHotTrack = False Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 199) Me.EmptySpaceItem1.Name = "EmptySpaceItem1" - Me.EmptySpaceItem1.Size = New System.Drawing.Size(332, 371) + Me.EmptySpaceItem1.Size = New System.Drawing.Size(332, 368) Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0) ' 'LayoutControlItem23 @@ -1297,7 +1315,7 @@ Partial Class frmAdministration Me.GridControl2.MainView = Me.GridView3 Me.GridControl2.MenuManager = Me.RibbonControl2 Me.GridControl2.Name = "GridControl2" - Me.GridControl2.Size = New System.Drawing.Size(200, 590) + Me.GridControl2.Size = New System.Drawing.Size(200, 587) Me.GridControl2.TabIndex = 10 Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3}) ' @@ -1437,18 +1455,18 @@ Partial Class frmAdministration Me.MemoEdit5.Name = "MemoEdit5" Me.MemoEdit5.Properties.Appearance.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MemoEdit5.Properties.Appearance.Options.UseFont = True - Me.MemoEdit5.Size = New System.Drawing.Size(636, 233) + Me.MemoEdit5.Size = New System.Drawing.Size(636, 232) Me.MemoEdit5.StyleController = Me.LayoutControlDocs Me.MemoEdit5.TabIndex = 12 ' 'MemoEdit6 ' Me.MemoEdit6.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBCW_PROF_DOC_SEARCHBindingSource, "COUNT_COMMAND", True)) - Me.MemoEdit6.Location = New System.Drawing.Point(344, 281) + Me.MemoEdit6.Location = New System.Drawing.Point(344, 280) Me.MemoEdit6.Name = "MemoEdit6" Me.MemoEdit6.Properties.Appearance.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MemoEdit6.Properties.Appearance.Options.UseFont = True - Me.MemoEdit6.Size = New System.Drawing.Size(636, 294) + Me.MemoEdit6.Size = New System.Drawing.Size(636, 295) Me.MemoEdit6.StyleController = Me.LayoutControlDocs Me.MemoEdit6.TabIndex = 13 ' @@ -1551,16 +1569,16 @@ Partial Class frmAdministration Me.EmptySpaceItem2.AllowHotTrack = False Me.EmptySpaceItem2.Location = New System.Drawing.Point(0, 199) Me.EmptySpaceItem2.Name = "EmptySpaceItem2" - Me.EmptySpaceItem2.Size = New System.Drawing.Size(332, 371) + Me.EmptySpaceItem2.Size = New System.Drawing.Size(332, 368) Me.EmptySpaceItem2.TextSize = New System.Drawing.Size(0, 0) ' 'LayoutControlItem33 ' Me.LayoutControlItem33.Control = Me.MemoEdit6 Me.LayoutControlItem33.CustomizationFormText = "SQL für Ergebnis Zählung:" - Me.LayoutControlItem33.Location = New System.Drawing.Point(332, 253) + Me.LayoutControlItem33.Location = New System.Drawing.Point(332, 252) Me.LayoutControlItem33.Name = "LayoutControlItem33" - Me.LayoutControlItem33.Size = New System.Drawing.Size(640, 314) + Me.LayoutControlItem33.Size = New System.Drawing.Size(640, 315) Me.LayoutControlItem33.Text = "SQL für Ergebnis Zählung:" Me.LayoutControlItem33.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem33.TextSize = New System.Drawing.Size(125, 13) @@ -1571,7 +1589,7 @@ Partial Class frmAdministration Me.LayoutControlItem32.CustomizationFormText = "SQL für Suche:" Me.LayoutControlItem32.Location = New System.Drawing.Point(332, 0) Me.LayoutControlItem32.Name = "LayoutControlItem32" - Me.LayoutControlItem32.Size = New System.Drawing.Size(640, 253) + Me.LayoutControlItem32.Size = New System.Drawing.Size(640, 252) Me.LayoutControlItem32.Text = "SQL für Suche:" Me.LayoutControlItem32.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem32.TextSize = New System.Drawing.Size(125, 13) @@ -1662,7 +1680,7 @@ Partial Class frmAdministration Me.TabPageUserAssignment.Controls.Add(Me.SplitContainer1) Me.TabPageUserAssignment.ImageOptions.Image = CType(resources.GetObject("TabPageUserAssignment.ImageOptions.Image"), System.Drawing.Image) Me.TabPageUserAssignment.Name = "TabPageUserAssignment" - Me.TabPageUserAssignment.Size = New System.Drawing.Size(1192, 590) + Me.TabPageUserAssignment.Size = New System.Drawing.Size(1192, 587) Me.TabPageUserAssignment.Text = "Benutzer Zuordnung" ' 'SplitContainer1 @@ -1681,8 +1699,8 @@ Partial Class frmAdministration ' Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlUserNotInProfile) Me.SplitContainer1.Panel2.Controls.Add(Me.Label2) - Me.SplitContainer1.Size = New System.Drawing.Size(1192, 590) - Me.SplitContainer1.SplitterDistance = 289 + Me.SplitContainer1.Size = New System.Drawing.Size(1192, 587) + Me.SplitContainer1.SplitterDistance = 287 Me.SplitContainer1.TabIndex = 98 ' 'GridControlUserInProfile @@ -1692,7 +1710,7 @@ Partial Class frmAdministration Me.GridControlUserInProfile.Location = New System.Drawing.Point(0, 25) Me.GridControlUserInProfile.MainView = Me.GridViewUserInProfile Me.GridControlUserInProfile.Name = "GridControlUserInProfile" - Me.GridControlUserInProfile.Size = New System.Drawing.Size(1192, 264) + Me.GridControlUserInProfile.Size = New System.Drawing.Size(1192, 262) Me.GridControlUserInProfile.TabIndex = 93 Me.GridControlUserInProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewUserInProfile}) ' @@ -1774,7 +1792,7 @@ Partial Class frmAdministration Me.GridControlUserNotInProfile.MainView = Me.GridViewUserNotInProfile Me.GridControlUserNotInProfile.Name = "GridControlUserNotInProfile" Me.GridControlUserNotInProfile.ShowOnlyPredefinedDetails = True - Me.GridControlUserNotInProfile.Size = New System.Drawing.Size(1192, 272) + Me.GridControlUserNotInProfile.Size = New System.Drawing.Size(1192, 271) Me.GridControlUserNotInProfile.TabIndex = 96 Me.GridControlUserNotInProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewUserNotInProfile}) ' @@ -1846,7 +1864,7 @@ Partial Class frmAdministration Me.TabPageGroupAssignment.Controls.Add(Me.SplitContainer2) Me.TabPageGroupAssignment.ImageOptions.Image = CType(resources.GetObject("TabPageGroupAssignment.ImageOptions.Image"), System.Drawing.Image) Me.TabPageGroupAssignment.Name = "TabPageGroupAssignment" - Me.TabPageGroupAssignment.Size = New System.Drawing.Size(1192, 590) + Me.TabPageGroupAssignment.Size = New System.Drawing.Size(1192, 587) Me.TabPageGroupAssignment.Text = "Gruppen Zuordnung" ' 'SplitContainer2 @@ -1865,8 +1883,8 @@ Partial Class frmAdministration ' Me.SplitContainer2.Panel2.Controls.Add(Me.GridControlGroupNotInProfile) Me.SplitContainer2.Panel2.Controls.Add(Me.Label10) - Me.SplitContainer2.Size = New System.Drawing.Size(1192, 590) - Me.SplitContainer2.SplitterDistance = 286 + Me.SplitContainer2.Size = New System.Drawing.Size(1192, 587) + Me.SplitContainer2.SplitterDistance = 284 Me.SplitContainer2.TabIndex = 0 ' 'GridControlGroupInProfile @@ -1876,7 +1894,7 @@ Partial Class frmAdministration Me.GridControlGroupInProfile.Location = New System.Drawing.Point(0, 25) Me.GridControlGroupInProfile.MainView = Me.GridViewGroupInProfile Me.GridControlGroupInProfile.Name = "GridControlGroupInProfile" - Me.GridControlGroupInProfile.Size = New System.Drawing.Size(1192, 261) + Me.GridControlGroupInProfile.Size = New System.Drawing.Size(1192, 259) Me.GridControlGroupInProfile.TabIndex = 1 Me.GridControlGroupInProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewGroupInProfile}) ' @@ -1938,7 +1956,7 @@ Partial Class frmAdministration Me.GridControlGroupNotInProfile.Location = New System.Drawing.Point(0, 25) Me.GridControlGroupNotInProfile.MainView = Me.GridViewGroupNotInProfile Me.GridControlGroupNotInProfile.Name = "GridControlGroupNotInProfile" - Me.GridControlGroupNotInProfile.Size = New System.Drawing.Size(1192, 275) + Me.GridControlGroupNotInProfile.Size = New System.Drawing.Size(1192, 274) Me.GridControlGroupNotInProfile.TabIndex = 1 Me.GridControlGroupNotInProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewGroupNotInProfile}) ' @@ -2080,6 +2098,14 @@ Partial Class frmAdministration Me.SimpleSeparator1.Name = "SimpleSeparator1" Me.SimpleSeparator1.Size = New System.Drawing.Size(280, 2) ' + 'BarButtonItem24 + ' + Me.BarButtonItem24.Caption = "Zuordnung löschen" + Me.BarButtonItem24.Id = 9 + Me.BarButtonItem24.ImageOptions.Image = CType(resources.GetObject("BarButtonItem24.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem24.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem24.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem24.Name = "BarButtonItem24" + ' 'frmAdministration ' Me.Appearance.Options.UseFont = True @@ -2407,4 +2433,7 @@ Partial Class frmAdministration Friend WithEvents EmptySpaceItem3 As DevExpress.XtraLayout.EmptySpaceItem Friend WithEvents TextEdit19 As DevExpress.XtraEditors.ComboBoxEdit Friend WithEvents TextEdit10 As DevExpress.XtraEditors.ComboBoxEdit + Friend WithEvents BarButtonItem23 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonGroupControl As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents BarButtonItem24 As DevExpress.XtraBars.BarButtonItem End Class diff --git a/app/DD_Clipboard_Searcher/frmAdministration.resx b/app/DD_Clipboard_Searcher/frmAdministration.resx index 8ba6b6f..d33fb28 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.resx +++ b/app/DD_Clipboard_Searcher/frmAdministration.resx @@ -123,9 +123,6 @@ 245, 17 - - 245, 17 - 345, 56 @@ -159,32 +156,10 @@ 17, 95 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBIb21lOx50 - ZDgAAADUSURBVDhPnZE9DoJAEIWxtfFkJl7AOwCNHQlmW6O30cTCRlAvY/zDdpw3YcgusLCx+GB4O+9L - yEbGGB8TZsPkms3XBwL6DZqhBcpbBstAJKECu3xkynrOuZyNCdrlKTNjHAm/m85YWc8gKVZmJxIrbwRD - ZUUkjCPBI6SsdCQIcVUIwFBZgUT3MwRLZl8HuqQLbezzE7PQAL/hLFTXhB5FKnwuSZ8AHecWnIU3l+7n - VHiVvQKZIyIS7BDz9xbTs0yF6hp3BNrzCjwEC8bwCoLpCP6Doh9wyB/S6rhfgQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAHXRFWHRUaXRsZQBEYXRhYmFz - ZTtEQjtTb3VyY2U7U3Rvcqyx6nIAAACISURBVDhPY/j//z/DuyNFICwAxFFAPAuIzwHxJyQM4oPEQfIg - dWB9IAwzwAiIlwLxfyIwSJ0RugFzkBQQg+egG/AOTQEh/I7qBlDsBTMgJiUQzdANSANiTyAmJhpB6tLQ - DQCFwQMgBimKA2JdIOZBwiA+SBwkD1I3Gga0CAOKMxMIk5Gd/zMAAEoW6kGN/QioAAAAAElFTkSuQmCC - - - - 1149, 134 - 997, 134 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m @@ -691,57 +666,123 @@ vDjYoZ0AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAFnRFWHRUaXRsZQBUZXh0O1Bh - Z2U7UmVwb3J0dmFhAAAAAFVJREFUOE9j+P//P0UYzmhpafmPB/+D0sbImkEYxQB8ACTf19d3F90QkgwA - gl/ohpBkADIGAtIMQAZ4DfBt2oEXg8CoC2jtAmIA7QwgBWMYQB7+zwAAuicvos+uzscAAAAASUVORK5C - YII= + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALHRFWHRUaXRsZQBOZXh0O0Rv + dWJsZTtBcnJvdztGYXN0O1Jld2luZDtJbmNyZWFzZcl3QB8AAAB/SURBVDhPtZDBDYAwDAO7YNdhAJZg + BP682C40FkIlXCEfHudKlm1FLWZW6rxXf3vIIyQtbLFAHiE5w7cCeYSkC18F8ghJCKvQ2KIXy85oQIXG + Y2Ral/SA83nJ14DzOvLrBamPHA2kyg4NKEgeIaEgeYSEgpmyI6FgpuygmcfKAXuxrY4cCR8rAAAAAElF + TkSuQmCC - + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAK3RFWHRUaXRsZQBTZXR1cDtD - dXN0b21pejtEZXNpZ247U2V0dGluZztQcm9wZXJ0OB+1IQAAAL5JREFUOE+tkzEOwyAMRXOMKMrKkiXK - QXqmSB17lJ6gF+qeOQv9D+HIg4cIOjwJ258vY2DIOYc8np8kjkqKNHAtJBrF5OJV5Mrq8pMYLfabEb7F - JmbxEmeFNTlqaNAWE+9qhTugLd0Wg2qCeySO2GyfN6BFE3zFLpYKa3JWny8DBUybgXFOE+wmMMi5Olr2 - JApcE0mGZYIlMKATq5v2+ItB3xGcoG2IzqD9GpXoe0gK+p6yM2n7TBES3fjOefgBxElwF8N/bLEAAAAA - SUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALHRFWHRUaXRsZQBOZXh0O0Rv + dWJsZTtBcnJvdztGYXN0O1Jld2luZDtJbmNyZWFzZcl3QB8AAAD6SURBVFhHxZLBDYMwEARpkHZSQJpI + Cfnnle4cHwqSbQaWwyfzGKHMit0TypRSuhWUI0E5P78pM1NmqNwDyv/A7ojKPaAsBnBE5R5QNgObEZV7 + QAkD1QhkVe4BJZSvLCP5+Wl8lXtACcUlcybsCJRQ2hJ2BEooJEKOQAlle3QfgRKKjug6AiWUKOQRj/cL + t1BCwRkufYmNMODls7iPqH6swItnuPULXP4jooSCIy6PGyihZI+ucQMlFBHd4wZKKGsJGTdQQmFJ2LiB + EkpXlvL8DBk3UEJxVQ5ZlXtAqcpV7gGlKle5B5SqXOUeUKryqHED5UhQjgTlONL0A0h+ATgx7MVAAAAA + AElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMnRFWHRUaXRsZQBDdXN0b21l - cjtFbXBsb3llZTtQZXJzb247Q29udGFjdDtVc2VyO0NsaWVudH4RNugAAADNSURBVDhPpdExDkFBFAXQ - X4jeMkg0Kir03xrsRaWxCIuQ6EXCGv4KqL8CkXGvzLzMPP8xoTgymXffDaZwzv3l9TFbbLUh7OHiHWAM - Sc4qaMEJnHKGNkjWKuiCXg56IFmrYAJNyzQFyVoFS2haJs4kaxWM4AF6mXf8cyVrFdAOdAHvktynAj7Z - DcIyz9nPGMzh6PH8lrEKOrCC+M155h1nktUFA9jAHfi119D3eOYdZ8wwmxSUcIXwm79htowLqmiYq4oL - ajXMUUvB71zxBKd8P7UB7yhRAAAAAElFTkSuQmCC + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAI3RFWHRUaXRsZQBDYW5jZWw7 + U3RvcDtFeGl0O0JhcnM7UmliYm9uO0yWlrIAAADCSURBVDhPjZNLCgIxEERzOGFWegkvIH4QRhyv6UkU + V20VpCTpTquLB0n9GAZSzKzct6s1mHn+B2Qv7PCs8gsYuPqwB5lbzbKzoXCqgkhH4Kks9jLOzggj0Hz5 + SL0NpCM4D8vkM1CDfmQBaZl0AwQBP9LSlUl3EQiORkKZBIEg7D+bLKNsEBAclUUY6S4I+PIBhB/bdr6W + Gy8d+VkW0IYjNPgwWiOUBTw/MlOcwKMKaVkgo5EnmCRyZOfDGcjyAU5mVt7SQJzMJkqbYgAAAABJRU5E + rkJggg== - + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAGHRFWHRUaXRsZQBUZWFtO1Bl - b3BsZTtHcm91cDtcOegWAAAA80lEQVQ4T6XQPQrCQBAFYJWAWHkGD6CdrQcQxDKthSeQQErFa1jYapnO - Kyh4CbGwF0yl63thJ0zWSREsPojz88yk5Zz7i1lsonyYbU9t2MHT20MHzLoVMAYXYM2sWwGxGrjCEiJv - AWeQfmwFpL75gbpz3sCZ1ArowwsuUHcOe5zp/wT4kAQOoM8RrLGX6B29zFuHMAA5R2ONvRFEZQB+dGED - N7jDFOQcWS5eG9jjDGe502PAEfQ/0Qp4jvzmM2t6hjIG5KrwgDXIOROveG1gjzMyn5ffwH+H8Jy5V3lt - vRMGWOeEMr0TBuhz6uR6pxLQnGt9AcOrflkk3vJqAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAI3RFWHRUaXRsZQBDYW5jZWw7 + U3RvcDtFeGl0O0JhcnM7UmliYm9uO0yWlrIAAAFuSURBVFhHxZZNSgQxFIRn5gIOeiU3LhxBj+BRRRTF + Wc9VXMWqJg+e6XpNXoS4+BYpUj/Q3dC7Usq/IsWZSHEmUpyJFC/Pt3+iyTr4c4sUa9AVeAF39dyNy7kH + r+Do8z1ShIHlH6CAb5AaUTNYTi8zPoEcsRJw8QC4mkYjO8KXG8zct32/DgYuPoE2oHeEKuf5QXWtBILL + 5LEa26CtEalyIkUYjMyIdDmRIkyenhFD5USKMLZsjRguJ1KEWRGNGC4nUkRAhBrhSZUTKSJki2jEUg5k + ZoQUGbKBeuY2YHkxVWaEFBkSEJUbywiVGSFFhCiit11p3SOkiIDecj7z8BNV2S1ShLm33O4Mj5AijJly + Y2iEFGEiUfkJ+GJPeoQUYRgpN1IjVgIu7sFbNfqAnnJDjXgH3T8k1+CrGrPlluFHnMFN20NWAsFlwhFc + nSonLocjmCHLiRQtCPD/0J+7aLLyv+UzkeJMpDgTKc6j7H4AaYUNY+IvplgAAAAASUVORK5CYII= 751, 134 + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEhvbWU7HnRkOAAAANRJREFUOE+d + kT0OgkAQhbG18WQmXsA7AI0dCWZbo7fRxMJGUC9j/MN2nDdhyC6wsLH4YHg770vIRsYYHxNmw+SazdcH + AvoNmqEFylsGy0AkoQK7fGTKes65nI0J2uUpM2McCb+bzlhZzyApVmYnEitvBENlRSSMI8EjpKx0JAhx + VQjAUFmBRPczBEtmXwe6pAtt7PMTs9AAv+EsVNeEHkUqfC5JnwAd5xachTeX7udUeJW9ApkjIhLsEPP3 + FtOzTIXqGncE2vMKPAQLxvAKgukI/oOiH3DIH9LquF+BAAAAAElFTkSuQmCC + + + + 1149, 134 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAddEVYdFRpdGxlAERhdGFiYXNlO0RCO1NvdXJjZTtT + dG9yrLHqcgAAAIhJREFUOE9j+P//P8O7I0UgLADEUUA8C4jPAfEnJAzig8RB8iB1YH0gDDPACIiXAvF/ + IjBInRG6AXOQFBCD56Ab8A5NASH8juoGUOwFMyAmJRDN0A1IA2JPICYmGkHq0tANAIXBAyAGKYoDYl0g + 5kHCID5IHCQPUjcaBrQIA4ozEwiTkZ3/MwAAShbqQY39CKgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAWdEVYdFRpdGxlAFRleHQ7UGFnZTtSZXBvcnR2YWEA + AAAAVUlEQVQ4T2P4//8/RRjOaGlp+Y8H/4PSxsiaQRjFAHwAJN/X13cX3RCSDACCX+iGkGQAMgYC0gxA + BngN8G3agReDwKgLaO0CYgDtDCAFYxhAHv7PAAC6Jy+iz67OxwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAArdEVYdFRpdGxlAFNldHVwO0N1c3RvbWl6O0Rlc2ln + bjtTZXR0aW5nO1Byb3BlcnQ4H7UhAAAAvklEQVQ4T62TMQ7DIAxFc4woysqSJcpBeqZIHXuUnqAX6p45 + C/0P4ciDhwg6PAnbny9jYMg5hzyenySOSoo0cC0kGsXk4lXkyurykxgt9psRvsUmZvESZ4U1OWpo0BYT + 72qFO6At3RaDaoJ7JI7YbJ83oEUTfMUulgprclafLwMFTJuBcU4T7CYwyLk6WvYkClwTSYZlgiUwoBOr + m/b4i0HfEZygbYjOoP0aleh7SAr6nrIzaftMERLd+M55+AHESXAXw39ssQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl + cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF + pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq + 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW + sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/ + tQHvKFEAAAAASUVORK5CYII= + + 227, 134 17, 134 + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYdEVYdFRpdGxlAFRlYW07UGVvcGxlO0dyb3VwO1w5 + 6BYAAADzSURBVDhPpdA9CsJAEAVglYBYeQYPoJ2tBxDEMq2FJ5BASsVrWNhqmc4rKHgJsbAXTKXre2En + TNZJESw+iPPzzKTlnPuLWWyifJhtT23YwdPbQwfMuhUwBhdgzaxbAbEauMISIm8BZ5B+bAWkvvmBunPe + wJnUCujDCy5Qdw57nOn/BPiQBA6gzxGssZfoHb3MW4cwADlHY429EURlAH50YQM3uMMU5BxZLl4b2OMM + Z7nTY8AR9D/RCniO/OYza3qGMgbkqvCANcg5E694bWCPMzKfl9/Af4fwnLlXeW29EwZY54QyvRMG6HPq + 5HqnEtCca30Bw6t+WSTe8moAAAAASUVORK5CYII= + + 301, 95 diff --git a/app/DD_Clipboard_Searcher/frmAdministration.vb b/app/DD_Clipboard_Searcher/frmAdministration.vb index aab5d77..cd0658f 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.vb @@ -611,4 +611,14 @@ Public Class frmAdministration MsgBox("Unexpected Error while saving Document Search: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub + + Private Sub frmAdministration_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + ClassInit.Refresh_Connections() + ClassInit.Refresh_Profile_Links() + End Sub + + Private Sub BarButtonItem23_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem23.ItemClick + Dim oForm As New frmControlCapture() + oForm.ShowDialog() + End Sub End Class \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmConnection.vb b/app/DD_Clipboard_Searcher/frmConnection.vb index 5b60ae0..10c9188 100644 --- a/app/DD_Clipboard_Searcher/frmConnection.vb +++ b/app/DD_Clipboard_Searcher/frmConnection.vb @@ -2,12 +2,9 @@ Imports System.Data.Odbc Imports Oracle.ManagedDataAccess.Client Imports Microsoft.Win32 +Imports DigitalData.Modules.Database.Constants Public Class frmConnection - Private Const PROVIDER_ORACLE = "ORACLE" - Private Const PROVIDER_MSSQL = "MS-SQL" - Private Const PROVIDER_ODBC = "ODBC" - Private Sub TBDD_CONNECTIONBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Validate() TBDD_CONNECTIONBindingSource.EndEdit() diff --git a/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb b/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb new file mode 100644 index 0000000..6398bbd --- /dev/null +++ b/app/DD_Clipboard_Searcher/frmControlCapture.Designer.vb @@ -0,0 +1,166 @@ + _ +Partial Class frmControlCapture + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmControlCapture)) + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.Label3 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.txtControlName = New System.Windows.Forms.TextBox() + Me.txtName = New System.Windows.Forms.TextBox() + Me.txtPID = New System.Windows.Forms.TextBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'Timer1 + ' + Me.Timer1.Enabled = True + Me.Timer1.Interval = 1000 + ' + 'Label3 + ' + Me.Label3.Location = New System.Drawing.Point(12, 110) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(344, 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!" + ' + 'Label4 + ' + 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.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(71, 13) + Me.Label4.TabIndex = 8 + Me.Label4.Text = "Feld Name:" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.Location = New System.Drawing.Point(12, 35) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(78, 13) + Me.Label2.TabIndex = 9 + Me.Label2.Text = "Prozess Name:" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.Location = New System.Drawing.Point(12, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(61, 13) + Me.Label1.TabIndex = 10 + Me.Label1.Text = "Prozess ID:" + ' + '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.Name = "txtControlName" + Me.txtControlName.ReadOnly = True + Me.txtControlName.Size = New System.Drawing.Size(224, 20) + Me.txtControlName.TabIndex = 6 + ' + '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.Name = "txtName" + Me.txtName.ReadOnly = True + Me.txtName.Size = New System.Drawing.Size(224, 20) + Me.txtName.TabIndex = 7 + ' + '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.Name = "txtPID" + Me.txtPID.ReadOnly = True + Me.txtPID.Size = New System.Drawing.Size(224, 20) + Me.txtPID.TabIndex = 5 + ' + '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) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(159, 34) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "Feld zuordnen" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button2 + ' + 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.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(159, 34) + Me.Button2.TabIndex = 0 + Me.Button2.Text = "Abbruch" + Me.Button2.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.Controls.Add(Me.Label3) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.txtControlName) + Me.Controls.Add(Me.txtName) + Me.Controls.Add(Me.txtPID) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Button1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmControlCapture" + Me.Text = "Feld Auswertung" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents Timer1 As Timer + Friend WithEvents Label3 As Label + Friend WithEvents Label4 As Label + Friend WithEvents Label2 As Label + Friend WithEvents Label1 As Label + Friend WithEvents txtControlName As TextBox + Friend WithEvents txtName As TextBox + Friend WithEvents txtPID As TextBox + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button +End Class diff --git a/app/DD_Clipboard_Searcher/frmControlCapture.resx b/app/DD_Clipboard_Searcher/frmControlCapture.resx new file mode 100644 index 0000000..85290f7 --- /dev/null +++ b/app/DD_Clipboard_Searcher/frmControlCapture.resx @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA + CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA + AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AD///////////////// + //AA/3d3d3d3d3d3d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d//////////////3f/AA/3f///////// + ////93/wAP93//////d3d3d3f/d/8AD/d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//// + //d3d3d3f/d/8AD/d//////////////3f/AA/3f/////////////93/wAP93//////d3d3d3f/d/8AD/ + d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//////d3d3d3f/d/8AD/d//////////////3 + f/AA/3f/////////////93/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA/3d3d3d3d3d3 + d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA///////////////////wAP////// + ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA + AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// + ////////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAP// + ////////93d3d3d3d3/3////////f/f///d3d39/9/d39///f3/3///3d3d/f/f///////9/9///93d3 + f3/393f3//9/f/f///d3d39/9////////3/3d3d3d3d3f/d3d3d3d3d/93d3d3d3d3////////////// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgDx7/AA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAA + AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED + AwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgICAgICAgICAgICAgIC + AgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEBAQEBAQIBAgICAgIC + AgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEBAgICAgICAgICAQEB + AQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgIC + AgICAgICAgICAgICAgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEB + AQEBAQIBAgICAgICAgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEB + AgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAA + AwMBAQICAgICAgICAgICAgICAgICAgICAgEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED + AwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMDAAAAAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMD + AwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// + ////////wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA + AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAf///////////////ygA + AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAPHv8AD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAMD + AwMDAwMDAwMDAwMDAwMDAQEBAQEBAQEBAQEBAQEDAwECAgICAgICAgICAgIBAwMBAgICAgIBAQEBAQEC + AQMDAQIBAQECAQICAgIBAgEDAwECAgICAgEBAQEBAQIBAwMBAgICAgICAgICAgICAQMDAQICAgICAQEB + AQEBAgEDAwECAQEBAgECAgICAQIBAwMBAgICAgIBAQEBAQECAQMDAQICAgICAgICAgICAgEDAwEBAQEB + AQEBAQEBAQEBAwMBAQEBAQEBAQEBAQEBAQMDAQEBAQEBAQEBAQEBAQEDAwMDAwMDAwMDAwMDAwMDA/// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 + 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA + AAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAA + AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 + 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JC + Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv + 8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JC + Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb2 + 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAA + AAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC + Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 + 9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv8P/x7/D/QkJC/0JC + Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv + 8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 + 9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA + AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAA + AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2 + 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA + AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// + ////////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 + 9v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b2 + 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC + Qv/29vb/9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv + 8P9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/0JCQv9CQkL/QkJC//Hv8P9CQkL/8e/w//Hv + 8P/x7/D/8e/w/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v///wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmControlCapture.vb b/app/DD_Clipboard_Searcher/frmControlCapture.vb new file mode 100644 index 0000000..3723ef8 --- /dev/null +++ b/app/DD_Clipboard_Searcher/frmControlCapture.vb @@ -0,0 +1,18 @@ +Imports DD_Clipboard_Watcher.ClassWindowAPI + +Public Class frmControlCapture + Public ControlName As String + Public ProcessName As String + + Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick + Dim oResult As WindowInfo = GetFocusedControl(Handle) + + If oResult IsNot Nothing Then + txtPID.Text = oResult.ClassName + txtName.Text = oResult.ProcessName + txtControlName.Text = oResult.ControlName + ControlName = oResult.ControlName + ProcessName = oResult.ProcessName + End If + End Sub +End Class \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmProcessCapture.Designer.vb b/app/DD_Clipboard_Searcher/frmProcessCapture.Designer.vb index 6526ac9..e9feff6 100644 --- a/app/DD_Clipboard_Searcher/frmProcessCapture.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmProcessCapture.Designer.vb @@ -24,7 +24,6 @@ Partial Class frmProcessCapture Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmProcessCapture)) - Me.Button1 = New System.Windows.Forms.Button() Me.txtPID = New System.Windows.Forms.TextBox() Me.txtName = New System.Windows.Forms.TextBox() Me.Label1 = New System.Windows.Forms.Label() @@ -34,25 +33,13 @@ Partial Class frmProcessCapture Me.txtWindowTitle = New System.Windows.Forms.TextBox() Me.Label4 = New System.Windows.Forms.Label() Me.Button2 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() Me.SuspendLayout() ' - '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(12, 206) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(159, 34) - Me.Button1.TabIndex = 0 - Me.Button1.Text = "Fenster zuordnen" - Me.Button1.UseVisualStyleBackColor = True - ' '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(129, 12) + Me.txtPID.Location = New System.Drawing.Point(132, 4) Me.txtPID.Name = "txtPID" Me.txtPID.ReadOnly = True Me.txtPID.Size = New System.Drawing.Size(224, 20) @@ -61,7 +48,7 @@ Partial Class frmProcessCapture '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(129, 40) + Me.txtName.Location = New System.Drawing.Point(132, 32) Me.txtName.Name = "txtName" Me.txtName.ReadOnly = True Me.txtName.Size = New System.Drawing.Size(224, 20) @@ -71,7 +58,7 @@ Partial Class frmProcessCapture ' Me.Label1.AutoSize = True Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label1.Location = New System.Drawing.Point(9, 17) + Me.Label1.Location = New System.Drawing.Point(12, 9) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(61, 13) Me.Label1.TabIndex = 3 @@ -81,7 +68,7 @@ Partial Class frmProcessCapture ' Me.Label2.AutoSize = True Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label2.Location = New System.Drawing.Point(9, 43) + Me.Label2.Location = New System.Drawing.Point(12, 35) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(78, 13) Me.Label2.TabIndex = 3 @@ -89,7 +76,7 @@ Partial Class frmProcessCapture ' 'Label3 ' - Me.Label3.Location = New System.Drawing.Point(9, 118) + Me.Label3.Location = New System.Drawing.Point(12, 118) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(344, 42) Me.Label3.TabIndex = 4 @@ -103,7 +90,7 @@ Partial Class frmProcessCapture 'txtWindowTitle ' Me.txtWindowTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtWindowTitle.Location = New System.Drawing.Point(129, 66) + Me.txtWindowTitle.Location = New System.Drawing.Point(132, 58) Me.txtWindowTitle.Name = "txtWindowTitle" Me.txtWindowTitle.ReadOnly = True Me.txtWindowTitle.Size = New System.Drawing.Size(224, 20) @@ -113,7 +100,7 @@ Partial Class frmProcessCapture ' Me.Label4.AutoSize = True Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label4.Location = New System.Drawing.Point(9, 69) + Me.Label4.Location = New System.Drawing.Point(12, 61) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(68, 13) Me.Label4.TabIndex = 3 @@ -131,6 +118,19 @@ Partial Class frmProcessCapture Me.Button2.Text = "Abbruch" Me.Button2.UseVisualStyleBackColor = True ' + '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) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(159, 34) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "Fenster zuordnen" + Me.Button1.UseVisualStyleBackColor = True + ' 'frmProcessCapture ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -152,8 +152,6 @@ Partial Class frmProcessCapture Me.PerformLayout() End Sub - - Friend WithEvents Button1 As Button Friend WithEvents txtPID As TextBox Friend WithEvents txtName As TextBox Friend WithEvents Label1 As Label @@ -163,4 +161,5 @@ Partial Class frmProcessCapture Friend WithEvents txtWindowTitle As TextBox Friend WithEvents Label4 As Label Friend WithEvents Button2 As Button + Friend WithEvents Button1 As Button End Class diff --git a/app/DD_Clipboard_Searcher/frmResultDoc.vb b/app/DD_Clipboard_Searcher/frmResultDoc.vb index 27fcaa8..e61cd53 100644 --- a/app/DD_Clipboard_Searcher/frmResultDoc.vb +++ b/app/DD_Clipboard_Searcher/frmResultDoc.vb @@ -7,6 +7,9 @@ Imports DevExpress.XtraGrid.Views.Grid Imports DD_LIB_Standards Imports DevExpress.XtraTab Imports DD_Clipboard_Watcher.ClassProfileFilter +Imports DigitalData.Modules +Imports DigitalData.Modules.Database +Imports DigitalData.Modules.Database.Constants Public Class frmResultDoc Implements IResultForm @@ -102,11 +105,12 @@ Public Class frmResultDoc For Each oRow As DataRow In oSearchesDataTable.Rows Dim oProfileId As Integer = oRow.Item("PROFILE_ID") Dim oTabTitle As String = oRow.Item("TAB_TITLE") + Dim oConnectionId As Integer = oRow.Item("CONN_ID") oSQL = oRow.Item("SQL_COMMAND") oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId) - Dim oDatatable As DataTable = Database.GetDatatable(oSQL) + Dim oDatatable As DataTable = GetDatatable(oSQL, oConnectionId) oDocSearches.Add(New DocSearch() With { .DataTable = oDatatable, .ProfileId = oProfileId, @@ -120,6 +124,33 @@ Public Class frmResultDoc Return oDocSearches End Function + Private Function GetDatatable(SqlCommand As String, ConnectionId As Integer) + Try + Dim oRow As MyDataset.TBDD_CONNECTIONRow = DT_CONNECTIONS.AsEnumerable(). + Where(Function(r) r.GUID = ConnectionId). + FirstOrDefault() + + Dim oConnectionType As String = oRow.SQL_PROVIDER + + Select Case oRow.SQL_PROVIDER + Case PROVIDER_MSSQL + Dim oSQL As New MSSQLServer(LogConfig, oRow.SERVER, oRow.DATENBANK, oRow.USERNAME, oRow.PASSWORD) + Return oSQL.GetDatatable(SqlCommand) + + Case PROVIDER_ODBC + Dim oODBC As New ODBC(LogConfig, oRow.SERVER, oRow.USERNAME, oRow.PASSWORD) + Return oODBC.GetDatatable(SqlCommand) + + Case Else + Dim oOracle As New Database.Oracle(LogConfig, oRow.SERVER, oRow.DATENBANK, oRow.USERNAME, oRow.PASSWORD) + Return oOracle.GetDatatable(SqlCommand) + End Select + Catch ex As Exception + Logger.Error(ex) + Return Nothing + End Try + End Function + Sub RefreshTabDoc(ProfileId As Integer, Datatable As DataTable, TabIndex As Integer, TabCaption As String) Try Dim myGridControl As GridControl = GridControlDocSearch1 diff --git a/app/DD_Clipboard_Searcher/frmStart.vb b/app/DD_Clipboard_Searcher/frmStart.vb index 429f440..218fc5a 100644 --- a/app/DD_Clipboard_Searcher/frmStart.vb +++ b/app/DD_Clipboard_Searcher/frmStart.vb @@ -41,6 +41,7 @@ Public Class frmStart End If NotifyIconMain.Visible = True ClassInit.Refresh_Profile_Links() + ClassInit.Refresh_Connections() Hotkey.AddHotKey(Keys.T, ClassHotkey.ModfierKey.MOD_CONTROL, HOTKEY_TOGGLE_WATCHER) Dim oKeyCode As Keys Dim oConverter As New KeysConverter @@ -66,7 +67,7 @@ Public Class frmStart End If Try Dim sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Clipboard-Watcher')" - Database.ExecuteNonQuery(sql, True) + Database.ExecuteNonQuery(sql) ClassWindowLocation.SaveFormLocationSize(Me, "") My.Settings.Save() Catch ex As Exception diff --git a/app/DD_Clipboard_Searcher/modCurrent.vb b/app/DD_Clipboard_Searcher/modCurrent.vb index 8d77f7b..7b18d2e 100644 --- a/app/DD_Clipboard_Searcher/modCurrent.vb +++ b/app/DD_Clipboard_Searcher/modCurrent.vb @@ -48,6 +48,7 @@ Module modCurrent Public GDPICTURE_LICENSE As String = String.Empty Public DT_USER_PROFILES As DataTable + Public DT_CONNECTIONS As MyDataset.TBDD_CONNECTIONDataTable Public CLIPBOARD_TEXT As String Public CURRENT_MATCHING_PROFILES As New List(Of ClassProfileFilter.ProfileData) diff --git a/app/DD_Clipboard_Watcher.sln b/app/DD_Clipboard_Watcher.sln index 71b508a..a6a6530 100644 --- a/app/DD_Clipboard_Watcher.sln +++ b/app/DD_Clipboard_Watcher.sln @@ -41,4 +41,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {16406E18-060E-4DAF-8E52-A61861A51A8E} + EndGlobalSection EndGlobal