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>
<Compile Include="Class1.vb" />
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassDatabase.vb" />
<Compile Include="ClassInit.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
Try
If cmbfunctionHit.SelectedIndex <> -1 Then
Hotkey.RemoveHotKey(354523017)
Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER)
'SaveConfigValue("HotkeyFunctionKey", cmbfunctionHit.Text)
'SaveConfigValue("HotkeySearchKey", txtHotkeySearchKey.Text)
@ -221,9 +221,9 @@ Public Class frmConfig_Basic
Dim obj As Object = kc.ConvertFromString(txtHotkeySearchKey.Text.ToUpper)
keyCode = CType(obj, Keys)
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
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017)
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
End If
lblChanges.Text = "Hotkey changed - " & Now.ToString & " - Restart required"
lblChanges.Visible = True

View File

@ -20,7 +20,7 @@ Public Class frmResultSQL
Public ProfileId As Integer
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
Size = ConfigManager.Config.ResultDataWindowSize
End If
@ -29,7 +29,17 @@ Public Class frmResultSQL
Location = ConfigManager.Config.ResultDataWindowLocation
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
Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown
@ -47,9 +57,8 @@ Public Class frmResultSQL
End Try
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
SQLCommand = clsPatterns.ReplaceAllValues(SQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, PROFILE_ID)
Dim myGridControl As GridControl
Dim myGridview As GridView
Select Case TabIndex
@ -80,11 +89,10 @@ Public Class frmResultSQL
myGridview = GridViewDataSearch5
End Select
myGridControl.ContextMenuStrip = ContextMenuStripWMFile
Dim oDatatable As DataTable = clsDatabase.Return_Datatable(SQLCommand)
If Not IsNothing(oDatatable) Then
XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({oDatatable.Rows.Count})"
clsWMDocGrid.DTDocuments = oDatatable
myGridControl.DataSource = oDatatable
If Not IsNothing(DataTable) Then
XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({DataTable.Rows.Count})"
clsWMDocGrid.DTDocuments = DataTable
myGridControl.DataSource = DataTable
myGridControl.ForceInitialize()
Dim oxmlPath As String = ""
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 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
Sub Load_Searches()
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"
DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL)
Dim ocounter As Integer = 0
If CurrDataSearch2Load.ToString.Contains(",") Then
'Sub Load_Searches()
' 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"
' DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL)
' Dim ocounter As Integer = 0
' If CurrDataSearch2Load.ToString.Contains(",") Then
End If
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"))
ocounter += 1
Next
Else
MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical)
Close()
End If
End Sub
' End If
' 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"))
' ocounter += 1
' Next
' Else
' MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical)
' Close()
' End If
'End Sub
Private Sub MenuItemReload_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
Reload_Active_DocumentTab()
@ -180,22 +211,31 @@ Public Class frmResultSQL
End Try
End Sub
Sub Reload_Active_DocumentTab()
If IsNothing(DTDataSearchDefinition) Then Exit Sub
Dim oTabIndex = XtraTabControlData.SelectedTabPageIndex
Dim oTabTitle = DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE")
Dim oConID = DTDataSearchDefinition.Rows(oTabIndex).Item("CONN_ID")
Dim oCommand = DTDataSearchDefinition.Rows(oTabIndex).Item("SQL_COMMAND")
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)
RefreshTabData(oProfID, oConID, oCommand, oTabIndex, DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE"))
oDatatable = clsDatabase.Return_Datatable(oCommand)
RefreshTabData(oProfID, oDatatable, oTabIndex, oTabTitle)
End Sub
Private Sub XtraTabControlDocs_SelectedPageChanged(sender As Object, e As TabPageChangedEventArgs) Handles XtraTabControlData.SelectedPageChanged
If IsNothing(DTDataSearchDefinition) Then Exit Sub
Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID")
Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND")
Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID")
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 oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE")
RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption)
'If IsNothing(DTDataSearchDefinition) Then Exit Sub
'Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID")
'Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND")
'Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID")
'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 oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE")
'RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption)
Reload_Active_DocumentTab()
End Sub
End Class
End Class

View File

@ -210,12 +210,12 @@ Public Class frmStart
End Try
Try
Hotkey.RemoveHotKey(354522017)
Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TOGGLE_WATCHER)
Catch ex As Exception
End Try
Try
Hotkey.RemoveHotKey(354523017)
Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER)
Catch ex As Exception
End Try
@ -251,15 +251,15 @@ Public Class frmStart
End If
Me.NotifyIconMain.Visible = True
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 kc As New KeysConverter
Dim obj As Object = kc.ConvertFromString(HotkeySearchKey.ToUpper)
keyCode = CType(obj, Keys)
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
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017)
Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
End If
End If
@ -267,11 +267,11 @@ Public Class frmStart
lbHKFunction.Text = HotkeyFunctionKey & " + " & HotkeySearchKey.ToUpper
End Sub
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
CHECK_PROFILE_MATCH()
End If
ElseIf HotKeyID = 354522017 Then
ElseIf HotKeyID = ClassConstants.HOTKEY_TOGGLE_WATCHER Then
Change_Monitoring_State()
End If
@ -284,28 +284,26 @@ Public Class frmStart
Dim oResultDocs As Integer = 0
If oSQL = String.Empty Then
oProfile.CountSQL = 99998
oProfile.CountSQL = ClassConstants.NO_COUNT_SQL
End If
Try
oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid)
oResultDocs = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString)
Catch ex As Exception
oResultDocs = 99999
oResultDocs = ClassConstants.INVALID_COUNT_SQL
End Try
If (oResultDocs <> 99998 And oResultDocs <> 99998 And oResultDocs <> 0) Then
oProfile.Count = oResultDocs
End If
oProfile.Count = oResultDocs
Next
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)
Exit Sub
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)
Exit Sub
End If
@ -381,19 +379,6 @@ Public Class frmStart
NotifyIconMain.ShowBalloonTip(30000, "Clipboard Watcher", "Clipboard-Watcher wurde wieder aktiviert!", ToolTipIcon.Info)
End If
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
TimerClose.Stop()
@ -404,18 +389,17 @@ Public Class frmStart
End Sub
Private Sub TimerClose_Tick(sender As Object, e As EventArgs) Handles TimerClose.Tick
Me.Hide()
Hide()
End Sub
Private Sub frmMain_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
If TimerClose.Enabled = True Then
TimerClose.Stop()
End If
End Sub
Private Sub MinimierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimierenToolStripMenuItem.Click
Me.Hide()
Hide()
End Sub
Private Sub ClientÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientÖffnenToolStripMenuItem.Click