Files
egtbeamwall/EgtBEAMWALL.Optimizer/GeneralParametersStrategy/JsonParametersHelper.vb
T
2025-10-09 09:17:09 +02:00

98 lines
2.6 KiB
VB.net

Imports EgtWPFLib5
Imports Newtonsoft.Json
Public Class JsonParametersHelper
Inherits VMBase
#Region "FIELDS & PROPETIES"
Private m_sName As String
Public Property sName As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
NotifyPropertyChanged(NameOf(sName))
End Set
End Property
Private m_sNameNge As String
Public Property sNameNge As String
Get
Return m_sNameNge
End Get
Set(value As String)
m_sNameNge = value
NotifyPropertyChanged(NameOf(sNameNge))
End Set
End Property
Private m_sValue As String
Public Property sValue As String
Get
Return m_sValue
End Get
Set(value As String)
m_sValue = value
NotifyPropertyChanged(NameOf(sValue))
End Set
End Property
Private m_sType As String
<JsonIgnore>
Public Property sType As String
Get
Return m_sType
End Get
Set(value As String)
m_sType = value
NotifyPropertyChanged(NameOf(sType))
End Set
End Property
Private m_sMinUserLevel As Integer
<JsonIgnore>
Public Property sMinUserLevel As Integer
Get
Return m_sMinUserLevel
End Get
Set(value As Integer)
m_sMinUserLevel = value
NotifyPropertyChanged(NameOf(sMinUserLevel))
End Set
End Property
#End Region ' Fields & Propeties
#Region "CONSTRUCTOR"
<JsonConstructor>
Sub New(sName As String, sNameNge As String, sValue As String, sType As String)
m_sName = sName
m_sNameNge = sNameNge
m_sValue = sValue
m_sType = sType
End Sub
Sub New(ProjectParameters As ProjectParameters)
m_sName = ProjectParameters.sName
m_sNameNge = ProjectParameters.sNameNge
Select Case ProjectParameters.GetType()
'Case GetType(BooleanStrategyParameter)
' m_sValue = If(DirectCast(ProjectParameters, BooleanStrategyParameter).bValue, "true", "false")
Case GetType(DoubleGenericParameter)
m_sValue = DirectCast(ProjectParameters, DoubleGenericParameter).sValue
Case GetType(ComboGenericParameter)
m_sValue = DirectCast(ProjectParameters, ComboGenericParameter).SelValue.sValue
'Case GetType(StringStrategyParameter)
' m_sValue = DirectCast(ProjectParameters, StringStrategyParameter).sValue
'Case GetType(ListStrategyParameter)
' m_sValue = DirectCast(ProjectParameters, ListStrategyParameter).SelValue.sName
End Select
End Sub
#End Region ' Constructor
End Class