227 lines
8.4 KiB
VB.net
227 lines
8.4 KiB
VB.net
Imports System.ComponentModel
|
|
Imports DevExpress.XtraEditors
|
|
Imports DevExpress.XtraGrid.Views.Grid
|
|
Imports DevExpress.XtraLayout
|
|
Imports DevExpress.XtraTab
|
|
Imports DigitalData.Controls.RegexEditor
|
|
Imports DigitalData.Controls.SQLEditor
|
|
Imports DigitalData.GUIs.Common
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
Public Class frmAdmin_CWProfile
|
|
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
|
|
|
|
Private Const BUTTON_REGEX_PROFILE = "BUTTON_REGEX_PROFILE"
|
|
Private Const BUTTON_SEARCH_SQL = "BUTTON_SEARCH_SQL"
|
|
Private Const BUTTON_COUNT_SQL = "BUTTON_COUNT_SQL"
|
|
|
|
Private Const TAB_PAGE_PROFILE = "TAB_PAGE_PROFILE"
|
|
Private Const TAB_PAGE_DOCSEARCH = "TAB_PAGE_DOCSEARCH"
|
|
Private Const TAB_PAGE_DATASEARCH = "TAB_PAGE_DATASEARCH"
|
|
|
|
Private Pages As ClassDetailPages
|
|
|
|
Public Sub New(PrimaryKey As Integer)
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Logger = My.LogConfig.GetLogger()
|
|
Me.PrimaryKey = PrimaryKey
|
|
Me.IsInsert = IsInsert
|
|
End Sub
|
|
|
|
Private Sub frmAdmin_CWProfile_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
TBCW_PROFILESTableAdapter.Connection.ConnectionString = My.Database.CurrentSQLConnectionString
|
|
TBCW_PROFILESTableAdapter.Fill(DBCW_Stammdaten.TBCW_PROFILES, PrimaryKey)
|
|
|
|
TBCW_PROF_DOC_SEARCHTableAdapter.Connection.ConnectionString = My.Database.CurrentSQLConnectionString
|
|
TBCW_PROF_DOC_SEARCHTableAdapter.Fill(DBCW_Stammdaten.TBCW_PROF_DOC_SEARCH, PrimaryKey)
|
|
|
|
TBCW_PROF_DATA_SEARCHTableAdapter.Connection.ConnectionString = My.Database.CurrentSQLConnectionString
|
|
TBCW_PROF_DATA_SEARCHTableAdapter.Fill(DBCW_Stammdaten.TBCW_PROF_DATA_SEARCH, PrimaryKey)
|
|
|
|
' Configure the GridViews with some default options
|
|
Dim oViews As New List(Of GridView) From {GridViewDataSearch, GridViewDocSearch}
|
|
Dim oGridBuilder As New GridBuilder(oViews)
|
|
oGridBuilder.
|
|
WithDefaults().
|
|
WithReadOnlyOptions()
|
|
|
|
' Add Focus Handler to all controls in all LayoutControls
|
|
Dim oLayoutControls = New List(Of LayoutControl) From {LayoutControlProfile, LayoutControlDocSearch, LayoutControlDataSearch}
|
|
|
|
Pages = New ClassDetailPages(oLayoutControls)
|
|
Pages.AddRange({
|
|
New ClassDetailPages.DetailPage With {
|
|
.IsPrimary = True,
|
|
.Name = "Profil",
|
|
.TabPage = PageProfile,
|
|
.BindingSource = TBCW_PROFILESBindingSource,
|
|
.DataTable = DBCW_Stammdaten.TBCW_PROFILES,
|
|
.AddedWhoEdit = txtAddedWho,
|
|
.ChangedWhoEdit = txtChangedWho
|
|
},
|
|
New ClassDetailPages.DetailPage With {
|
|
.Name = "Dokument-Suche",
|
|
.TabPage = PageDocumentSearch,
|
|
.BindingSource = TBCW_PROF_DOC_SEARCHBindingSource,
|
|
.DataTable = DBCW_Stammdaten.TBCW_PROF_DOC_SEARCH,
|
|
.AddedWhoEdit = txtAddedWho1,
|
|
.ChangedWhoEdit = txtChangedWho1
|
|
},
|
|
New ClassDetailPages.DetailPage With {
|
|
.Name = "Daten-Suche",
|
|
.TabPage = PageDataSearch,
|
|
.BindingSource = TBCW_PROF_DATA_SEARCHBindingSource,
|
|
.DataTable = DBCW_Stammdaten.TBCW_PROF_DATA_SEARCH
|
|
}
|
|
})
|
|
|
|
AddHandler Pages.AnyControl_Focus, AddressOf AnyControl_Focus
|
|
AddHandler Pages.AnyControl_Changed, AddressOf AnyControl_Changed
|
|
Catch ex As Exception
|
|
ShowError(ex)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub AnyControl_Focus(sender As Object, e As ClassDetailPages.DetailPageEventArgs)
|
|
If Not IsNothing(e.Page) Then
|
|
If e.Page.IsPrimary = True Then
|
|
BarButtonNew.Enabled = False
|
|
Else
|
|
BarButtonNew.Enabled = True
|
|
End If
|
|
|
|
RibbonPageGroup1.Text = e.Page.Name
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub AnyControl_Changed(sender As Object, e As ClassDetailPages.DetailPageEventArgs)
|
|
|
|
End Sub
|
|
|
|
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
|
|
|
|
|
|
|
|
Public Function SaveData() As Boolean Implements frmAdmin_Interface.SaveData
|
|
If Pages.CurrentPage Is Nothing Then
|
|
Return False
|
|
End If
|
|
|
|
Dim oPage = Pages.CurrentPage
|
|
|
|
Try
|
|
oPage.BindingSource.EndEdit()
|
|
|
|
If oPage.DataTable.GetChanges() IsNot Nothing Then
|
|
HasChanges = True
|
|
|
|
If IsInsert Then
|
|
oPage.AddedWhoEdit.EditValue = My.Application.User.UserName
|
|
Else
|
|
oPage.ChangedWhoEdit.EditValue = My.Application.User.UserName
|
|
End If
|
|
|
|
oPage.BindingSource.EndEdit()
|
|
Return True
|
|
Else
|
|
HasChanges = False
|
|
End If
|
|
|
|
Return False
|
|
Catch ex As Exception
|
|
ShowError(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub BarButtonSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonSave.ItemClick
|
|
ResetMessages()
|
|
|
|
If SaveData() And HasChanges Then
|
|
Select Case Pages.CurrentPage.TabPage.Name
|
|
Case PageProfile.Name
|
|
TBCW_PROFILESTableAdapter.Update(Pages.CurrentPage.DataTable)
|
|
|
|
Case PageDocumentSearch.Name
|
|
TBCW_PROF_DOC_SEARCHTableAdapter.Update(Pages.CurrentPage.DataTable)
|
|
End Select
|
|
|
|
ShowStatus($"{Pages.CurrentPage.Name} gespeichert!")
|
|
End If
|
|
End Sub
|
|
|
|
Public Function DeleteData() As Boolean Implements frmAdmin_Interface.DeleteData
|
|
Throw New NotImplementedException()
|
|
End Function
|
|
|
|
Public Function AddData() As Boolean
|
|
If Pages.CurrentPage Is Nothing Then
|
|
Return False
|
|
End If
|
|
|
|
Dim oPage = Pages.CurrentPage
|
|
|
|
oPage.DataTable.Columns.Item("PROFILE_ID").DefaultValue = PrimaryKey
|
|
Dim oNewRecord As DataRowView = oPage.BindingSource.AddNew()
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub TextEdit4_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles TextEdit4.ButtonClick
|
|
Dim oTextEdit As TextEdit = sender
|
|
|
|
If e.Button.Tag = BUTTON_REGEX_PROFILE Then
|
|
Dim oForm As New frmRegexEditor(oTextEdit.EditValue)
|
|
Dim oResult = oForm.ShowDialog()
|
|
|
|
If oResult = DialogResult.OK Then
|
|
oTextEdit.EditValue = oForm.RegexString
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TextEdit7_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles TextEdit7.ButtonClick
|
|
Dim oTextEdit As TextEdit = sender
|
|
|
|
If e.Button.Tag = BUTTON_SEARCH_SQL Then
|
|
Dim oForm As New frmSQLEditor(oTextEdit.EditValue)
|
|
Dim oResult = oForm.ShowDialog()
|
|
|
|
If oResult = DialogResult.OK Then
|
|
oTextEdit.EditValue = oForm.SQLString
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TextEdit8_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles TextEdit8.ButtonClick
|
|
Dim oTextEdit As TextEdit = sender
|
|
|
|
If e.Button.Tag = BUTTON_COUNT_SQL Then
|
|
Dim oForm As New frmSQLEditor(oTextEdit.EditValue)
|
|
Dim oResult = oForm.ShowDialog()
|
|
|
|
If oResult = DialogResult.OK Then
|
|
oTextEdit.EditValue = oForm.SQLString
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub BarButtonNew_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonNew.ItemClick
|
|
AddData()
|
|
End Sub
|
|
End Class |