Jonathan Jenne b24fbf58fc 19.07.2023
2023-07-31 09:52:49 +02:00

79 lines
3.0 KiB
VB.net

Imports System.Diagnostics.Eventing.Reader
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base
Public Class frmMain
Private LogConfig As LogConfig
Private Logger As Logger
Private Database As MSSQLServer
Private ConfigManager As ConfigManager(Of Config)
Private DbConfig As DbConfig
Private State As State
Private Controller As EnvelopeListController
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oLogPath = IO.Path.Combine(Application.LocalUserAppDataPath, "Log")
LogConfig = New LogConfig(LogConfig.PathType.CustomPath, oLogPath, CompanyName:="Digital Data", ProductName:="Envelope Generator")
Logger = LogConfig.GetLogger()
Try
ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath)
Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString)
Database = New MSSQLServer(LogConfig, oConnectionString)
Dim oUserId = 0
If Database.DBInitialized = True Then
DbConfig = GetDatabaseConfig()
oUserId = Database.GetScalarValue($"SELECT GUID FROM TBDD_USER WHERE USERNAME = '{Environment.UserName}'")
End If
State = New State With {
.UserId = CInt(oUserId),
.Config = ConfigManager.Config,
.DbConfig = DbConfig,
.LogConfig = LogConfig,
.Database = Database
}
Controller = New EnvelopeListController(State)
GridEnvelopes.DataSource = Controller.ListEnvelopes()
Catch ex As Exception
Logger.Error(ex)
End Try
End Sub
Private Function GetDatabaseConfig() As DbConfig
Try
Dim oSql As String = "SELECT TOP 1 * FROM TBSIG_CONFIG"
Dim oTable As DataTable = Database.GetDatatable(oSql)
Dim oRow = oTable.Rows.Item(0)
Return New DbConfig() With {
.DocumentPath = oRow.ItemEx("DOCUMENT_PATH", "")
}
Catch ex As Exception
Return New DbConfig()
End Try
End Function
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCreateEnvelope.ItemClick
Dim oForm As New frmEnvelopeEditor() With {.State = State}
oForm.ShowDialog()
End Sub
Private Sub btnEditEnvelope_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnEditEnvelope.ItemClick
Dim oSelectedRows = ViewEnvelopes.GetSelectedRows()
If oSelectedRows.Count > 0 Then
Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(oSelectedRows(0))
Dim oForm As New frmEnvelopeEditor() With {.State = State, .Envelope = oEnvelope}
oForm.ShowDialog()
End If
End Sub
End Class