Imports System.ComponentModel Imports System.IO Public Class ClassInit Public Sub New() End Sub Public Sub InitLogger() ClassLogger.Init("", Environment.UserName) End Sub Public Function InitDatabase() Try Dim dbResult As Boolean MySettings_Load() If LoadFileExclusion() = False Then MsgBox("The Exclude File Structure for files in Folderwatch could not be initialized!", MsgBoxStyle.Information) End If If MyConnectionString <> String.Empty Then dbResult = ClassDatabase.Init() Else frmConfig_Basic.ShowDialog() dbResult = ClassDatabase.Init() End If If dbResult = False Then Throw New Exception("Find more information in the logfile.") End If Return True Catch ex As Exception MsgBox("Unexpected Error in Init Database:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) Return False End Try End Function Public Sub InitAddons() Try Dim CurrentDir As String = My.Application.Info.DirectoryPath ' Dim Sql As String = "SELECT PATH_ADDONS from TBPMO_KONFIGURATION WHERE GUID = 1" Dim AddonPath As String = MY_ADDON_PATH ' ClassDatabase.Execute_Scalar(Sql) Dim Dev_AddonPath As String = System.IO.Path.GetFullPath(System.IO.Path.Combine(CurrentDir, "..\..\..\..\app")) If AddonPath Is Nothing OrElse AddonPath = "" Then ' Addon Pfad in der Datenbank ist leer Dim path = System.IO.Path.Combine(CurrentDir, "Addons") Dim AddonDir As New DirectoryInfo(path) If AddonDir.Exists Then AddonPath = path Else AddonPath = Dev_AddonPath End If Else ' Addon Pfad steht in der Datenbank Dim path = AddonPath Dim AddonDir As New DirectoryInfo(path) If (AddonDir.Exists) Then If AddonDir.Name = "Addons" Then AddonPath = path Else AddonPath = Dev_AddonPath End If Else AddonPath = Dev_AddonPath End If End If MY_ADDON_PATH = AddonPath SaveMySettingsValue("PATH_ADDON", MY_ADDON_PATH, "ConfigMain") Catch ex As Exception MsgBox("Unexpected Error in InitAddons:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Public Sub InitBasics2() Try Dim configResult As Boolean configResult = Settings_LoadBasicConfig() If configResult = False Then Throw New Exception("Find more information in the logfile.") End If Catch ex As Exception MsgBox("Unexpected Error in InitBasics2:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Public Shared Function InitUserLogin() Try Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('{0}'))", Environment.UserName) ClassLogger.Add(">> Login at: " & Now.ToString, False) ClassLogger.Add(">> Username: " & Environment.UserName, False) Dim USER_DT As DataTable = ClassDatabase.Return_Datatable(sql) If USER_DT.Rows.Count = 0 Then ClassLogger.Add(" - User '" & Environment.UserName & "' not listed in Useradminsitration!", False) 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") 'Me.Close() Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.") MsgBox(msg, MsgBoxStyle.Exclamation) Return False Else USER_GUID = USER_DT.Rows(0).Item("GUID") USERID_FK_INT_ECM = USER_DT.Rows(0).Item("USERID_FK_INT_ECM") USER_WAN = USER_DT.Rows(0).Item("WAN_ENVIRONMENT") 'ClassDatabase.Execute_Scalar("SELECT WAN_ENVIRONMENT FROM TBDD_USER WHERE GUID = " & USER_GUID, False) USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE") USER_DATE_FORMAT = USER_DT.Rows(0).Item("DATE_FORMAT") 'USER_LANGUAGE = ClassDatabase.Execute_Scalar("SELECT LANGUAGE FROM TBDD_USER WHERE GUID = " & USER_GUID, False) Dim DT_CLIENT_USER As DataTable = ClassDatabase.Return_Datatable("SELECT CLIENT_ID FROM TBDD_CLIENT_USER WHERE USER_ID = " & USER_GUID) 'Dim i As Integer = 0 'For Each row As DataRow In DT_CLIENT_USER.Rows ' If i = 0 Then ' USER_CLIENTS_COMMA_SEPERATED = row.Item(0).ToString ' Else ' USER_CLIENTS_COMMA_SEPERATED = USER_CLIENTS_COMMA_SEPERATED & "," & row.Item(0).ToString ' End If ' i += 1 'Next Dim Right_RO As Boolean = USER_DT.Rows(0).Item("MODULE_RECORD_ORG") If Right_RO = False Then ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False) 'MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") Dim msg = String.Format("Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!") If USER_LANGUAGE <> "de-DE" Then msg = String.Format("You are not authorized for using this module." & vbNewLine & "Please contact the admin.") End If MsgBox(msg, MsgBoxStyle.Exclamation) Return False 'Me.Close() Else 'Am System anmelden ClassLicence.Refresh_Licence() 'Am System anmelden sql = "UPDATE TBDD_USER SET LOGGED_IN = @LogInOut, LOGGED_WHERE = '@ANGEMELDETWO' WHERE (LOWER(USERNAME) = LOWER('@user'))" sql = sql.Replace("@LogInOut", 1) sql = sql.Replace("@ANGEMELDETWO", Environment.MachineName) sql = sql.Replace("@user", Environment.UserName) ClassDatabase.Execute_non_Query(sql) sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'RECORD_ORGANIZER'" If ClassDatabase.Execute_non_Query(sql, True) = True Then End If sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & USER_GUID & ",'RECORD_ORGANIZER')" ClassDatabase.Execute_non_Query(sql) sql = "SELECT RECORD_ADMIN FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))" sql = sql.Replace("@user", Environment.UserName) USER_IS_ADMIN = ClassDatabase.Execute_Scalar(sql) 'If USER_IS_ADMIN = True Then ' 'Admin ' pageAdmin.Visible = True 'End If sql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('RECORD_ORGANIZER')" Dim anzahl = ClassDatabase.Execute_Scalar(sql) USERS_LOGGED_IN = CInt(anzahl) If LogErrorsOnly = False Then ClassLogger.Add(" >> User# logged in: " & anzahl.ToString, False) '#### If LICENSE_COUNT < USERS_LOGGED_IN And LICENSE_EXPIRED = False Then Dim msg = String.Format("Die Anzahl der aktuell angemeldeten User (" & USERS_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!") If USER_LANGUAGE <> "de-DE" Then msg = String.Format("The number of logged Users (" & USERS_LOGGED_IN.ToString & ") exceeds the number of licenses." & vbNewLine & _ "Number of licenses: " & LICENSE_COUNT.ToString & vbNewLine & "Please contact Your admin!") End If MsgBox(msg, MsgBoxStyle.Exclamation) ClassLogger.Add(" >> The number of logged Users (" & USERS_LOGGED_IN.ToString & ") exceeds the number of licenses (" & LICENSE_COUNT & ") ", False) If USER_IS_ADMIN = False Then 'Anmeldung wieder herausnehmen sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'RECORD_ORGANIZER'" ClassDatabase.Execute_non_Query(sql, True) ClassLogger.Add(" - logged out the user", False) Return False End If Else Try 'Die FolderWatch starten Dim sql1 = "SELECT FOLDER_PATH FROM TBPMO_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_GUID Dim folderwatch_SCAN = ClassDatabase.Execute_Scalar(sql1, True) If Not folderwatch_SCAN Is Nothing Then CURRENT_SCAN_FOLDERWATCH = folderwatch_SCAN If FWSCAN_started = True Then ClassFolderWatcher.StartStop_FolderWatchSCAN() End If End If Catch ex As Exception ClassLogger.Add("Unexpected Error in Init_Folderwatch: " & ex.Message, True) Return False End Try End If Return True 'LabelLoggedIn.Caption = "Anzahl Angemeldete User: " & anzahl.ToString End If End If Catch ex As Exception ClassLogger.Add("Unexpected Error in InitUserLogin: " & ex.Message, True) MsgBox("Unexpected Error in InitUserLogin: " & ex.Message, MsgBoxStyle.Critical) Return False End Try End Function End Class