Monorepo/GUIs.ZooFlow/Administration/ClassDetailForm.vb
2022-02-17 16:33:17 +01:00

209 lines
7.2 KiB
VB.net

Imports DigitalData.GUIs.ZooFlow.Administration.ClassConstants
Imports DigitalData.Modules.Base
Public Class ClassDetailForm
Inherits BaseClass
Public Event DetailFormClosed As EventHandler(Of Form)
Public ReadOnly Property DetailDataList As New Dictionary(Of String, DetailData)
Public ReadOnly Property DetailSettingsList As New Dictionary(Of String, DetailSettings) From {
{PAGE_IDB_ATTRIBUTES, ' This Key will be matched with the Entity Id from the Database
New DetailSettings With {
.GridTitle = "Attribute", ' This will be shown above the Data Grid
.NewRecordTitle = "Neues Attribut", ' This will be shown on the "New" Button
.[Module] = MODULE_IDB,
.Entity = PAGE_IDB_ATTRIBUTES
}},
{PAGE_IDB_BUSINESS_ENTITIES,
New DetailSettings With {
.GridTitle = "BusinessEntity",
.NewRecordTitle = "New BusinessEntity",
.[Module] = MODULE_IDB,
.Entity = PAGE_IDB_BUSINESS_ENTITIES
}},
{PAGE_IDB_OBJECT_STORES, ' This Key will be matched with the Entity Id from the Database
New DetailSettings With {
.GridTitle = "Object-Stores", ' This will be shown above the Data Grid
.NewRecordTitle = "New Object Store", ' This will be shown on the "New" Button
.[Module] = MODULE_IDB,
.Entity = PAGE_IDB_OBJECT_STORES
}},
{PAGE_META_SOURCE_SQL,
New DetailSettings With {
.GridTitle = "Source SQL",
.NewRecordTitle = "New Source SQL",
.[Module] = MODULE_META,
.Entity = PAGE_META_SOURCE_SQL
}},
{PAGE_GI_PROFILES,
New DetailSettings With {
.GridTitle = "Global Indexer Profile",
.NewRecordTitle = "New GLOBIX profile",
.[Module] = MODULE_GI,
.Entity = PAGE_GI_PROFILES
}},
{PAGE_CW_PROFILES,
New DetailSettings With {
.GridTitle = "Clipboard Watcher Profile",
.NewRecordTitle = "New CW profile",
.[Module] = MODULE_CW,
.Entity = PAGE_CW_PROFILES
}},
{PAGE_IDB_ATTRIBUTE_REL,
New DetailSettings With {
.GridTitle = "Attribute-Relations",
.NewRecordTitle = "",
.[Module] = MODULE_IDB,
.Entity = PAGE_IDB_ATTRIBUTES
}},
{PAGE_GI_RELATIONS,
New DetailSettings With {
.GridTitle = "Globix profile-relations",
.NewRecordTitle = "",
.[Module] = MODULE_GI,
.Entity = PAGE_GI_RELATIONS
}},
{PAGE_IDB_DOCTYPE_CONFIG,
New DetailSettings With {
.GridTitle = "Doctype Configuration",
.NewRecordTitle = "New Configuration",
.[Module] = MODULE_IDB,
.Entity = PAGE_IDB_DOCTYPE_CONFIG
}}
}
Public Sub New(LogConfig As Modules.Logging.LogConfig)
MyBase.New(LogConfig)
End Sub
Public Function Handle_OpenDetail(PrimaryKey As Integer, Page As String, IsInsert As Boolean) As Boolean
Select Case Page
Case PAGE_IDB_ATTRIBUTES
Load_IDBAttribute(PrimaryKey, IsInsert)
Return True
Case PAGE_IDB_BUSINESS_ENTITIES
Load_IDBEntity(PrimaryKey, IsInsert)
Return True
Case PAGE_IDB_OBJECT_STORES
Load_IDBObjectstore(PrimaryKey, IsInsert)
Return True
Case PAGE_CW_PROFILES
Load_CWProfile(PrimaryKey, IsInsert)
Return True
Case PAGE_GI_PROFILES
GLOBIX_JUMP_DOCTYPE_ID = PrimaryKey
Load_GLOBIXProfile(PrimaryKey, IsInsert)
Return True
Case PAGE_META_SOURCE_SQL
Load_SourceSQL(PrimaryKey, IsInsert)
Return True
Case PAGE_IDB_ATTRIBUTE_REL
Dim oForm As New frmAdmin_IDBBERelations
oForm.ShowDialog()
Return True
Case PAGE_GI_RELATIONS
Dim oForm As New frmAdmin_GlobixRelations
oForm.ShowDialog()
Return True
Case PAGE_IDB_DOCTYPE_CONFIG
Dim oForm As New frmAdmin_DoctypeConfig(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
Case Else
Return False
End Select
End Function
Private Sub Load_SourceSQL(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_SourceSQL(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Private Sub Load_IDBAttribute(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_IDBAttribute(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Private Sub Load_IDBObjectstore(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_IDBObjectStore(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Private Sub Load_IDBEntity(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_IDBEntity(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Private Sub Load_CWProfile(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_ClipboardWatcher(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Private Sub Load_GLOBIXProfile(PrimaryKey As Integer, IsInsert As Boolean)
Try
Dim oForm As New frmAdmin_Globix(PrimaryKey) With {.IsInsert = IsInsert}
oForm.ShowDialog()
RaiseEvent DetailFormClosed(Me, oForm)
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Public Class DetailSettings
Public Property GridTitle As String
Public Property [Module] As String
Public Property Entity As String
Public Property NewRecordTitle As String
End Class
Public Class DetailData
Public Property Guid As Integer
Public Property ParentId As Integer
Public Property Entity As String
Public Property Scope As String
Public Property PrimaryKey As String
Public Property SQLCommand As String
Public Property SQLResult As DataTable
End Class
End Class