142 lines
4.7 KiB
VB.net
142 lines
4.7 KiB
VB.net
Imports DevExpress.XtraEditors.DXErrorProvider
|
|
Imports DevExpress.XtraLayout
|
|
|
|
Public Class frmAdmin_SourceSQL
|
|
Implements frmAdmin_Interface
|
|
|
|
Public Property PrimaryKey As Integer Implements frmAdmin_Interface.PrimaryKey
|
|
|
|
Public Property HasChanges As Boolean Implements frmAdmin_Interface.HasChanges
|
|
|
|
Public Property IsInsert As Boolean Implements frmAdmin_Interface.IsInsert
|
|
|
|
Public Sub New(PrimaryKey As Integer)
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Me.PrimaryKey = PrimaryKey
|
|
End Sub
|
|
|
|
Private Sub frmAdmin_SourceSQL_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
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
|
|
ShowError(ex)
|
|
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 Implements frmAdmin_Interface.SaveData
|
|
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
|
|
ShowError(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Public Function DeleteData() As Boolean Implements frmAdmin_Interface.DeleteData
|
|
Try
|
|
TBZF_ADMIN_SOURCE_SQLTableAdapter.Delete(PrimaryKey)
|
|
Return True
|
|
Catch ex As Exception
|
|
ShowError(ex)
|
|
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 |