Imports System.ComponentModel Imports DD_LIB_Standards Public Class ClassInit Public _lizenzManager As clsLicenseManager Public Sub InitLogger() ClassLogger.Init("") End Sub Public Function InitDatabase() Dim dbResult As Boolean clsDatabase.GUI = True If MyConnectionString <> String.Empty Then dbResult = clsDatabase.Init(MyConnectionString) Else MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) ERROR_INIT = "NO DB-CONNECTION" frmConfig_Basic.ShowDialog() dbResult = clsDatabase.Init(MyConnectionString) InitBasics() End If If dbResult = False Then ERROR_INIT = "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 InitBasics() Dim configResult As Boolean configResult = LoadMyConfig() If configResult = False Then Throw New Exception("Unexpected error inm Initialisieren der Basis-Einstellungen. Weitere Informationen finden Sie in der Logdatei.") Else Return False End If End Function Public Shared Function InitUserLogin(Optional _User As String = "") Try If _User = "" Then USER_USERNAME = Environment.UserName Else USER_USERNAME = _User End If Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('{0}'))", USER_USERNAME) ClassLogger.Add(">> Login time: " & Now.ToString, False) ClassLogger.Add(">> Username: " & USER_USERNAME, False) Dim USER_DT As DataTable = clsDatabase.Return_Datatable(sql, True) If USER_DT.Rows.Count = 0 Then ClassLogger.Add(" - User '" & USER_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") USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE") DT_CLIENT_USER = clsDatabase.Return_Datatable("SELECT T.*, T1.CLIENT_NAME FROM TBDD_CLIENT_USER T,TBDD_CLIENT T1 WHERE T.CLIENT_ID = T1.GUID AND T.USER_ID = " & USER_GUID, True) Dim Access_right As Boolean = USER_DT.Rows(0).Item("MODULE_DDCBSEARCHER") If Access_right = False Then ClassLogger.Add(" - User: " & USER_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, "Attention:") Return False Else 'Am System anmelden clsLicense.Refresh_Licence(0) 'Am System anmelden sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_GUID) clsDatabase.Execute_non_Query(sql) sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Clipboard-Searcher'" If clsDatabase.Execute_non_Query(sql, True) = True Then End If sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Clipboard-Searcher','{2}','{3}')", USER_GUID, 0, My.Application.Info.Version.ToString, Environment.MachineName) clsDatabase.Execute_non_Query(sql) USER_IS_ADMIN = USER_DT.Rows(0).Item("RECORD_ADMIN") If USER_IS_ADMIN = True Then If ESC_Hidden = True Then 'frmLoginUserSelect.ShowDialog() ESC_Hidden = False If USER_USERNAME <> "" Then InitUserLogin(USER_USERNAME) End If End If ' 'Admin ' pageAdmin.Visible = True End If WD_UNICODE = clsDatabase.Execute_Scalar("SELECT WD_UNICODE FROM TBCS_CONFIGURATION WHERE GUID = 1") sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Clipboard-Searcher') AND CLIENT_ID = {0}", 0) Dim anzahl = clsDatabase.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= 'Clipboard-Searcher'" clsDatabase.Execute_non_Query(sql, True) ClassLogger.Add(" - logged out the user", False) Return False End If 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