MultiTool/MultiTool.Form/frmConfig.vb
2022-04-06 14:55:15 +02:00

172 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 DigitalData.Modules.Language
Public Class frmConfig
Private ReadOnly TBMT_CONFIG_GENERAL As New DS_DD_ECM.TBMT_CONFIGDataTable
Private ReadOnly ConfigManager As ConfigManager(Of MultiTool.Common.Config)
Private ReadOnly FormHelper As FormHelper
Private BindingSource As BindingSource = TBEDIXMLITEMSBindingSource
Private View As GridView = GridViewSchema
Private ReadOnly Property Config As MultiTool.Common.Config
Get
Return ConfigManager?.Config
End Get
End Property
Public Sub New(pLogConfig As LogConfig, pConfigManager As ConfigManager(Of MultiTool.Common.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()
GridViewSchema.PostEditor()
TBMT_CONFIGTableAdapter.Update(DS_DD_ECM.TBMT_CONFIG)
DS_DD_ECM.TBMT_CONFIG.AcceptChanges()
GridViewConfig.PostEditor()
TBMT_TEMPLATE_ITEMSTableAdapter.Update(DS_DD_ECM.TBMT_TEMPLATE_ITEMS)
DS_DD_ECM.TBMT_TEMPLATE_ITEMS.AcceptChanges()
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