Rework Profiles, Add Validation, Add Placeholders, Add Controls
This commit is contained in:
@@ -10,6 +10,27 @@ Public Class SearchLoader
|
||||
Private Database As MSSQLServer
|
||||
|
||||
Public Searches As New List(Of Search)
|
||||
Public Parameters As New List(Of SearchParameter)
|
||||
|
||||
Public Enum ReturnTypeEnum
|
||||
Undefined
|
||||
Table
|
||||
TreeView
|
||||
End Enum
|
||||
|
||||
Public Enum DataTypeEnum
|
||||
Undefined
|
||||
[Boolean]
|
||||
[String]
|
||||
[Integer]
|
||||
[Date]
|
||||
End Enum
|
||||
|
||||
Public Enum ItemTypeEnum
|
||||
Undefined
|
||||
List
|
||||
SQL
|
||||
End Enum
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
|
||||
MyBase.New(pLogConfig)
|
||||
@@ -23,11 +44,18 @@ Public Class SearchLoader
|
||||
Dim oTable = Database.GetDatatable(oSQL)
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
Dim oSearchId = oRow.ItemEx("GUID", 0)
|
||||
Dim oParams = Parameters.
|
||||
Where(Function(param) param.SearchId = oSearchId).
|
||||
ToList()
|
||||
|
||||
Searches.Add(New Search With {
|
||||
.Id = CInt(oRow.Item("GUID")),
|
||||
.Title = oRow.ItemEx("TITLE", ""),
|
||||
.Description = oRow.ItemEx("DESCRIPTION", ""),
|
||||
.TypeName = "Varchar"
|
||||
.Id = oSearchId,
|
||||
.Title = oRow.ItemEx("TITLE", String.Empty),
|
||||
.Description = oRow.ItemEx("CAPTION", String.Empty),
|
||||
.ReturnType = GetReturnType(oRow.ItemEx("RETURN_TYPE", String.Empty)),
|
||||
.SQLCommand = oRow.ItemEx("EXEC_SQL", String.Empty),
|
||||
.Parameters = oParams
|
||||
})
|
||||
Next
|
||||
Catch ex As Exception
|
||||
@@ -37,42 +65,98 @@ Public Class SearchLoader
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Function LoadSearchAttributes(pSearchId As Integer) As List(Of SearchAttribute)
|
||||
Dim oSQL As String = $"SELECT * FROM TBDD_MONITORING_PROFILE_ATTRIBUTES WHERE ACTIVE = 1 AND MONITOR_PROFILE_ID = {pSearchId} ORDER BY SEQUENCE"
|
||||
Public Function GetItemType(pTypeString As String) As ItemTypeEnum
|
||||
Select Case pTypeString
|
||||
Case "LIST"
|
||||
Return ItemTypeEnum.List
|
||||
Case "SQL"
|
||||
Return ItemTypeEnum.SQL
|
||||
Case Else
|
||||
Return ItemTypeEnum.Undefined
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Function GetReturnType(pTypeString As String) As ReturnTypeEnum
|
||||
Select Case pTypeString
|
||||
Case "Table"
|
||||
Return ReturnTypeEnum.Table
|
||||
Case "TreeView"
|
||||
Return ReturnTypeEnum.TreeView
|
||||
Case Else
|
||||
Return ReturnTypeEnum.Undefined
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Function GetDataType(pTypeString As String) As DataTypeEnum
|
||||
Select Case pTypeString
|
||||
Case "BIT"
|
||||
Return DataTypeEnum.Boolean
|
||||
Case "VARCHAR"
|
||||
Return DataTypeEnum.String
|
||||
Case "INT"
|
||||
Return DataTypeEnum.Integer
|
||||
Case "DATE"
|
||||
Return DataTypeEnum.Date
|
||||
Case Else
|
||||
Return DataTypeEnum.Undefined
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Sub LoadSearchParameters()
|
||||
Dim oSQL As String = $"SELECT * FROM TBMON_PROFILE_PARAM WHERE ACTIVE = 1 ORDER BY SEQUENCE"
|
||||
Dim oTable As DataTable = Database.GetDatatable(oSQL)
|
||||
Dim oAttributes As New List(Of SearchAttribute)
|
||||
Dim oParameters As New List(Of SearchParameter)
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
oAttributes.Add(New SearchAttribute With {
|
||||
oParameters.Add(New SearchParameter With {
|
||||
.Id = oRow.ItemEx("GUID", 0),
|
||||
.Caption = oRow.ItemEx("CAPTION", String.Empty),
|
||||
.Title = oRow.ItemEx("CAPTION", String.Empty),
|
||||
.Description = oRow.ItemEx("DESCRIPTION", String.Empty),
|
||||
.DataType = oRow.ItemEx("DATA_TYPE", "VARCHAR")
|
||||
.DataType = GetDataType(oRow.ItemEx("DATA_TYPE", "VARCHAR")),
|
||||
.ItemString = oRow.ItemEx("ITEMS", String.Empty),
|
||||
.ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)),
|
||||
.Required = oRow.ItemEx("REQUIRED", True),
|
||||
.PatternTitle = oRow.ItemEx("PATTERN", String.Empty),
|
||||
.SearchId = oRow.ItemEx("PROFILE_ID", 0)
|
||||
})
|
||||
Next
|
||||
|
||||
Return oAttributes
|
||||
End Function
|
||||
Parameters = oParameters
|
||||
End Sub
|
||||
|
||||
Public Class Search
|
||||
Public Id As Integer
|
||||
Public Title As String
|
||||
Public Description As String
|
||||
Public TypeName As String
|
||||
Public SQLCommand As String
|
||||
Public ReturnType As ReturnTypeEnum
|
||||
|
||||
Public Parameters As List(Of SearchParameter)
|
||||
|
||||
Public Overrides Function ToString() As String
|
||||
Return Title
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class SearchAttribute
|
||||
Public Class SearchParameter
|
||||
Public Id As Integer
|
||||
Public Caption As String
|
||||
Public Title As String
|
||||
Public PatternTitle As String
|
||||
Public Description As String
|
||||
Public DataType As String
|
||||
Public DataType As DataTypeEnum
|
||||
Public ItemString As String
|
||||
Public ItemType As ItemTypeEnum
|
||||
Public Required As Boolean
|
||||
Public SearchId As Integer
|
||||
|
||||
Public ReadOnly Property HasItems As Boolean
|
||||
Get
|
||||
Return ItemType <> ItemTypeEnum.Undefined
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides Function ToString() As String
|
||||
Return Caption
|
||||
Return Title
|
||||
End Function
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user