Modules/GUIs.ZooFlow/Administration/frmAdmin_IDBObjectStore.vb

111 lines
4.5 KiB
VB.net

Public Class frmAdmin_IDBObjectStore
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
Dim oStorePath As String = String.Empty
Public Function DeleteData() As Boolean Implements IAdminForm.DeleteData
Throw New NotImplementedException()
End Function
Public Sub New(PrimaryKey As Integer, Optional IsInsert As Boolean = False)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
InitializeBaseForm(My.LogConfig)
Me.PrimaryKey = PrimaryKey
Me.IsInsert = IsInsert
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
End Sub
Private Sub frmAdmin_IDBObjectStore_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: Diese Codezeile lädt Daten in die Tabelle "DSIDB_Stammdaten.TBIDB_OBJECT_STORE". Sie können sie bei Bedarf verschieben oder entfernen.
Me.TBIDB_OBJECT_STORETableAdapter.Connection.ConnectionString = My.DatabaseIDB.CurrentSQLConnectionString
Me.TBIDB_CATALOGTableAdapter.Connection.ConnectionString = My.DatabaseIDB.CurrentSQLConnectionString
Me.TBIDB_OBJECT_STORETableAdapter.Fill(Me.DSIDB_Stammdaten.TBIDB_OBJECT_STORE)
If IsInsert Then
TBIDB_OBJECT_STOREBindingSource.AddNew()
ADDED_WHOTextBox.Text = My.Application.User.UserName
Else
If CAT_IDTextBox.Text <> String.Empty Then
Me.TBIDB_CATALOGTableAdapter.Fill(Me.DSIDB_Stammdaten.TBIDB_CATALOG, CType(CAT_IDTextBox.Text, Integer))
oStorePath = CAT_TITLETextBox.Text
End If
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 BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
ResetMessages()
If SaveData() And HasChanges Then
ShowStatus("ObjectStore gespeichert!")
End If
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
Try
TBIDB_OBJECT_STOREBindingSource.EndEdit()
If DSIDB_Stammdaten.TBIDB_OBJECT_STORE.GetChanges() IsNot Nothing Then
HasChanges = True
If IsInsert Then
Dim oSQL = $"INSERT INTO TBIDB_CATALOG (CAT_TITLE, CAT_STRING, ADDED_WHO) VALUES ('FILESTORE_' + '{OBJECT_TITLETextBox.Text}','{CAT_TITLETextBox.Text}','{My.Application.User.UserName}')"
If My.DatabaseIDB.ExecuteNonQuery(oSQL) Then
Dim oID = $"SELECT GUID FROM TBIDB_CATALOG WHERE CAT_TITLE = 'FILESTORE_' + '{OBJECT_TITLETextBox.Text}'"
oID = My.DatabaseIDB.GetScalarValue(oID)
CAT_IDTextBox.Text = oID
TBIDB_OBJECT_STOREBindingSource.EndEdit()
End If
Else
If oStorePath <> CAT_TITLETextBox.Text Then
Dim oSQL = $"UPDATE TBIDB_CATALOG SET CAT_TITLE = 'FILESTORE_' & '{OBJECT_TITLETextBox.Text}', CAT_STRING = {CAT_TITLETextBox.Text}, ADDED_WHO = '{My.Application.User.UserName}'" &
$"WHERE (GUID = {CAT_IDTextBox.Text})"
My.DatabaseIDB.ExecuteNonQuery(oSQL)
End If
CHANGED_WHOTextBox.Text = My.Application.User.UserName
End If
TBIDB_OBJECT_STOREBindingSource.EndEdit()
' TODO: Update Database
TBIDB_OBJECT_STORETableAdapter.Update(DSIDB_Stammdaten.TBIDB_OBJECT_STORE)
End If
Return True
Catch ex As Exception
ShowErrorMessage(ex)
Return False
End Try
End Function
End Class