CONFIG.UserConfigPath

This commit is contained in:
2020-12-22 14:33:43 +01:00
parent e326a7b660
commit 650ebd8848
8 changed files with 341 additions and 171 deletions

View File

@@ -16,6 +16,7 @@ Imports System.Drawing.Imaging
Imports DevExpress.XtraPrinting
Imports System.Runtime.Serialization
Imports System.Security.Cryptography
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Public Class frmMain
Private UserLoggedin As Integer = 0
@@ -170,50 +171,50 @@ Public Class frmMain
LOGGER.Debug("Initializing MainForm....")
If ERROR_STATE = "NO USER" Then
Dim oDT As DataTable = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("No Userconfig")
Dim oDT As DataTable = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("No Userconfig")
MsgBox(oDT.Rows(0).Item("STRING1") & vbNewLine & oDT.Rows(0).Item("STRING2"), MsgBoxStyle.Critical, "Exception")
Me.Close()
ElseIf USER_IN_MODULE = False Then
If USER_IS_ADMIN = False Then
Dim oDT As DataTable = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("No Module Configuration")
MsgBox(oDT.Rows(0).Item("STRING1") & vbNewLine & oDT.Rows(0).Item("STRING2"), MsgBoxStyle.Critical, "Exception")
Me.Close()
ElseIf USER_IN_MODULE = False Then
End If
Else
LOGGER.Info("Username: " & USER_USERNAME, False)
'Wenn license abgelaufen und der User nicht admin ist!
If LICENSE_EXPIRED = True Then
If USER_IS_ADMIN = False Then
Dim oDT As DataTable = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("No Module Configuration")
MsgBox(oDT.Rows(0).Item("STRING1") & vbNewLine & oDT.Rows(0).Item("STRING2"), MsgBoxStyle.Critical, "Exception")
MsgBox("License expired or invalid!" & vbNewLine & "Please contact the AdminTeam!", MsgBoxStyle.Critical, "Attention:")
Me.Close()
End If
Else
LOGGER.Info("Username: " & USER_USERNAME, False)
'Wenn license abgelaufen und der User nicht admin ist!
If LICENSE_EXPIRED = True Then
If USER_IS_ADMIN = False Then
MsgBox("License expired or invalid!" & vbNewLine & "Please contact the AdminTeam!", MsgBoxStyle.Critical, "Attention:")
Me.Close()
End If
End If
If USER_IS_ADMIN = True Then
RibbonPageGroup3.Visible = True
'Anzahl der eingeloggten User
bsiUserLoggedIn.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If USER_LANGUAGE <> "de-DE" Then
bsiUserLoggedIn.Caption = "License Count: " & USERCOUNT_LOGGED_IN
Else
bsiUserLoggedIn.Caption = "Lizenz-Zähler: " & USERCOUNT_LOGGED_IN
End If
If GHOSTMODE_ACTIVE = True Then
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Else
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
End If
If USER_IS_ADMIN = True Then
RibbonPageGroup3.Visible = True
'Anzahl der eingeloggten User
bsiUserLoggedIn.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If USER_LANGUAGE <> "de-DE" Then
bsiUserLoggedIn.Caption = "License Count: " & USERCOUNT_LOGGED_IN
Else
bsiUserLoggedIn.Caption = "Lizenz-Zähler: " & USERCOUNT_LOGGED_IN
End If
If GHOSTMODE_ACTIVE = True Then
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Else
RibbonPageGroup3.Visible = False
bsiUserLoggedIn.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
If MONITORING_ACTIVE = False Then
RibbonPageGroup2.Visible = False
Else
RibbonPageGroup2.Visible = True
End If
Else
RibbonPageGroup3.Visible = False
bsiUserLoggedIn.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
If MONITORING_ACTIVE = False Then
RibbonPageGroup2.Visible = False
Else
RibbonPageGroup2.Visible = True
End If
Try
If SEARCH1 <> String.Empty Then
Dim oindex = SEARCH1.IndexOf("~")
@@ -244,76 +245,86 @@ Public Class frmMain
End Try
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in User Check:")
End Try
bsiUser.Caption = USER_USERNAME
GetBaseData("Load")
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in User Check:")
End Try
bsiUser.Caption = USER_USERNAME
GetBaseData("Load")
Try
If TimerRefresh.Enabled = False Then
TimerRefresh.Start()
End If
Timer5Mins.Start()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in LoadForm - Step 4: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try
LoadNavBar()
Try
If SHOW_CHARTS = True Then
If BASEDATA_DT_CHARTS.Rows.Count = 0 Then
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Else
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
Catch ex As Exception
LOGGER.Warn($"Could not load Charts: {ex.Message}")
End Try
If MONITORING_ACTIVE = False Then
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Try
If TimerRefresh.Enabled = False Then
TimerRefresh.Start()
End If
Check_Timer_Notification()
Check_Timer_Inactivity()
FormShown = True
Restore_Form_Position()
Timer5Mins.Start()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in LoadForm - Step 4: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try
LoadNavBar()
Try
If SHOW_CHARTS = True Then
If BASEDATA_DT_CHARTS.Rows.Count = 0 Then
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Else
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
Catch ex As Exception
LOGGER.Warn($"Could not load Charts: {ex.Message}")
End Try
If MONITORING_ACTIVE = False Then
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
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
WINDREAM.Start_WMCC_andCo()
If Not IsNothing(WINDREAM.oSession) Then
If WINDREAM.oSession.aLoggedin = False Then
MsgBox("You could not be logged in to windream. Please check the log.", MsgBoxStyle.Critical)
End If
Else
MsgBox("Login on windream was not possible. Please check the log.", MsgBoxStyle.Critical)
If IDB_ACTIVE = False And ERROR_STATE = "" Then
Try
If Init_windream() = True Then
WINDREAM.Start_WMCC_andCo()
If Not IsNothing(WINDREAM.oSession) Then
If WINDREAM.oSession.aLoggedin = False Then
MsgBox("You could not be logged in to windream. Please check the log.", MsgBoxStyle.Critical)
End If
Else
MsgBox("Login on windream was not possible. Please check the log.", MsgBoxStyle.Critical)
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in windream-login - Step 5: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try
Else
SOURCE_INIT = Init_IDB()
If SOURCE_INIT = True Then
Dim oSQL = $"SELECT SQL_COMMAND FROM TBDD_SQL_COMMANDS WHERE TITLE = 'PM_IDB_DOC_DATA'"
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBDD_SQL_COMMANDS", $"TITLE = 'PM_IDB_DOC_DATA'")
Dim oDT = oTableResult.Table
If Not IsNothing(oDT) Then
IDB_DOC_DATA_SQL = oDT.Rows(0).Item("SQL_COMMAND")
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in windream-login - Step 5: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try
Else
SOURCE_INIT = Init_IDB()
If SOURCE_INIT = True Then
Dim oSQL = $"SELECT SQL_COMMAND FROM TBDD_SQL_COMMANDS WHERE TITLE = 'PM_IDB_DOC_DATA'"
Else
IDB_DOC_DATA_SQL = ClassDatabase.Execute_Scalar(oSQL, CONNECTION_STRING_READ, "frmMainload-PM_IDPDOCDATA")
LOGGER.Debug($"Got the IDB_DOC_DATA_SQL..{IDB_DOC_DATA_SQL}")
End If
bsiGeneralInfo.Caption = "IDB active"
LOGGER.Debug($"Got the IDB_DOC_DATA_SQL..{IDB_DOC_DATA_SQL}")
End If
bsiGeneralInfo.Caption = "IDB active"
If EDMIAppServerActive = True Then
BarStaticItemAppServer.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Else
@@ -321,14 +332,14 @@ Public Class frmMain
End If
End If
If BASIC_CONF_VISIBLE = False Then
RibbonPageGroupBasicConf.Visible = False
Else
RibbonPageGroupBasicConf.Visible = True
End If
LOGGER.Debug("MainForm initialized!")
If BASIC_CONF_VISIBLE = False Then
RibbonPageGroupBasicConf.Visible = False
Else
RibbonPageGroupBasicConf.Visible = True
End If
LOGGER.Debug("MainForm initialized!")
FormOpenClose = False
FormOpenClose = False
End Sub
Sub Check_Timer_Notification()
Try
@@ -442,7 +453,7 @@ Public Class frmMain
Private Function GetXML_OverviewLayoutName()
Dim Filename As String = String.Format("DevExpressGridViewOverview_UserLayout_{0}.xml", GRID_LOAD_TYPE)
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
Return System.IO.Path.Combine(CONFIG.UserConfigPath, Filename)
End Function
Private Sub SaveGridLayout()
@@ -1508,7 +1519,12 @@ Public Class frmMain
If SOURCE_INIT = True Then
CURRENT_ProfilGUID = oProfileId
CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID), "tsmiMarkedFilesFinish_Click")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBPM_PROFILE_FINAL_INDEXING", $"PROFIL_ID = {CURRENT_ProfilGUID}")
CURRENT_DT_FINAL_INDEXING = oTableResult.Table
Else
CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID), "tsmiMarkedFilesFinish_Click")
End If
CURRENT_DT_PROFILE.Clear()
Dim oExpression = $"GUID = {CURRENT_ProfilGUID}"
CURRENT_DT_PROFILES.Select(oExpression).CopyToDataTable(CURRENT_DT_PROFILE, LoadOption.PreserveChanges)
@@ -2024,17 +2040,38 @@ Public Class frmMain
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.SaveViewInfo()
End Sub
Sub LoadCURRENT_DT_PROFILES()
CURRENT_DT_PROFILES = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE where ACTIVE = 1", "LoadCURRENT_DT_PROFILES")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBPM_PROFILE")
CURRENT_DT_PROFILES = oTableResult.Table
Else
CURRENT_DT_PROFILES = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE where ACTIVE = 1", "LoadCURRENT_DT_PROFILES")
End If
End Sub
Sub LoadVWPM_CONTROL_INDEX()
Dim oSQL = $"SELECT * FROM VWPM_CONTROL_INDEX ORDER BY PROFIL_ID,Y_LOC, X_LOC"
DTVWCONTROLS_INDEX = ClassDatabase.Return_Datatable(oSQL, "LoadVWPM_CONTROL_INDEX")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("VWPM_CONTROL_INDEX")
DTVWCONTROLS_INDEX = oTableResult.Table
Else
DTVWCONTROLS_INDEX = ClassDatabase.Return_Datatable(oSQL, "LoadVWPM_CONTROL_INDEX")
End If
End Sub
Sub GetBaseData(pMode As String)
Dim oStopWatch As New RefreshHelper.SW("GetBaseData")
Try
Dim oSQL = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED)
DT_CHECKUSER_MODULE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData1")
Dim DT_CHECKUSER_MODULE As DataTable
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBDD_USER_MODULE", $"USERNAME = '{USER_USERNAME.ToLower}' AND MODULE_SHORT = 'PM'")
DT_CHECKUSER_MODULE = oTableResult.Table
Else
DT_CHECKUSER_MODULE = ClassDatabase.Return_Datatable(oSQL, "GetBaseData1")
End If
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(10)
ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE)
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(20)
@@ -2047,12 +2084,24 @@ Public Class frmMain
CURRENT_DT_PROFILE = CURRENT_DT_PROFILES.Clone()
End If
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(40)
BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "GetBaseData3")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBPM_PROFILE_SEARCH", "TYPE = 'DOC'", "PROFILE_ID,TAB_INDEX")
BASEDATA_DT_PROFILES_SEARCHES_DOC = oTableResult.Table
Else
BASEDATA_DT_PROFILES_SEARCHES_DOC = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "InitBasics5")
End If
If pMode = "Load" Then
BASEDATA_DT_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone()
End If
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(50)
BASEDATA_DT_PROFILES_SEARCHES_SQL = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'SQL' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "GetBaseData4")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBPM_PROFILE_SEARCH", "TYPE = 'SQL'", "PROFILE_ID,TAB_INDEX")
BASEDATA_DT_PROFILES_SEARCHES_SQL = oTableResult.Table
Else
BASEDATA_DT_PROFILES_SEARCHES_SQL = ClassDatabase.Return_Datatable("select * from TBPM_PROFILE_SEARCH where TYPE = 'SQL' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX", "InitBasics5")
End If
If pMode = "Load" Then
BASEDATA_DT_PROFILE_SEARCHES_SQL = BASEDATA_DT_PROFILES_SEARCHES_SQL.Clone()
End If
@@ -2063,7 +2112,15 @@ Public Class frmMain
DTVWCONTROL_INDEX = DTVWCONTROLS_INDEX.Clone()
End If
oSQL = $"SELECT * FROM TBPM_PROFILE_CONTROLS WHERE LEN(ISNULL(SQL_UEBERPRUEFUNG,'')) > 0 AND CTRL_TYPE <> 'BUTTON'"
DTCONTROLS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL, "GetBaseData5")
If EDMIAppServerActive = True Then
Dim oTableResult As TableResult = _Client.GetDatatableByName("DTCONTROLS_WITH_SQL")
DTCONTROLS_WITH_SQL = oTableResult.Table
Else
DTCONTROLS_WITH_SQL = ClassDatabase.Return_Datatable(oSQL, "GetBaseData5")
End If
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(85)
If pMode = "bwBasicData" Then bwBasicData.ReportProgress(100)
Catch ex As Exception