Files
RecordOrganizer/app/DD-Record-Organiser/ClassInit.vb
SchreiberM ef2a87d849 MS_08.04
2016-04-08 14:55:25 +02:00

151 lines
7.3 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 Sub InitUserLogin()
Dim sql = sql_UserID
sql = sql.Replace("@user", Environment.UserName)
ClassLogger.Add(">> Neuanmeldung am System: " & 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 & " nicht in der Userverwaltung hinterlegt!", 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()
Throw New Exception("Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!")
Else
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:")
Throw New Exception("Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!")
'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 MODULE = 'RECORD_ORGANIZER'"
Dim anzahl = ClassDatabase.Execute_Scalar(sql)
USERS_LOGGED_IN = CInt(anzahl)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl Angemeldete User: " & anzahl.ToString, False)
'####
If LICENSE_COUNT < USERS_LOGGED_IN And LICENSE_EXPIRED = False Then
MsgBox("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!", MsgBoxStyle.Critical, "Achtung:")
ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & USERS_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Record-Organizer!", 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(" - Wieder abgemeldet", 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)
End Try
End If
'LabelLoggedIn.Caption = "Anzahl Angemeldete User: " & anzahl.ToString
End If
End If
End Sub
End Class