Imports System.ComponentModel Imports DLLLicenseManager Public Class ClassInit Private _windreamPM As ClassPMWindream Public _lizenzManager As ClassLicenseManager Public Sub New() End Sub Public Sub InitLogger() ClassLogger.Init("", Environment.UserName) ClassLogger.Add("## ProcessManager für Windream gestartet - " & Now, False) If LogErrorsOnly = False Then 'Setzt DetailLog zurück LogErrorsOnly = False = False My.Settings.Save() End If 'Throw New Exception("Dummy Fehler!") End Sub Public Sub InitUserConfig() Settings_Load() End Sub Public Function InitDatabase() Dim dbResult As Boolean If MyConnectionString <> String.Empty Then dbResult = ClassDatabase.Init() Else MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) ERROR_STATE = "NO DB-CONNECTION" frmKonfig.ShowDialog() dbResult = ClassDatabase.Init() End If If dbResult = False Then ERROR_STATE = "FAILED DBCONNECTION" MsgBox("Error in init database. (Connection failed) More information in the logfile.", MsgBoxStyle.Critical) Return False Else Return True End If End Function Public Function InitWindream() Try ' Windream instanziieren _windreamPM = New ClassPMWindream() 'Windream initialisieren (Connection, Session, ... aufbauen) Return _windreamPM.Init() Catch ex As Exception MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") Return False End Try End Function Sub Refresh_Licence() Try Me._lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "") Dim lic As String = CURRENT_DT_CONFIG.Rows(0).Item("LIZENZEN") ' ClassDatabase.Execute_Scalar("SELECT LIZENZEN FROM TBPM_KONFIGURATION WHERE (GUID = 1)", MyConnectionString) Dim licString = Me._lizenzManager.DecodeLicenseKey(lic) Dim split() = licString.ToString.Split("#") If lic <> "" Then LICENSE_COUNT = split(0) Else LICENSE_COUNT = 0 End If If CDate(split(1)) <= CDate(Now.ToShortDateString) Then MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & split(1) & vbNewLine & "Die Lizenzanzahl wird auf 0 gesetzt" & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation) LICENSE_EXPIRED = True LICENSE_COUNT = 0 End If If LogErrorsOnly = False Then ClassLogger.Add(" >> license initialized....", False) LICENSE_PROFILES = split(2) Catch ex As Exception ClassLogger.Add("Unexpected error in Refresh license: " & ex.Message, True) MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Licensemanager:") End Try End Sub Public Sub InitUserLogin() Try USER_USERNAME = Environment.UserName Dim sql = String.Format("SELECT MAX(GUID) FROM TBDD_USER WHERE LOWER(USERNAME) = LOWER('{0}')", Environment.UserName) ClassLogger.Add(">> Username: " & USER_USERNAME, False) CURRENT_USERID = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) Dim userexists As Boolean = True If IsDBNull(CURRENT_USERID) Or IsNothing(CURRENT_USERID) Then userexists = False End If If userexists = False Then ClassLogger.Add("User '" & USER_USERNAME & "' not configured in Useradministration! (DBNull)", True) 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") 'Me.Close() ERROR_STATE = "NO USER" ' Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!") MsgBox("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!",MsgBoxStyle.Exclamation) Else If LogErrorsOnly = False Then ClassLogger.Add(" >> User exists....", False) 'Am System anmelden Refresh_Licence() Dim sql1 = "SELECT COUNT(GUID) FROM TBPM_PROFILE" Dim anz = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True) If anz > LICENSE_PROFILES Then MsgBox("Your amount of configurable profiles is limited to " & LICENSE_PROFILES.ToString & " profiles. You can not add more profiles!" & vbNewLine & "Please contact Digital Data for further licensedetails", MsgBoxStyle.Information) End If ClassAllgemeineFunktionen.LoginOut("LOGIN") sql = String.Format("SELECT * FROM TBDD_USER_MODULES T, TBDD_MODULES T1 WHERE T.MODULE_ID = T1.GUID AND UPPER(T1.SHORT_NAME) = UPPER('PM') AND T.USER_ID = {0}", CURRENT_USERID) DT_USER2MODULE = ClassDatabase.Return_Datatable(sql) If Not IsNothing(DT_USER2MODULE) Then If DT_USER2MODULE.Rows.Count = 1 Then USER_IS_ADMIN = DT_USER2MODULE.Rows(0).Item("IS_ADMIN") End If End If sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1) USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) If LogErrorsOnly = False Then ClassLogger.Add(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False) If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_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!", MsgBoxStyle.Critical, "Achtung:") ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Process Manager!", False) If USER_IS_ADMIN = False Then ClassAllgemeineFunktionen.LoginOut("LOGOUT") ClassLogger.Add(" - Wieder abgemeldet - START INCOMPLETE", False) ERROR_STATE = "START INCOMPLETE" End If End If 'Alles OK bis hierhin...nun die FolderwatchKonfig laden If LogErrorsOnly = False Then ClassLogger.Add(" >> Init Userlogin successfull completed....", False) End If Catch ex As Exception ClassLogger.Add("Unexpected Error in InitUserLogin: " & ex.Message, True) ERROR_STATE = "START INCOMPLETE" End Try End Sub Public Shared Sub InitBasics() Try Dim sql = String.Format("select * from TBPM_KONFIGURATION WHERE GUID = 1") CURRENT_DT_CONFIG = ClassDatabase.Return_Datatable(sql) Catch ex As Exception ClassLogger.Add("Unexpected Error in InitBasics: " & ex.Message, True) ERROR_STATE = "Basics not initialized" End Try End Sub End Class