Async SQLResult

This commit is contained in:
Jonathan Jenne 2019-07-19 12:30:35 +02:00
parent f7ff19afeb
commit 54a533e974
5 changed files with 100 additions and 68 deletions

View File

@ -0,0 +1,7 @@
Public Class ClassConstants
Public Const NO_COUNT_SQL As Integer = 99998
Public Const INVALID_COUNT_SQL As Integer = 99999
Public Const HOTKEY_TOGGLE_WATCHER As Integer = 354522017
Public Const HOTKEY_TRIGGER_WATCHER As Integer = 354523017
End Class

View File

@ -117,6 +117,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="Class1.vb" /> <Compile Include="Class1.vb" />
<Compile Include="ClassConfig.vb" /> <Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassDatabase.vb" /> <Compile Include="ClassDatabase.vb" />
<Compile Include="ClassInit.vb" /> <Compile Include="ClassInit.vb" />
<Compile Include="ClassLayout.vb" /> <Compile Include="ClassLayout.vb" />

View File

@ -208,7 +208,7 @@ Public Class frmConfig_Basic
Private Sub btnChangeHotkey_Click(sender As Object, e As EventArgs) Handles btnChangeHotkey.Click Private Sub btnChangeHotkey_Click(sender As Object, e As EventArgs) Handles btnChangeHotkey.Click
Try Try
If cmbfunctionHit.SelectedIndex <> -1 Then If cmbfunctionHit.SelectedIndex <> -1 Then
Hotkey.RemoveHotKey(354523017) Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER)
'SaveConfigValue("HotkeyFunctionKey", cmbfunctionHit.Text) 'SaveConfigValue("HotkeyFunctionKey", cmbfunctionHit.Text)
'SaveConfigValue("HotkeySearchKey", txtHotkeySearchKey.Text) 'SaveConfigValue("HotkeySearchKey", txtHotkeySearchKey.Text)
@ -221,9 +221,9 @@ Public Class frmConfig_Basic
Dim obj As Object = kc.ConvertFromString(txtHotkeySearchKey.Text.ToUpper) Dim obj As Object = kc.ConvertFromString(txtHotkeySearchKey.Text.ToUpper)
keyCode = CType(obj, Keys) keyCode = CType(obj, Keys)
If cmbfunctionHit.Text = "strg" Then If cmbfunctionHit.Text = "strg" Then
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER)
ElseIf cmbfunctionHit.Text = "SHIFT" Then ElseIf cmbfunctionHit.Text = "SHIFT" Then
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
End If End If
lblChanges.Text = "Hotkey changed - " & Now.ToString & " - Restart required" lblChanges.Text = "Hotkey changed - " & Now.ToString & " - Restart required"
lblChanges.Visible = True lblChanges.Visible = True

View File

