Refresh Overview only when changed
This commit is contained in:
parent
25e37980c6
commit
6c289a9a9e
@ -76,6 +76,23 @@
|
||||
INACTIVITY_DURATION = CInt(oInactivityDuration)
|
||||
Catch ex As Exception
|
||||
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
|
||||
Else
|
||||
LOGGER.Info($"Wrong oMode: {oMode}")
|
||||
|
||||
@ -74,6 +74,8 @@ Module ModuleRuntimeVariables
|
||||
Public POPUP_REMINDER_ACTIVE As Boolean = True
|
||||
Public INACTIVITY_DURATION As Integer = 0
|
||||
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_EXPIRED As Boolean = False
|
||||
|
||||
@ -14,11 +14,15 @@ Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
Imports System.Drawing.Imaging
|
||||
Imports DevExpress.XtraPrinting
|
||||
Imports System.Runtime.Serialization
|
||||
Imports System.Security.Cryptography
|
||||
|
||||
Public Class frmMain
|
||||
Private UserLoggedin As Integer = 0
|
||||
Private CURR_DT_VWPM_PROFILE_ACTIVE 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 YellowDocuments As Integer = 0
|
||||
@ -42,7 +46,42 @@ Public Class frmMain
|
||||
|
||||
Private DT_CHECKUSER_MODULE As DataTable
|
||||
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
|
||||
Try
|
||||
FormOpenClose = True
|
||||
@ -616,7 +655,7 @@ Public Class frmMain
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Async Function Load_single_Profile() As Tasks.Task
|
||||
Async Function Load_single_Profile(Optional ForceReload As Boolean = False) As Tasks.Task
|
||||
Try
|
||||
Load_Profiles_for_User()
|
||||
Layout_Single_Profile()
|
||||
@ -633,18 +672,31 @@ Public Class frmMain
|
||||
If result = 1 Then
|
||||
ToolStripLabelViewTape.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE
|
||||
|
||||
Dim sql = foundRows(0)("SQL_VIEW")
|
||||
Dim oSQL = foundRows(0)("SQL_VIEW")
|
||||
|
||||
sql = clsPatterns.ReplaceInternalValues(sql)
|
||||
sql = clsPatterns.ReplaceUserValues(sql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID)
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
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)
|
||||
sql = sql.Replace("@USERNAME", USER_USERNAME)
|
||||
sql = sql.Replace("@MACHINE_NAME", Environment.MachineName)
|
||||
sql = sql.Replace("@DATE", Now.ToShortDateString)
|
||||
sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQL = oSQL.Replace("@MACHINE_NAME", Environment.MachineName)
|
||||
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
||||
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
|
||||
NO_WORKFLOWITEMS = True
|
||||
@ -949,7 +1001,7 @@ Public Class frmMain
|
||||
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
|
||||
BringMonitor2Front()
|
||||
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
|
||||
GridIsLoaded = False
|
||||
|
||||
@ -964,9 +1016,9 @@ Public Class frmMain
|
||||
TimerRefresh.Stop()
|
||||
|
||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||
Await Load_Grid_Overview(FormLoad)
|
||||
Await Load_Grid_Overview(FormLoad, ForceReload)
|
||||
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
|
||||
Await Load_single_Profile()
|
||||
Await Load_single_Profile(ForceReload)
|
||||
End If
|
||||
|
||||
GridView_Docs.HideLoadingPanel()
|
||||
@ -1455,7 +1507,7 @@ Public Class frmMain
|
||||
TimerRefresh.Start()
|
||||
RefreshHelper.LoadViewInfo()
|
||||
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)")
|
||||
Layout_Single_Profile()
|
||||
GRID_LOAD_TYPE = "OVERVIEW"
|
||||
@ -1502,6 +1554,18 @@ Public Class frmMain
|
||||
|
||||
If Not IsNothing(CURR_DT_OVERVIEW) Then
|
||||
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
|
||||
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
|
||||
If USER_LANGUAGE = "de-DE" Then
|
||||
@ -2040,7 +2104,7 @@ Public Class frmMain
|
||||
End If
|
||||
|
||||
LoadNavBar()
|
||||
Await Decide_Load(False)
|
||||
Await Decide_Load(False, True)
|
||||
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||
End Sub
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user