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