79 lines
3.0 KiB
VB.net
79 lines
3.0 KiB
VB.net
Imports System.ComponentModel
|
|
Imports DevExpress.XtraSplashScreen
|
|
Imports DigitalData.Modules.Database
|
|
Imports DigitalData.Modules.Filesystem
|
|
|
|
Public Class ClassInit
|
|
Private _MainForm As frmMain
|
|
|
|
Public Sub New(ParentForm As frmMain)
|
|
_MainForm = ParentForm
|
|
End Sub
|
|
|
|
Public Sub InitializeApplication()
|
|
' Init Connectivity
|
|
' - Database / Service / Application Server
|
|
' (Init Licensing)
|
|
' Init User
|
|
' Zeile -> Objekt / NameValue List
|
|
|
|
If Not InitializeDatabase() Then
|
|
MsgBox("Verbindung konnte nicht hergestellt werden! Anwendung wird beendet", MsgBoxStyle.Critical, _MainForm.Text)
|
|
Application.Exit()
|
|
Else
|
|
Dim oInit As New ClassInitLoader()
|
|
oInit.AddStep("Checking connectivity..", AddressOf CheckConnectivity, True)
|
|
oInit.AddStep("Checking connectivity..2", AddressOf CheckConnectivity, True)
|
|
oInit.AddStep("Checking connectivity..3", AddressOf CheckConnectivity, True)
|
|
oInit.AddStep("Checking connectivity..4", AddressOf CheckConnectivity, True)
|
|
oInit.AddStep("Checking connectivity..5", AddressOf CheckConnectivity, True)
|
|
oInit.AddStep("Checking connectivity..6", AddressOf CheckConnectivity, True)
|
|
|
|
AddHandler oInit.ProgressChanged, AddressOf ProgressChanged
|
|
AddHandler oInit.InitCompleted, AddressOf InitCompleted
|
|
|
|
SplashScreenManager.ActivateParentOnSplashFormClosing = True
|
|
SplashScreenManager.ShowForm(_MainForm, GetType(frmSplash), False, False)
|
|
|
|
oInit.Run()
|
|
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ProgressChanged(sender As Object, Progress As ClassInitLoader.InitProgress)
|
|
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetProgress, Progress.CurrentPercent)
|
|
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetActionName, Progress.CurrentStep.Name)
|
|
End Sub
|
|
|
|
Private Sub InitCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
|
|
SplashScreenManager.CloseForm(False)
|
|
End Sub
|
|
|
|
Private Sub CheckConnectivity()
|
|
Dim oCrypt As New EncryptionLegacy("!35452didalog=")
|
|
Dim oBuilder = My.SystemConfig.GetConnectionStringBuilder(My.SystemConfig.ConnectionString)
|
|
oBuilder.Password = oCrypt.DecryptData(oBuilder.Password)
|
|
Dim oDecryptedConnectionString = oBuilder.ToString
|
|
|
|
My.Database = New MSSQLServer(My.LogConfig, oDecryptedConnectionString)
|
|
|
|
If My.Database.DBInitialized = False Then
|
|
Throw New ApplicationException()
|
|
End If
|
|
End Sub
|
|
|
|
Private Function InitializeDatabase() As Boolean
|
|
If My.SystemConfig.ConnectionString = String.Empty Then
|
|
Dim oResult = frmConfigDatabase.ShowDialog()
|
|
|
|
If oResult = DialogResult.Cancel Then
|
|
MsgBox("Es wurde keine Datenbank hinterlegt. Die Anwendung wird beendet.")
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
End Class
|