MultiTool/MultiTool.Form/frmConfig.vb
2022-03-31 14:30:16 +02:00

173 lines
6.6 KiB
VB.net

Imports System.Data.SqlClient
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports MultiTool.Shared
Imports MultiTool.Shared.Constants
Public Class frmConfig
Private ReadOnly ConfigManager As ConfigManager(Of MultiTool.Shared.Config)
Private ReadOnly FormHelper As FormHelper
Private BindingSource As BindingSource = TBEDIXMLITEMSBindingSource
Private View As GridView = GridViewSchema
Private TBMT_CONFIG_GENERAL As New DS_DD_ECM.TBMT_CONFIGDataTable
Private ReadOnly Property Config As MultiTool.Shared.Config
Get
Return ConfigManager?.Config
End Get
End Property
Public Sub New(pLogConfig As LogConfig, pConfigManager As ConfigManager(Of MultiTool.Shared.Config))
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
FormHelper = New FormHelper(pLogConfig, Me)
ConfigManager = pConfigManager
End Sub
Private Sub frmConfig_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Dim oConnectionString = MSSQLServer.DecryptConnectionString(Config.ConnectionString)
Dim oBuilder As New SqlConnectionStringBuilder(oConnectionString) With {
.InitialCatalog = "DD_ECM"
}
' Default Values
DS_DD_ECM.TBMT_CONFIG.ADDED_WHOColumn.DefaultValue = Environment.UserName
DS_DD_ECM.TBMT_CONFIG.CHANGED_WHOColumn.DefaultValue = Environment.UserName
DS_DD_ECM.TBMT_TEMPLATE_ITEMS.ADDED_WHOColumn.DefaultValue = Environment.UserName
DS_DD_ECM.TBMT_TEMPLATE_ITEMS.CHANGED_WHOColumn.DefaultValue = Environment.UserName
TBMT_TEMPLATE_ITEMSTableAdapter.Connection.ConnectionString = oBuilder.ToString()
TBMT_TEMPLATE_ITEMSTableAdapter.Fill(DS_DD_ECM.TBMT_TEMPLATE_ITEMS)
TBMT_CONFIGTableAdapter.Connection.ConnectionString = oBuilder.ToString()
TBMT_CONFIGTableAdapter.Fill(DS_DD_ECM.TBMT_CONFIG)
TBMT_CONFIGTableAdapter.FillGeneral(TBMT_CONFIG_GENERAL)
LoadGeneralConfig(TBMT_CONFIG_GENERAL)
BindingSource = TBEDIXMLITEMSBindingSource
Catch ex As Exception
FormHelper.ShowError(ex, "Laden des Formulars")
End Try
End Sub
Private Sub LoadGeneralConfig(TBMT_CONFIG_GENERAL As DS_DD_ECM.TBMT_CONFIGDataTable)
For Each oRow As DataRow In TBMT_CONFIG_GENERAL.Rows
Dim oConfigKey = oRow.ItemEx("KEY", "")
Dim oConfigValue = oRow.ItemEx("VALUE", "")
Select Case oConfigKey
Case "YEAR_OVERRIDE"
txtYearOverride.EditValue = oConfigValue
Case "WEBSERVICE_BASEURL"
txtWebserviceBaseurl.EditValue = oConfigValue
Case "WEBSERVICE_USERNAME"
txtWebserviceUsername.EditValue = oConfigValue
Case "WEBSERIVCE_PASSWORD"
txtWebservicePassword.EditValue = oConfigValue
Case "WEBSERVICE_IMPORT_BASE_PATH"
txtWebserviceImportBasePath.EditValue = oConfigValue
Case "WEBSERVICE_IMPORT_RELATIVE_PATH"
txtWebserviceImportRelativePath.EditValue = oConfigValue
End Select
Next
End Sub
Private Sub SaveGeneralConfig(TBMT_CONFIG_GENERAL As DS_DD_ECM.TBMT_CONFIGDataTable)
For Each oRow As DataRow In TBMT_CONFIG_GENERAL.Rows
Dim oConfigKey = oRow.ItemEx("KEY", "")
Select Case oConfigKey
Case "YEAR_OVERRIDE"
oRow.Item("VALUE") = txtYearOverride.EditValue
Case "WEBSERVICE_BASEURL"
oRow.Item("VALUE") = txtWebserviceBaseurl.EditValue
Case "WEBSERVICE_USERNAME"
oRow.Item("VALUE") = txtWebserviceUsername.EditValue
Case "WEBSERIVCE_PASSWORD"
oRow.Item("VALUE") = txtWebservicePassword.EditValue
Case "WEBSERVICE_IMPORT_BASE_PATH"
oRow.Item("VALUE") = txtWebserviceImportBasePath.EditValue
Case "WEBSERVICE_IMPORT_RELATIVE_PATH"
oRow.Item("VALUE") = txtWebserviceImportRelativePath.EditValue
End Select
Next
End Sub
Private Sub Save()
GridViewConfig.ValidateEditor()
DS_DD_ECM.TBMT_CONFIG.AcceptChanges()
TBMT_CONFIGTableAdapter.Update(DS_DD_ECM.TBMT_CONFIG)
GridViewSchema.ValidateEditor()
DS_DD_ECM.TBMT_TEMPLATE_ITEMS.AcceptChanges()
TBMT_TEMPLATE_ITEMSTableAdapter.Update(DS_DD_ECM.TBMT_TEMPLATE_ITEMS)
TBMT_CONFIG_GENERAL.AcceptChanges()
SaveGeneralConfig(TBMT_CONFIG_GENERAL)
TBMT_CONFIGTableAdapter.Update(TBMT_CONFIG_GENERAL)
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Try
TBMT_CONFIGBindingSource.EndEdit()
TBEDIXMLITEMSBindingSource.EndEdit()
Save()
Catch ex As Exception
FormHelper.ShowError(ex, "Speichern der Konfiguration")
End Try
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
BindingSource?.AddNew()
End Sub
Private Sub XtraTabControl1_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControl1.SelectedPageChanged
Select Case e.Page.Name
Case tabPageSchema.Name
BindingSource = TBEDIXMLITEMSBindingSource
View = GridViewSchema
Case tabPageConfig.Name
BindingSource = TBMT_CONFIGBindingSource
View = GridViewConfig
End Select
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
If View.FocusedRowHandle <> GridControl.InvalidRowHandle Then
Dim oResult = MsgBox("Wollen Sie den ausgewählten Eintrag löschen?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "Eintrag löschen?")
If oResult = MsgBoxResult.Yes Then
Dim oRow As DataRow = View.GetDataRow(View.FocusedRowHandle)
BindingSource.RemoveCurrent()
BindingSource.EndEdit()
Save()
End If
End If
End Sub
End Class