From 5362733f5eef2598a73f6c63952519f9cf5381bf Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 16 Oct 2020 12:39:43 +0200 Subject: [PATCH] MS Inactivity 1 --- .../ClassAllgemeineFunktionen.vb | 19 +++++- app/DD_PM_WINDREAM/ClassParamRefresh.vb | 7 +++ app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj | 2 +- app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb | 2 + app/DD_PM_WINDREAM/frmMain.Designer.vb | 7 +++ app/DD_PM_WINDREAM/frmMain.resx | 62 ++++++++++++------- app/DD_PM_WINDREAM/frmMain.vb | 37 ++++++++++- app/DD_PM_WINDREAM/frmMonitor.vb | 1 - app/DD_PM_WINDREAM/frmValidator.vb | 4 +- 9 files changed, 111 insertions(+), 30 deletions(-) diff --git a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb index 964f267..8bbb184 100644 --- a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb +++ b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb @@ -43,10 +43,23 @@ Public Class ClassAllgemeineFunktionen If LoginorOut = "LOGIN" Then Sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Process-Manager','{2}','{3}')", USER_ID, 1, My.Application.Info.Version.ToString, Environment.MachineName) Else - Sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Process-Manager')" + Sql = $"DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager') AND UPPER(MACHINE_NAME) = UPPER('{Environment.MachineName}')" End If - If ClassDatabase.Execute_non_Query(Sql, True) = True Then - LOGGER.Debug("User logged in....") + If ClassDatabase.Execute_non_Query(Sql, "LOGIN/OUT") = True Then + Try + If LoginorOut = "LOGOUT" Then + If INACTIVITYRecognized = True Then + Dim oSQL As String = $"UPDATE TBDD_USER_LOGIN_OUT SET COMMENT = 'Inactivity Detected' WHERE GUID = (SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT + WHERE USER_ID = {USER_ID} AND MODULE = 'Process-Manager' AND MACHINE_NAME = '{Environment.MachineName}')" + ClassDatabase.Execute_non_Query(Sql, "Inactivity insert") + End If + End If + Catch ex As Exception + LOGGER.Warn($"Unexpected Error in logging Inactivity [{ex.Message}] ") + End Try + + + LOGGER.Debug($"User {LoginorOut} successfully!") Return True Else LOGGER.Info("User could not be logged in/out....") diff --git a/app/DD_PM_WINDREAM/ClassParamRefresh.vb b/app/DD_PM_WINDREAM/ClassParamRefresh.vb index f38f4b0..4b16652 100644 --- a/app/DD_PM_WINDREAM/ClassParamRefresh.vb +++ b/app/DD_PM_WINDREAM/ClassParamRefresh.vb @@ -70,6 +70,13 @@ ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "") CONV_IDENTIFICATION = oIdent + ElseIf oMode.StartsWith("PM.INACTIVITY_DURATION") Then + Dim oInactivityDuration = oMode.Replace("PM.INACTIVITY_DURATION=", "") + Try + INACTIVITY_DURATION = CInt(oInactivityDuration) + Catch ex As Exception + INACTIVITY_DURATION = 0 + End Try Else LOGGER.Info($"Wrong oMode: {oMode}") End If diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index b583cab..03b212d 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -43,7 +43,7 @@ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 false UnusedCode.ruleset - true + false x86 diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index 3707f44..7d0d34c 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -72,6 +72,8 @@ Module ModuleRuntimeVariables Public ADDITIONAL_TITLE As String = "" Public CONV_IDENTIFICATION As String = "Username" Public POPUP_REMINDER_ACTIVE As Boolean = True + Public INACTIVITY_DURATION As Integer = 0 + Public INACTIVITYRecognized As Boolean = False Public LICENSE_COUNT As Integer = 0 Public LICENSE_EXPIRED As Boolean = False diff --git a/app/DD_PM_WINDREAM/frmMain.Designer.vb b/app/DD_PM_WINDREAM/frmMain.Designer.vb index 6f39c1d..e2f8043 100644 --- a/app/DD_PM_WINDREAM/frmMain.Designer.vb +++ b/app/DD_PM_WINDREAM/frmMain.Designer.vb @@ -175,6 +175,8 @@ Partial Class frmMain Me.PrintPreviewBarCheckItem18 = New DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem() Me.PrintPreviewBarCheckItem19 = New DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem() Me.XtraSaveFileDialog1 = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components) + Me.TimerInactivity = New System.Windows.Forms.Timer(Me.components) + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() @@ -1355,6 +1357,9 @@ Partial Class frmMain ' Me.XtraSaveFileDialog1.FileName = "XtraSaveFileDialog1" ' + 'TimerInactivity + ' + ' 'frmMain ' Me.Appearance.Options.UseFont = True @@ -1551,4 +1556,6 @@ Partial Class frmMain Friend WithEvents tslblObjectCount As ToolStripLabel Friend WithEvents ExportierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog + Friend WithEvents TimerInactivity As Timer + Friend WithEvents Timer1 As Timer End Class diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx index 58673c6..d0ccbd2 100644 --- a/app/DD_PM_WINDREAM/frmMain.resx +++ b/app/DD_PM_WINDREAM/frmMain.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAAcQBBgHEAQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAdQBBgHUAQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -266,6 +266,12 @@ 266, 6 + + 200, 22 + + + Datei als Link versenden + 269, 26 @@ -604,12 +610,6 @@ 3 - - 200, 22 - - - Datei als Link versenden - 908, 17 @@ -1327,6 +1327,18 @@ 0, 0 + + Allgemein + + + Funktionen + + + Verwaltung + + + Grundeinstellungen + Start @@ -1363,18 +1375,6 @@ 5 - - Allgemein - - - Funktionen - - - Verwaltung - - - Grundeinstellungen - RibbonPage2 @@ -2498,6 +2498,18 @@ DevExpress.XtraEditors.XtraSaveFileDialog, DevExpress.XtraDialogs.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + TimerInactivity + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Timer1 + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + frmMain @@ -2710,9 +2722,6 @@ &Ansicht - - &Hintergrund - &Seiten Layout @@ -2725,6 +2734,9 @@ Bars + + &Hintergrund + PDF Dokument @@ -2842,4 +2854,10 @@ 919, 134 + + 1078, 134 + + + 17, 173 + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index c98a258..7859cbb 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -199,9 +199,11 @@ Public Class frmMain bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Always End If Check_Timer_Notification() + Check_Timer_Inactivity() formShown = True Restore_Form_Position() + If IDB_ACTIVE = False And ERROR_STATE = "" Then Try If Init_windream() = True Then @@ -254,6 +256,22 @@ Public Class frmMain End Try + End Sub + Public Sub Check_Timer_Inactivity() + Try + If INACTIVITY_DURATION <> 0 Then + TimerInactivity.Stop() + TimerInactivity.Interval = INACTIVITY_DURATION * 60000 + TimerInactivity.Start() + Else + TimerInactivity.Enabled = False + TimerInactivity.Stop() + End If + Catch ex As Exception + LOGGER.Error(ex) + + End Try + End Sub Sub Restore_Form_Position() Try @@ -1192,8 +1210,6 @@ Public Class frmMain CURRENT_DOC_GUID = 0 CURRENT_ProfilGUID = oHitProfilID LOGGER.Debug($"Item_Scope: hitInfo.InGroupRow...oHitProfilID [{oHitProfilID}]") - - Load_Profil_from_Grid(oHitProfilID) ElseIf hitInfo.InDataRow Then @@ -2222,4 +2238,21 @@ Public Class frmMain End If End Sub + + Private Sub TimerInactivity_Tick(sender As Object, e As EventArgs) Handles TimerInactivity.Tick + If Application.OpenForms().OfType(Of frmValidator).Any Then + Check_Timer_Inactivity() + Exit Sub + End If + If Application.OpenForms().OfType(Of frmAdministration).Any Then + Check_Timer_Inactivity() + Exit Sub + End If + Try + INACTIVITYRecognized = True + Application.Exit() + Catch ex As Exception + LOGGER.Error(ex.Message) + End Try + End Sub End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMonitor.vb b/app/DD_PM_WINDREAM/frmMonitor.vb index a483274..68abd84 100644 --- a/app/DD_PM_WINDREAM/frmMonitor.vb +++ b/app/DD_PM_WINDREAM/frmMonitor.vb @@ -166,7 +166,6 @@ Public Class frmMonitor End Sub Sub Load_Grid_Data() Try - Application. FormShown = False Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG" DT_MONITOR_KONFIG = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data1") diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 84c4214..2d3b02f 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -410,8 +410,10 @@ Public Class frmValidator End Try My.Settings.frmValidatorSize = Me.Size My.Settings.Save() + If INACTIVITY_DURATION <> 0 Then frmMain.Check_Timer_Inactivity() + Try - _frmValidatorSearch.Close() + _frmValidatorSearch.Close() Catch ex As Exception End Try