Add Template Selection, load templates from Database
This commit is contained in:
@@ -1,3 +1,83 @@
|
||||
Public Class frmMain
|
||||
Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
Imports DigitalData.Controls.SQLConfig
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports DigitalData.Modules.Config
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports MultiTool.Shared.Schemas
|
||||
|
||||
Public Class frmMain
|
||||
Private LogConfig As LogConfig
|
||||
Private Logger As Logger
|
||||
Private ConfigManager As ConfigManager(Of [Shared].Config)
|
||||
Private Database As MSSQLServer
|
||||
Private SchemaLoader As SchemaLoader
|
||||
Private GridBuilder As GridBuilder
|
||||
|
||||
Private Async Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, Application.CompanyName, Application.ProductName)
|
||||
Logger = LogConfig.GetLogger()
|
||||
Logger.Info("Starting {0}, Version [{1}]", Application.ProductName, Application.ProductVersion)
|
||||
|
||||
Text = String.Format(My.Resources.frmShared._0____WebService_Multitool_für_WinLine, My.Resources.frmShared.Auswahl_der_Vorlage)
|
||||
|
||||
ConfigManager = New ConfigManager(Of [Shared].Config)(LogConfig,
|
||||
Application.UserAppDataPath,
|
||||
Application.CommonAppDataPath,
|
||||
Application.StartupPath
|
||||
)
|
||||
|
||||
GridBuilder = New GridBuilder(GridViewTemplates)
|
||||
GridBuilder.WithDefaults.WithReadOnlyOptions.WithClipboardHandler()
|
||||
GridViewTemplates.OptionsView.ShowAutoFilterRow = False
|
||||
|
||||
' If ConnectionString does not exist, show SQL Config Form
|
||||
If ConfigManager.Config.ConnectionString = String.Empty Then
|
||||
Dim oForm As New frmSQLConfig(LogConfig) With {
|
||||
.FormTitle = Application.ProductName
|
||||
}
|
||||
Dim oResult = oForm.ShowDialog()
|
||||
|
||||
If oResult = DialogResult.OK Then
|
||||
ConfigManager.Config.ConnectionString = oForm.ConnectionString
|
||||
ConfigManager.Save()
|
||||
End If
|
||||
End If
|
||||
|
||||
' Initialize Database
|
||||
Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString)
|
||||
Database = New MSSQLServer(LogConfig, oConnectionString)
|
||||
|
||||
' Initialize Schemas
|
||||
SchemaLoader = New SchemaLoader(LogConfig, Database, ConfigManager.Config.SchemaDirectory)
|
||||
Await SchemaLoader.LoadTemplates()
|
||||
Await SchemaLoader.LoadTemplateConfiguration()
|
||||
|
||||
Dim oBindingSource = New BindingList(Of Schema)
|
||||
For Each oSchema As Schema In SchemaLoader.SchemaList
|
||||
oBindingSource.Add(oSchema)
|
||||
Next
|
||||
|
||||
GridControl1.DataSource = oBindingSource
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
||||
Dim oSchema = GridViewTemplates.GetRow(GridViewTemplates.FocusedRowHandle)
|
||||
|
||||
If oSchema Is Nothing Then
|
||||
MsgBox("Keine Vorlage ausgewählt! Bitte wählen Sie eine Vorlage aus!", MsgBoxStyle.Exclamation, Text)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
oSchema = SchemaLoader.UpdateSchemaFromFile(oSchema, ConfigManager.Config.SchemaDirectory)
|
||||
oSchema = SchemaLoader.UpdateSchemaFromDatabase(oSchema, SchemaLoader.TemplateConfiguration)
|
||||
|
||||
Dim oForm As New frmImportMain(LogConfig, ConfigManager, oSchema)
|
||||
oForm.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub RibbonControl1_Click(sender As Object, e As EventArgs) Handles RibbonControl1.Click
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user