@ -20,7 +20,7 @@ Public Class frmResultSQL
Public ProfileId As Integer Public ProfileId As Integer
End Class End Class
Private Sub frmResultDoc_Load(sender As Object, e As EventArgs) Handles Me.Load Private Async Sub frmResultDoc_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not ConfigManager.Config.ResultDataWindowSize.IsEmpty Then If Not ConfigManager.Config.ResultDataWindowSize.IsEmpty Then
Size = ConfigManager.Config.ResultDataWindowSize Size = ConfigManager.Config.ResultDataWindowSize
End If End If
@ -29,7 +29,17 @@ Public Class frmResultSQL
Location = ConfigManager.Config.ResultDataWindowLocation Location = ConfigManager.Config.ResultDataWindowLocation
End If End If
Load_Searches() 'Load_Searches()
GridViewDataSearch1.ShowLoadingPanel()
Dim oSearches = Await LoadSearchesAsync()
For Each oSearch In oSearches
RefreshTabData(oSearch.ProfileId, oSearch.DataTable, oSearch.TabIndex, oSearch.TabCaption)
Next
GridViewDataSearch1.HideLoadingPanel()
End Sub End Sub
Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown
@ -47,9 +57,8 @@ Public Class frmResultSQL
End Try End Try
End Sub End Sub
Sub RefreshTabData(PROFILE_ID As Integer, ConID As Integer, SQLCommand As String, TabIndex As Integer, TabCaption As String) Sub RefreshTabData(PROFILE_ID As Integer, DataTable As DataTable, TabIndex As Integer, TabCaption As String)
Try Try
SQLCommand = clsPatterns.ReplaceAllValues(SQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, PROFILE_ID)
Dim myGridControl As GridControl Dim myGridControl As GridControl
Dim myGridview As GridView Dim myGridview As GridView
Select Case TabIndex Select Case TabIndex
@ -80,11 +89,10 @@ Public Class frmResultSQL
myGridview = GridViewDataSearch5 myGridview = GridViewDataSearch5
End Select End Select
myGridControl.ContextMenuStrip = ContextMenuStripWMFile myGridControl.ContextMenuStrip = ContextMenuStripWMFile
Dim oDatatable As DataTable = clsDatabase.Return_Datatable(SQLCommand) If Not IsNothing(DataTable) Then
If Not IsNothing(oDatatable) Then XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({DataTable.Rows.Count})"
XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({oDatatable.Rows.Count})" clsWMDocGrid.DTDocuments = DataTable
clsWMDocGrid.DTDocuments = oDatatable myGridControl.DataSource = DataTable
myGridControl.DataSource = oDatatable
myGridControl.ForceInitialize() myGridControl.ForceInitialize()
Dim oxmlPath As String = "" Dim oxmlPath As String = ""
oxmlPath = Get_Grid_Layout_Filename(XtraTabControlData.SelectedTabPageIndex) oxmlPath = Get_Grid_Layout_Filename(XtraTabControlData.SelectedTabPageIndex)
@ -137,26 +145,49 @@ Public Class frmResultSQL
Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX" Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX"
Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL) Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL)
Dim oSearches As New List(Of SQLSearch)
Dim oCounter As Integer = 0
DTDataSearchDefinition = oSearchesDataTable
For Each oRow As DataRow In oSearchesDataTable.Rows
Dim oProfileId As Integer = oRow.Item("PROFILE_ID")
Dim oTabTitle As String = oRow.Item("TAB_TITLE")
oSQL = oRow.Item("SQL_COMMAND")
oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId)
Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL)
oSearches.Add(New SQLSearch() With {
.DataTable = oDatatable,
.ProfileId = oProfileId,
.TabCaption = oTabTitle,
.TabIndex = oCounter
})
oCounter += 1
Next
Return oSearches
End Function End Function
Sub Load_Searches() 'Sub Load_Searches()
If Not IsNothing(CurrDataSearch2Load) Then ' If Not IsNothing(CurrDataSearch2Load) Then
Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX" ' Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX"
DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL) ' DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL)
Dim ocounter As Integer = 0 ' Dim ocounter As Integer = 0
If CurrDataSearch2Load.ToString.Contains(",") Then ' If CurrDataSearch2Load.ToString.Contains(",") Then
End If ' End If
For Each oRow As DataRow In DTDataSearchDefinition.Rows ' For Each oRow As DataRow In DTDataSearchDefinition.Rows
RefreshTabData(oRow.Item("PROFILE_ID"), oRow.Item("CONN_ID"), oRow.Item("SQL_COMMAND"), ocounter, oRow.Item("TAB_TITLE")) ' RefreshTabData(oRow.Item("PROFILE_ID"), oRow.Item("CONN_ID"), oRow.Item("SQL_COMMAND"), ocounter, oRow.Item("TAB_TITLE"))
ocounter += 1 ' ocounter += 1
Next ' Next
Else ' Else
MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical) ' MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical)
Close() ' Close()
End If ' End If
End Sub 'End Sub
Private Sub MenuItemReload_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click Private Sub MenuItemReload_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
Reload_Active_DocumentTab() Reload_Active_DocumentTab()
@ -180,22 +211,31 @@ Public Class frmResultSQL
End Try End Try
End Sub End Sub
Sub Reload_Active_DocumentTab() Sub Reload_Active_DocumentTab()
If IsNothing(DTDataSearchDefinition) Then Exit Sub
Dim oTabIndex = XtraTabControlData.SelectedTabPageIndex Dim oTabIndex = XtraTabControlData.SelectedTabPageIndex
Dim oTabTitle = DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE")
Dim oConID = DTDataSearchDefinition.Rows(oTabIndex).Item("CONN_ID") Dim oConID = DTDataSearchDefinition.Rows(oTabIndex).Item("CONN_ID")
Dim oCommand = DTDataSearchDefinition.Rows(oTabIndex).Item("SQL_COMMAND") Dim oCommand = DTDataSearchDefinition.Rows(oTabIndex).Item("SQL_COMMAND")
Dim oProfID = DTDataSearchDefinition.Rows(oTabIndex).Item("PROFILE_ID") Dim oProfID = DTDataSearchDefinition.Rows(oTabIndex).Item("PROFILE_ID")
Dim oDatatable As DataTable
oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID) oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID)
RefreshTabData(oProfID, oConID, oCommand, oTabIndex, DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE")) oDatatable = clsDatabase.Return_Datatable(oCommand)
RefreshTabData(oProfID, oDatatable, oTabIndex, oTabTitle)
End Sub End Sub
Private Sub XtraTabControlDocs_SelectedPageChanged(sender As Object, e As TabPageChangedEventArgs) Handles XtraTabControlData.SelectedPageChanged Private Sub XtraTabControlDocs_SelectedPageChanged(sender As Object, e As TabPageChangedEventArgs) Handles XtraTabControlData.SelectedPageChanged
If IsNothing(DTDataSearchDefinition) Then Exit Sub 'If IsNothing(DTDataSearchDefinition) Then Exit Sub
Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID") 'Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID")
Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND") 'Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND")
Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID") 'Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID")
oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID) 'oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID)
Dim oTabIndex = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_INDEX") 'Dim oTabIndex = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_INDEX")
Dim oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE") 'Dim oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE")
RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption) 'RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption)
Reload_Active_DocumentTab()
End Sub End Sub
End Class End Class

