Refresh Overview only when changed
This commit is contained in:
parent
25e37980c6
commit
6c289a9a9e
@ -76,6 +76,23 @@
|
|||||||
INACTIVITY_DURATION = CInt(oInactivityDuration)
|
INACTIVITY_DURATION = CInt(oInactivityDuration)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
INACTIVITY_DURATION = 0
|
INACTIVITY_DURATION = 0
|
||||||
|
|
||||||
|
End Try
|
||||||
|
ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then
|
||||||
|
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "")
|
||||||
|
Try
|
||||||
|
LAST_EDITED_COLUMN = oLEDITEDCOL
|
||||||
|
Catch ex As Exception
|
||||||
|
LAST_EDITED_COLUMN = ""
|
||||||
|
|
||||||
|
End Try
|
||||||
|
ElseIf oMode.StartsWith("PM.COL_LAST_ADDED") Then
|
||||||
|
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "")
|
||||||
|
Try
|
||||||
|
LAST_ADDED_COLUMN = oLEDITEDCOL
|
||||||
|
Catch ex As Exception
|
||||||
|
LAST_ADDED_COLUMN = ""
|
||||||
|
|
||||||
End Try
|
End Try
|
||||||
Else
|
Else
|
||||||
LOGGER.Info($"Wrong oMode: {oMode}")
|
LOGGER.Info($"Wrong oMode: {oMode}")
|
||||||
|
|||||||
@ -74,6 +74,8 @@ Module ModuleRuntimeVariables
|
|||||||
Public POPUP_REMINDER_ACTIVE As Boolean = True
|
Public POPUP_REMINDER_ACTIVE As Boolean = True
|
||||||
Public INACTIVITY_DURATION As Integer = 0
|
Public INACTIVITY_DURATION As Integer = 0
|
||||||
Public INACTIVITYRecognized As Boolean = False
|
Public INACTIVITYRecognized As Boolean = False
|
||||||
|
Public LAST_EDITED_COLUMN As String = "NONE"
|
||||||
|
Public LAST_ADDED_COLUMN As String = "NONE"
|
||||||
|
|
||||||
Public LICENSE_COUNT As Integer = 0
|
Public LICENSE_COUNT As Integer = 0
|
||||||
Public LICENSE_EXPIRED As Boolean = False
|
Public LICENSE_EXPIRED As Boolean = False
|
||||||
|
|||||||
@ -14,11 +14,15 @@ Imports System.ComponentModel
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Drawing.Imaging
|
Imports System.Drawing.Imaging
|
||||||
Imports DevExpress.XtraPrinting
|
Imports DevExpress.XtraPrinting
|
||||||
|
Imports System.Runtime.Serialization
|
||||||
|
Imports System.Security.Cryptography
|
||||||
|
|
||||||
Public Class frmMain
|
Public Class frmMain
|
||||||
Private UserLoggedin As Integer = 0
|
Private UserLoggedin As Integer = 0
|
||||||
Private CURR_DT_VWPM_PROFILE_ACTIVE As DataTable
|
Private CURR_DT_VWPM_PROFILE_ACTIVE As DataTable
|
||||||
Private CURR_DT_OVERVIEW As DataTable
|
Private CURR_DT_OVERVIEW As DataTable
|
||||||
|
Private OVERVIEW_ADDED_WHEN As String
|
||||||
|
Private OVERVIEW_CHANGED_WHEN As String
|
||||||
|
|
||||||
Private RedDocuments As Integer = 0
|
Private RedDocuments As Integer = 0
|
||||||
Private YellowDocuments As Integer = 0
|
Private YellowDocuments As Integer = 0
|
||||||
@ -42,7 +46,42 @@ Public Class frmMain
|
|||||||
|
|
||||||
Private DT_CHECKUSER_MODULE As DataTable
|
Private DT_CHECKUSER_MODULE As DataTable
|
||||||
Private IsFilterMode As Boolean
|
Private IsFilterMode As Boolean
|
||||||
|
Private Function GET_LAST_ADDED(pDatatable As DataTable) As String
|
||||||
|
Dim oADDED As String
|
||||||
|
Try
|
||||||
|
If IsNothing(pDatatable) Then
|
||||||
|
oADDED = "NOTHING"
|
||||||
|
ElseIf LAST_ADDED_COLUMN = "NONE" Then
|
||||||
|
oADDED = Now.ToShortTimeString.ToString
|
||||||
|
Else
|
||||||
|
Dim result As Object
|
||||||
|
result = pDatatable.Compute($"MAX({LAST_ADDED_COLUMN})", "")
|
||||||
|
oADDED = result
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
oADDED = "Exception"
|
||||||
|
End Try
|
||||||
|
Return oADDED
|
||||||
|
End Function
|
||||||
|
Private Function GET_LAST_CHANGED(pDatatable As DataTable) As String
|
||||||
|
Dim oCHANGED As String
|
||||||
|
Try
|
||||||
|
If IsNothing(pDatatable) Then
|
||||||
|
oCHANGED = "NOTHING"
|
||||||
|
ElseIf LAST_EDITED_COLUMN = "NONE" Then
|
||||||
|
oCHANGED = Now.ToShortTimeString.ToString
|
||||||
|
Else
|
||||||
|
Dim result As Object
|
||||||
|
result = pDatatable.Compute($"MAX({LAST_EDITED_COLUMN})", "")
|
||||||
|
oCHANGED = result
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
oCHANGED = "Exception"
|
||||||
|
End Try
|
||||||
|
Return oCHANGED
|
||||||
|
End Function
|
||||||
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||||
Try
|
Try
|
||||||
FormOpenClose = True
|
FormOpenClose = True
|
||||||
@ -616,7 +655,7 @@ Public Class frmMain
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Async Function Load_single_Profile() As Tasks.Task
|
Async Function Load_single_Profile(Optional ForceReload As Boolean = False) As Tasks.Task
|
||||||
Try
|
Try
|
||||||
Load_Profiles_for_User()
|
Load_Profiles_for_User()
|
||||||
Layout_Single_Profile()
|
Layout_Single_Profile()
|
||||||
@ -633,18 +672,31 @@ Public Class frmMain
|
|||||||
If result = 1 Then
|
If result = 1 Then
|
||||||
ToolStripLabelViewTape.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE
|
ToolStripLabelViewTape.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE
|
||||||
|
|
||||||
Dim sql = foundRows(0)("SQL_VIEW")
|
Dim oSQL = foundRows(0)("SQL_VIEW")
|
||||||
|
|
||||||
sql = clsPatterns.ReplaceInternalValues(sql)
|
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||||
sql = clsPatterns.ReplaceUserValues(sql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID)
|
oSQL = clsPatterns.ReplaceUserValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID)
|
||||||
|
|
||||||
sql = sql.Replace("@USER_ID", USER_ID)
|
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||||
sql = sql.Replace("@USERNAME", USER_USERNAME)
|
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||||
sql = sql.Replace("@MACHINE_NAME", Environment.MachineName)
|
oSQL = oSQL.Replace("@MACHINE_NAME", Environment.MachineName)
|
||||||
sql = sql.Replace("@DATE", Now.ToShortDateString)
|
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
||||||
sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||||
|
|
||||||
CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(sql, "Load_single_Profile")
|
CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQL, "Load_single_Profile")
|
||||||
|
|
||||||
|
Dim oADDED = GET_LAST_ADDED(CURR_DT_OVERVIEW)
|
||||||
|
Dim oChanged = GET_LAST_CHANGED(CURR_DT_OVERVIEW)
|
||||||
|
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN Then
|
||||||
|
LOGGER.Info("No changes on OverviewHash - so exit Refresh")
|
||||||
|
If ForceReload = False Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
OVERVIEW_ADDED_WHEN = oADDED
|
||||||
|
OVERVIEW_CHANGED_WHEN = oChanged
|
||||||
|
End If
|
||||||
|
|
||||||
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
||||||
NO_WORKFLOWITEMS = True
|
NO_WORKFLOWITEMS = True
|
||||||
@ -949,7 +1001,7 @@ Public Class frmMain
|
|||||||
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
|
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
|
||||||
BringMonitor2Front()
|
BringMonitor2Front()
|
||||||
End Sub
|
End Sub
|
||||||
Private Async Function Decide_Load(FormLoad As Boolean) As Tasks.Task
|
Private Async Function Decide_Load(FormLoad As Boolean, Optional ForceReload As Boolean = False) As Tasks.Task
|
||||||
Try
|
Try
|
||||||
GridIsLoaded = False
|
GridIsLoaded = False
|
||||||
|
|
||||||
@ -964,9 +1016,9 @@ Public Class frmMain
|
|||||||
TimerRefresh.Stop()
|
TimerRefresh.Stop()
|
||||||
|
|
||||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||||
Await Load_Grid_Overview(FormLoad)
|
Await Load_Grid_Overview(FormLoad, ForceReload)
|
||||||
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
|
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
|
||||||
Await Load_single_Profile()
|
Await Load_single_Profile(ForceReload)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
GridView_Docs.HideLoadingPanel()
|
GridView_Docs.HideLoadingPanel()
|
||||||
@ -1455,7 +1507,7 @@ Public Class frmMain
|
|||||||
TimerRefresh.Start()
|
TimerRefresh.Start()
|
||||||
RefreshHelper.LoadViewInfo()
|
RefreshHelper.LoadViewInfo()
|
||||||
End Sub
|
End Sub
|
||||||
Async Function Load_Grid_Overview(FormLoad As Boolean) As Tasks.Task
|
Async Function Load_Grid_Overview(FormLoad As Boolean, Optional ForceReload As Boolean = False) As Tasks.Task
|
||||||
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
|
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
|
||||||
Layout_Single_Profile()
|
Layout_Single_Profile()
|
||||||
GRID_LOAD_TYPE = "OVERVIEW"
|
GRID_LOAD_TYPE = "OVERVIEW"
|
||||||
@ -1502,6 +1554,18 @@ Public Class frmMain
|
|||||||
|
|
||||||
If Not IsNothing(CURR_DT_OVERVIEW) Then
|
If Not IsNothing(CURR_DT_OVERVIEW) Then
|
||||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {CURR_DT_OVERVIEW.Rows.Count} rows")
|
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {CURR_DT_OVERVIEW.Rows.Count} rows")
|
||||||
|
Dim oADDED = GET_LAST_ADDED(CURR_DT_OVERVIEW)
|
||||||
|
Dim oChanged = GET_LAST_CHANGED(CURR_DT_OVERVIEW)
|
||||||
|
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN Then
|
||||||
|
LOGGER.Info("No changes on OverviewHash - so exit Refresh")
|
||||||
|
If ForceReload = False Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
OVERVIEW_ADDED_WHEN = oADDED
|
||||||
|
OVERVIEW_CHANGED_WHEN = oChanged
|
||||||
|
End If
|
||||||
NO_WORKFLOWITEMS = False
|
NO_WORKFLOWITEMS = False
|
||||||
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
||||||
If USER_LANGUAGE = "de-DE" Then
|
If USER_LANGUAGE = "de-DE" Then
|
||||||
@ -2040,7 +2104,7 @@ Public Class frmMain
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
LoadNavBar()
|
LoadNavBar()
|
||||||
Await Decide_Load(False)
|
Await Decide_Load(False, True)
|
||||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user