2016-05-17 14:05:44 +02:00

178 lines
9.1 KiB
VB.net

Imports System.ComponentModel
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 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 = sql_UserID
sql = sql.Replace("@user", Environment.UserName)
ClassLogger.Add(">> Login at: " & Now.ToString, False)
ClassLogger.Add(">> Username: " & Environment.UserName, False)
USER_GUID = ClassDatabase.Execute_Scalar(sql)
If USER_GUID Is Nothing 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("Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!")
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.")
End If
MsgBox(msg, MsgBoxStyle.Exclamation)
Return False
Else
USER_WAN = ClassDatabase.Execute_Scalar("SELECT WAN_ENVIRONMENT FROM TBDD_USER WHERE GUID = " & USER_GUID, False)
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
sql = "SELECT MODULE_RECORD_ORG FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
sql = sql.Replace("@user", Environment.UserName)
If ClassDatabase.Execute_Scalar(sql) = 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