Async Loading of Profile Documents and Monitor Data
This commit is contained in:
parent
3444229697
commit
179c71d667
@ -1,5 +1,7 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports Oracle.ManagedDataAccess.Client
|
||||
Imports System.Threading.Tasks
|
||||
|
||||
Public Class ClassDatabase
|
||||
Private Shared SQLSERVERConnectionString As String
|
||||
Private Shared OracleConnectionString As String
|
||||
@ -57,7 +59,7 @@ Public Class ClassDatabase
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Function Return_Datatable(pSQLCommand As String, Optional pInfo As String = "")
|
||||
Public Shared Function Return_Datatable(pSQLCommand As String, Optional pInfo As String = "") As DataTable
|
||||
Try
|
||||
If pInfo <> "" Then
|
||||
pInfo = "[" & pInfo & "]"
|
||||
@ -80,6 +82,13 @@ Public Class ClassDatabase
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Async Function Return_DatatableAsync(pSQLCommand As String, Optional pInfo As String = "") As Task(Of DataTable)
|
||||
Return Await Task.Run(Function()
|
||||
Return Return_Datatable(pSQLCommand, pInfo)
|
||||
End Function)
|
||||
End Function
|
||||
|
||||
Public Shared Function Return_Datatable_ConId(pSQLCommand As String, ConnID As Integer, Optional pInfo As String = "")
|
||||
Try
|
||||
If pInfo <> "" Then
|
||||
|
||||
@ -13,7 +13,6 @@ Imports System.Threading
|
||||
Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
Imports System.Drawing.Imaging
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports DevExpress.XtraPrinting
|
||||
|
||||
Public Class frmMain
|
||||
@ -553,7 +552,7 @@ Public Class frmMain
|
||||
End Try
|
||||
oStopWatch.Done()
|
||||
End Sub
|
||||
Private Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
|
||||
Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
|
||||
' Das aktuelle Layout speichern, bevor das neue geladen wird
|
||||
' und GRID_LOAD_TYPE gesetzt wird.
|
||||
SaveGridLayout()
|
||||
@ -567,7 +566,10 @@ Public Class frmMain
|
||||
CURRENT_CLICKED_PROFILE_ID = _tag
|
||||
CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
|
||||
GRID_LOAD_TYPE = "PROFILE#" & CURRENT_CLICKED_PROFILE_ID.ToString
|
||||
Load_single_Profile()
|
||||
|
||||
GridView_Docs.ShowLoadingPanel()
|
||||
Await Load_single_Profile()
|
||||
GridView_Docs.HideLoadingPanel()
|
||||
|
||||
End If
|
||||
End If
|
||||
@ -602,9 +604,7 @@ Public Class frmMain
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Sub Load_single_Profile()
|
||||
Async Function Load_single_Profile() As Tasks.Task
|
||||
Try
|
||||
Load_Profiles_for_User()
|
||||
Layout_Single_Profile()
|
||||
@ -631,7 +631,9 @@ Public Class frmMain
|
||||
sql = sql.Replace("@MACHINE_NAME", Environment.MachineName)
|
||||
sql = sql.Replace("@DATE", Now.ToShortDateString)
|
||||
sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(sql, "Load_single_Profile")
|
||||
|
||||
CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(sql, "Load_single_Profile")
|
||||
|
||||
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
Else
|
||||
@ -648,7 +650,7 @@ Public Class frmMain
|
||||
LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
End Function
|
||||
Sub Create_Basic_View()
|
||||
Try
|
||||
GridControl_Docs.DataSource = Nothing
|
||||
@ -867,7 +869,7 @@ Public Class frmMain
|
||||
Me.BringToFront()
|
||||
Visible = True
|
||||
End Sub
|
||||
Private Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick
|
||||
Private Async Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick
|
||||
Try
|
||||
If TimerRefresh.Enabled = False Then
|
||||
Exit Sub
|
||||
@ -907,7 +909,7 @@ Public Class frmMain
|
||||
LoadNavBar()
|
||||
'bwSync.ReportProgress(60)
|
||||
Dim oStopWatch As New RefreshHelper.SW("Decide_Load")
|
||||
Decide_Load(False)
|
||||
Await Decide_Load(False)
|
||||
oStopWatch.Done()
|
||||
'bwSync.ReportProgress(95)
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
@ -935,23 +937,27 @@ Public Class frmMain
|
||||
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
|
||||
BringMonitor2Front()
|
||||
End Sub
|
||||
Private Sub Decide_Load(FormLoad As Boolean)
|
||||
Private Async Function Decide_Load(FormLoad As Boolean) As Tasks.Task
|
||||
Try
|
||||
GridIsLoaded = False
|
||||
|
||||
If USER_EXISTS = False Then
|
||||
Exit Sub
|
||||
Exit Function
|
||||
End If
|
||||
If TimerRefresh.Enabled = True Then
|
||||
TimerRefresh.Enabled = False
|
||||
End If
|
||||
|
||||
GridView_Docs.ShowLoadingPanel()
|
||||
|
||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||
Load_Grid_Overview(FormLoad)
|
||||
Await Load_Grid_Overview(FormLoad)
|
||||
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
|
||||
Load_single_Profile()
|
||||
Await Load_single_Profile()
|
||||
End If
|
||||
|
||||
GridView_Docs.HideLoadingPanel()
|
||||
|
||||
If SHOW_MASS_VALIDATOR = False Then
|
||||
GridView_Docs.OptionsSelection.MultiSelect = False
|
||||
GridView_Docs.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect
|
||||
@ -974,7 +980,7 @@ Public Class frmMain
|
||||
If TimerRefresh.Enabled = False Then
|
||||
TimerRefresh.Enabled = True
|
||||
End If
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs)
|
||||
@ -1326,7 +1332,7 @@ Public Class frmMain
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Sub tsmiMarkedFilesFinish_Click(sender As Object, e As EventArgs) Handles tsmiMarkedFilesFinish.Click
|
||||
Private Async Sub tsmiMarkedFilesFinish_Click(sender As Object, e As EventArgs) Handles tsmiMarkedFilesFinish.Click
|
||||
Try
|
||||
Dim oSelectedRows As Integer() = GridView_Docs.GetSelectedRows()
|
||||
Dim oHitInfo As GridHitInfo = GridView_Docs.CalcHitInfo(GridCursorLocation)
|
||||
@ -1399,7 +1405,7 @@ Public Class frmMain
|
||||
TimerRefresh.Enabled = False
|
||||
frmMassValidator.ShowDialog()
|
||||
LoadNavBar()
|
||||
Decide_Load(False)
|
||||
Await Decide_Load(False)
|
||||
Else
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
MsgBox("Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!", MsgBoxStyle.Critical, "Massenabschluss")
|
||||
@ -1416,14 +1422,18 @@ Public Class frmMain
|
||||
Item_Scope("CMGROUP")
|
||||
End Sub
|
||||
|
||||
Private Sub NavBarItemOverview_LinkClicked(sender As Object, e As NavBarLinkEventArgs) Handles NavBarItemOverview.LinkClicked
|
||||
Private Async Sub NavBarItemOverview_LinkClicked(sender As Object, e As NavBarLinkEventArgs) Handles NavBarItemOverview.LinkClicked
|
||||
' Das aktuelle Layout speichern, bevor das neue geladen wird
|
||||
' und GRID_LOAD_TYPE gesetzt wird.
|
||||
SaveGridLayout()
|
||||
Load_Grid_Overview(False)
|
||||
|
||||
GridView_Docs.ShowLoadingPanel()
|
||||
Await Load_Grid_Overview(False)
|
||||
GridView_Docs.HideLoadingPanel()
|
||||
|
||||
RefreshHelper.LoadViewInfo()
|
||||
End Sub
|
||||
Sub Load_Grid_Overview(FormLoad As Boolean)
|
||||
Async Function Load_Grid_Overview(FormLoad As Boolean) As Tasks.Task
|
||||
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
|
||||
Layout_Single_Profile()
|
||||
GRID_LOAD_TYPE = "OVERVIEW"
|
||||
@ -1441,7 +1451,7 @@ Public Class frmMain
|
||||
NO_WORKFLOWITEMS = True
|
||||
bsiMessage.Caption = "Keine Profile für Ihren User hinterlegt"
|
||||
oStopWatch.Done()
|
||||
Exit Sub
|
||||
Exit Function
|
||||
End If
|
||||
Dim oStopWatch1 As New RefreshHelper.SW("LGO#Load_Profiles_for_User")
|
||||
Load_Profiles_for_User()
|
||||
@ -1453,7 +1463,7 @@ Public Class frmMain
|
||||
bsiMessage.Caption = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig"
|
||||
oStopWatch.Done()
|
||||
oStopWatch2.Done()
|
||||
Exit Sub
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview)
|
||||
@ -1465,11 +1475,9 @@ Public Class frmMain
|
||||
oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString)
|
||||
oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
|
||||
CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(oSQLOverview, "Load_Grid_Overview")
|
||||
CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQLOverview, "Load_Grid_Overview")
|
||||
oStopWatch2.Done()
|
||||
|
||||
|
||||
|
||||
If Not IsNothing(CURR_DT_OVERVIEW) Then
|
||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {CURR_DT_OVERVIEW.Rows.Count} rows")
|
||||
NO_WORKFLOWITEMS = False
|
||||
@ -1494,7 +1502,7 @@ Public Class frmMain
|
||||
|
||||
End Try
|
||||
|
||||
Exit Sub
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
BindingNavigator1.Visible = True
|
||||
@ -1661,7 +1669,7 @@ Public Class frmMain
|
||||
SaveGridLayout()
|
||||
If GridView_Docs.Columns.Count <= 2 Then
|
||||
LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
|
||||
Reset_GridLayout(FormLoad)
|
||||
Await Reset_GridLayout(FormLoad)
|
||||
End If
|
||||
Else
|
||||
NO_WORKFLOWITEMS = True
|
||||
@ -1683,7 +1691,7 @@ Public Class frmMain
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
|
||||
If CURRENT_CLICKED_PROFILE_ID <> 0 Then
|
||||
@ -1695,11 +1703,11 @@ Public Class frmMain
|
||||
|
||||
|
||||
|
||||
Private Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click
|
||||
Reset_GridLayout(False)
|
||||
Private Async Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click
|
||||
Await Reset_GridLayout(False)
|
||||
|
||||
End Sub
|
||||
Sub Reset_GridLayout(FormLoad As Boolean)
|
||||
Async Function Reset_GridLayout(FormLoad As Boolean) As Tasks.Task
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.SaveViewInfo()
|
||||
InResetlayout = True
|
||||
' Layout zurücksetzen
|
||||
@ -1708,10 +1716,10 @@ Public Class frmMain
|
||||
|
||||
' Ansicht neu laden
|
||||
LoadNavBar()
|
||||
Decide_Load(FormLoad)
|
||||
Await Decide_Load(FormLoad)
|
||||
InResetlayout = False
|
||||
RefreshHelper.LoadViewInfo()
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
Private Sub GridView_Docs_DoubleClick(sender As Object, e As EventArgs) Handles GridView_Docs.DoubleClick
|
||||
Item_Scope("DOUBLECLICK")
|
||||
@ -1874,11 +1882,7 @@ Public Class frmMain
|
||||
End Try
|
||||
oStopWatch.Done()
|
||||
End Sub
|
||||
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
|
||||
Decide_Load(True)
|
||||
Handling_DEBUG_USER()
|
||||
|
||||
Private Async Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
If RIBBON_COLOR_SCHEME = "BLUE" Then
|
||||
RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Blue
|
||||
ElseIf RIBBON_COLOR_SCHEME = "DarkBlue".ToUpper Then
|
||||
@ -1899,6 +1903,9 @@ Public Class frmMain
|
||||
LOGGER.Debug($" RibbonControl1.ColorScheme [{RIBBON_COLOR_SCHEME}]")
|
||||
Me.Text = ADDITIONAL_TITLE
|
||||
CurrNavBarGroup = NavBarControl1.Groups(1)
|
||||
|
||||
Await Decide_Load(True)
|
||||
Handling_DEBUG_USER()
|
||||
End Sub
|
||||
Sub Handling_DEBUG_USER()
|
||||
If USER_DEBUG_LOG = True Then
|
||||
@ -2004,14 +2011,14 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick
|
||||
Private Async Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then
|
||||
RefreshHelper.SaveViewInfo()
|
||||
SaveGridLayout()
|
||||
End If
|
||||
|
||||
LoadNavBar()
|
||||
Decide_Load(False)
|
||||
Await Decide_Load(False)
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||
End Sub
|
||||
|
||||
@ -2165,7 +2172,7 @@ Public Class frmMain
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmGhostMode.ItemClick
|
||||
Private Async Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmGhostMode.ItemClick
|
||||
frmGhostMode.ShowDialog()
|
||||
If USER_GHOST_MODE_ACTIVE = True And USER_GHOST_MODE_USRNAME <> String.Empty Then
|
||||
LOGGER.Info($"GHOST MODE for User {USER_GHOST_MODE_USRNAME} will now be initialized!")
|
||||
@ -2177,7 +2184,7 @@ Public Class frmMain
|
||||
_Init.InitBasics2()
|
||||
GetBaseData("Load")
|
||||
LoadNavBar()
|
||||
Decide_Load(False)
|
||||
Await Decide_Load(False)
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||
End If
|
||||
End Sub
|
||||
@ -2198,13 +2205,13 @@ Public Class frmMain
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
Private Async Sub BarButtonItem2_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
USER_GHOST_MODE_ACTIVE = False
|
||||
USER_GHOST_MODE_USRNAME = String.Empty
|
||||
BarButtonItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
_Init.InitUserLogin()
|
||||
LoadNavBar()
|
||||
Decide_Load(False)
|
||||
Await Decide_Load(False)
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||
End Sub
|
||||
|
||||
|
||||
@ -134,9 +134,12 @@ Public Class frmMonitor
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in LoadDoc:")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Private Async Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
SplitContainerControlMain.Collapsed = True
|
||||
Load_Grid_Data()
|
||||
|
||||
GridView1.ShowLoadingPanel()
|
||||
Await Load_Grid_Data()
|
||||
GridView1.HideLoadingPanel()
|
||||
|
||||
Select Case DT_MONITOR_KONFIG.Rows.Count
|
||||
Case 2
|
||||
@ -164,7 +167,7 @@ Public Class frmMonitor
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
End Sub
|
||||
Sub Load_Grid_Data()
|
||||
Async Function Load_Grid_Data() As Threading.Tasks.Task
|
||||
Try
|
||||
FormShown = False
|
||||
Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG"
|
||||
@ -173,7 +176,7 @@ Public Class frmMonitor
|
||||
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then
|
||||
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
|
||||
GridView1.Columns.Clear()
|
||||
Dim oDTGRID1 As DataTable = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data2")
|
||||
Dim oDTGRID1 As DataTable = Await ClassDatabase.Return_DatatableAsync(oSQL, "Monitor-Load_Grid_Data2")
|
||||
GridControl1.DataSource = oDTGRID1
|
||||
|
||||
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
|
||||
@ -216,7 +219,7 @@ Public Class frmMonitor
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:")
|
||||
End Try
|
||||
End Sub
|
||||
End Function
|
||||
Sub LoadGrid1Layout()
|
||||
Try
|
||||
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
|
||||
@ -464,7 +467,7 @@ Public Class frmMonitor
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
|
||||
Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
|
||||
Select Case DT_MONITOR_KONFIG.Rows.Count
|
||||
Case 2
|
||||
RemoveLayout()
|
||||
@ -479,6 +482,9 @@ Public Class frmMonitor
|
||||
RemoveLayout3()
|
||||
RemoveLayout4()
|
||||
End Select
|
||||
Load_Grid_Data()
|
||||
|
||||
GridView1.ShowLoadingPanel()
|
||||
Await Load_Grid_Data()
|
||||
GridView1.HideLoadingPanel()
|
||||
End Sub
|
||||
End Class
|
||||
Loading…
x
Reference in New Issue
Block a user