160 lines
5.5 KiB
VB.net
160 lines
5.5 KiB
VB.net
Imports DevExpress.XtraEditors.DXErrorProvider
|
|
Imports DevExpress.XtraLayout
|
|
Imports DigitalData.GUIs.Common
|
|
|
|
Public Class frmAdmin_SourceSQL
|
|
Implements IAdminForm
|
|
|
|
Public Property PrimaryKey As Integer Implements IAdminForm.PrimaryKey
|
|
|
|
Public Property HasChanges As Boolean Implements IAdminForm.HasChanges
|
|
|
|
Public Property IsInsert As Boolean Implements IAdminForm.IsInsert
|
|
|
|
Private Pages As ClassDetailPageManager
|
|
Private FormHelper As FormHelper
|
|
|
|
Public Sub New(PrimaryKey As Integer)
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
FormHelper = New FormHelper(My.LogConfig, Me)
|
|
Me.PrimaryKey = PrimaryKey
|
|
End Sub
|
|
|
|
Private Sub frmAdmin_SourceSQL_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
Pages = New ClassDetailPageManager(My.LogConfig, Me, New List(Of LayoutControl) From {LayoutControl1})
|
|
Pages.Add(New ClassDetailPageManager.PrimaryPage(IsInsert) With {
|
|
.Name = "Source SQL",
|
|
.AddedWhoEdit = txtAddedWho,
|
|
.ChangedWhoEdit = txtChangedWho,
|
|
.BindingSource = TBZF_ADMIN_SOURCE_SQLBindingSource,
|
|
.DataTable = DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL,
|
|
.IsInsert = IsInsert,
|
|
.TabPage = Nothing
|
|
})
|
|
|
|
TBZF_ADMIN_SOURCE_SQLTableAdapter.Connection.ConnectionString = My.DatabaseECM.CurrentSQLConnectionString
|
|
|
|
If IsInsert Then
|
|
TBZF_ADMIN_SOURCE_SQLBindingSource.AddNew()
|
|
Else
|
|
|
|
TBZF_ADMIN_SOURCE_SQLTableAdapter.Fill(DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL, PrimaryKey)
|
|
End If
|
|
|
|
ValidationHelper()
|
|
Catch ex As Exception
|
|
FormHelper.ShowErrorMessage(ex, "frmAdmin_SourceSQL_Load")
|
|
End Try
|
|
End Sub
|
|
|
|
Public Sub ValidationHelper()
|
|
Dim oTable As DataTable = DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL
|
|
Dim oProvider As DXValidationProvider = DxValidationProvider1
|
|
Dim oRootControl As Control = LayoutControl1
|
|
Dim oControls As List(Of Control) = oRootControl.Controls.
|
|
OfType(Of Control).
|
|
ToList()
|
|
|
|
Dim oBoundControls = ListBoundControls(oControls)
|
|
|
|
Console.WriteLine(oBoundControls.Count)
|
|
|
|
For Each oControl As Control In oBoundControls
|
|
Dim oBinding As Binding = oControl.DataBindings.Item(0)
|
|
Next
|
|
End Sub
|
|
|
|
|
|
Public Function ListBoundControls(Controls As List(Of Control)) As List(Of Control)
|
|
Dim oControlList As New List(Of Control)
|
|
|
|
For Each oControl As Control In Controls
|
|
If oControl.DataBindings IsNot Nothing AndAlso oControl.DataBindings.Count > 0 Then
|
|
oControlList.Add(oControl)
|
|
End If
|
|
|
|
If oControl.Controls IsNot Nothing AndAlso oControl.Controls.Count > 0 Then
|
|
Dim oControls As New List(Of Control)
|
|
oControls.AddRange(oControl.Controls.OfType(Of Control))
|
|
|
|
oControlList.AddRange(ListBoundControls(oControls))
|
|
End If
|
|
Next
|
|
|
|
Return oControlList
|
|
End Function
|
|
|
|
Public Function SaveData() As Boolean
|
|
Try
|
|
TBZF_ADMIN_SOURCE_SQLBindingSource.EndEdit()
|
|
|
|
If DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL.GetChanges() IsNot Nothing Then
|
|
HasChanges = True
|
|
|
|
If IsInsert Then
|
|
txtAddedWho.EditValue = My.Application.User.UserName
|
|
Else
|
|
txtChangedWho.EditValue = My.Application.User.UserName
|
|
End If
|
|
|
|
TBZF_ADMIN_SOURCE_SQLBindingSource.EndEdit()
|
|
TBZF_ADMIN_SOURCE_SQLTableAdapter.Update(DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL)
|
|
End If
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
FormHelper.ShowErrorMessage(ex, "SaveData")
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Public Function DeleteData() As Boolean Implements IAdminForm.DeleteData
|
|
Try
|
|
TBZF_ADMIN_SOURCE_SQLTableAdapter.Delete(PrimaryKey)
|
|
Return True
|
|
Catch ex As Exception
|
|
FormHelper.ShowErrorMessage(ex, "DeleteData")
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
Private Sub ResetMessages()
|
|
labelStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
|
End Sub
|
|
|
|
Private Sub ShowStatus(Message As String)
|
|
labelStatus.Caption = Message
|
|
labelStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
|
ResetMessages()
|
|
|
|
If SaveData() And HasChanges Then
|
|
ShowStatus("Attribute gespeichert!")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
|
ResetMessages()
|
|
|
|
If SaveData() Then
|
|
Close()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
|
|
If MsgBox($"Wollen Sie den SourceSQL [{PrimaryKey}] wirklich löschen?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.Yes Then
|
|
If DeleteData() Then
|
|
Close()
|
|
End If
|
|
End If
|
|
End Sub
|
|
End Class |