View File

@ -210,12 +210,12 @@ Public Class frmStart
End Try End Try
Try Try
Hotkey.RemoveHotKey(354522017) Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TOGGLE_WATCHER)
Catch ex As Exception Catch ex As Exception
End Try End Try
Try Try
Hotkey.RemoveHotKey(354523017) Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER)
Catch ex As Exception Catch ex As Exception
End Try End Try
@ -251,15 +251,15 @@ Public Class frmStart
End If End If
Me.NotifyIconMain.Visible = True Me.NotifyIconMain.Visible = True
clsHotkey.Refresh_Profile_Links() clsHotkey.Refresh_Profile_Links()
Hotkey.AddHotKey(Keys.T, clsHotkey.MODKEY.MOD_CONTROL, 354522017) Hotkey.AddHotKey(Keys.T, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TOGGLE_WATCHER)
Dim keyCode As Keys Dim keyCode As Keys
Dim kc As New KeysConverter Dim kc As New KeysConverter
Dim obj As Object = kc.ConvertFromString(HotkeySearchKey.ToUpper) Dim obj As Object = kc.ConvertFromString(HotkeySearchKey.ToUpper)
keyCode = CType(obj, Keys) keyCode = CType(obj, Keys)
If HotkeyFunctionKey = "strg" Then If HotkeyFunctionKey = "strg" Then
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER)
ElseIf HotkeyFunctionKey = "SHIFT" Then ElseIf HotkeyFunctionKey = "SHIFT" Then
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
End If End If
End If End If
@ -267,11 +267,11 @@ Public Class frmStart
lbHKFunction.Text = HotkeyFunctionKey & " + " & HotkeySearchKey.ToUpper lbHKFunction.Text = HotkeyFunctionKey & " + " & HotkeySearchKey.ToUpper
End Sub End Sub
Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles Hotkey.HotKeyPressed Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles Hotkey.HotKeyPressed
If HotKeyID = 354523017 Then If HotKeyID = ClassConstants.HOTKEY_TRIGGER_WATCHER Then
If CURRENT_MATCHING_PROFILES.Count > 0 And MONITORING_ACTIVE = True Then If CURRENT_MATCHING_PROFILES.Count > 0 And MONITORING_ACTIVE = True Then
CHECK_PROFILE_MATCH() CHECK_PROFILE_MATCH()
End If End If
ElseIf HotKeyID = 354522017 Then ElseIf HotKeyID = ClassConstants.HOTKEY_TOGGLE_WATCHER Then
Change_Monitoring_State() Change_Monitoring_State()
End If End If
@ -284,28 +284,26 @@ Public Class frmStart
Dim oResultDocs As Integer = 0 Dim oResultDocs As Integer = 0
If oSQL = String.Empty Then If oSQL = String.Empty Then
oProfile.CountSQL = 99998 oProfile.CountSQL = ClassConstants.NO_COUNT_SQL
End If End If
Try Try
oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid)
oResultDocs = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString) oResultDocs = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString)
Catch ex As Exception Catch ex As Exception
oResultDocs = 99999 oResultDocs = ClassConstants.INVALID_COUNT_SQL
End Try End Try
If (oResultDocs <> 99998 And oResultDocs <> 99998 And oResultDocs <> 0) Then oProfile.Count = oResultDocs
oProfile.Count = oResultDocs
End If
Next Next
If oProfiles.Count = 1 Then If oProfiles.Count = 1 Then
If oProfiles.First().Count = 99999 Then If oProfiles.First().Count = ClassConstants.INVALID_COUNT_SQL Then
NotifyIconMain.ShowBalloonTip(20000, "Clipboard Watcher", "Found match but check is wrong - Check Your MatchCountConfig in Profiles!", ToolTipIcon.Info) NotifyIconMain.ShowBalloonTip(20000, "Clipboard Watcher", "Found match but check is wrong - Check Your MatchCountConfig in Profiles!", ToolTipIcon.Info)
Exit Sub Exit Sub
End If End If
If oProfiles.First().Count = 99998 Then If oProfiles.First().Count = ClassConstants.NO_COUNT_SQL Then
NotifyIconMain.ShowBalloonTip(10000, "Clipboard Watcher", "Found match but MatchCountConfig is not configured!", ToolTipIcon.Info) NotifyIconMain.ShowBalloonTip(10000, "Clipboard Watcher", "Found match but MatchCountConfig is not configured!", ToolTipIcon.Info)
Exit Sub Exit Sub
End If End If
@ -381,19 +379,6 @@ Public Class frmStart
NotifyIconMain.ShowBalloonTip(30000, "Clipboard Watcher", "Clipboard-Watcher wurde wieder aktiviert!", ToolTipIcon.Info) NotifyIconMain.ShowBalloonTip(30000, "Clipboard Watcher", "Clipboard-Watcher wurde wieder aktiviert!", ToolTipIcon.Info)
End If End If
End Sub End Sub
'Private Sub Timer1_Tick(sender As Object, e As EventArgs)
' clsWINDOWSApi.Get_ForegroundWindow_Info()
' If PID <> PROC_PID Then
' PID = PROC_PID
' With Me.TextBox1
' .AppendText(String.Concat("Process-ID:" & PROC_PID, vbNewLine))
' .AppendText(String.Concat("Process-Name:" & PROC_Name, vbNewLine))
' .AppendText("Window-Title: " & PROC_WindowTitle)
' .AppendText(String.Concat("", vbNewLine))
' End With
' End If
'End Sub
Private Sub btnAdminConfig_Click(sender As Object, e As EventArgs) Handles btnAdminConfig.Click Private Sub btnAdminConfig_Click(sender As Object, e As EventArgs) Handles btnAdminConfig.Click
TimerClose.Stop() TimerClose.Stop()
@ -404,18 +389,17 @@ Public Class frmStart
End Sub End Sub
Private Sub TimerClose_Tick(sender As Object, e As EventArgs) Handles TimerClose.Tick Private Sub TimerClose_Tick(sender As Object, e As EventArgs) Handles TimerClose.Tick
Me.Hide() Hide()
End Sub End Sub
Private Sub frmMain_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged Private Sub frmMain_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
If TimerClose.Enabled = True Then If TimerClose.Enabled = True Then
TimerClose.Stop() TimerClose.Stop()
End If End If
End Sub End Sub
Private Sub MinimierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimierenToolStripMenuItem.Click Private Sub MinimierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimierenToolStripMenuItem.Click
Me.Hide() Hide()
End Sub End Sub
Private Sub ClientÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientÖffnenToolStripMenuItem.Click Private Sub ClientÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientÖffnenToolStripMenuItem.Click