7b4f8529c3
-cambiato gestione SetVisibility -aggiunto su veriifica singolo pezzo disabilita intera riga
204 lines
6.7 KiB
VB.net
204 lines
6.7 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtBEAMWALL.Core.ConstBeam
|
|
Imports EgtWPFLib5
|
|
Imports Newtonsoft.Json
|
|
Imports EgtUILib
|
|
|
|
Public Class JsonGeneralParameters
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPETIES"
|
|
|
|
Private m_nGroup As String
|
|
Public Property nGroup As String
|
|
Get
|
|
Return m_nGroup
|
|
End Get
|
|
Set(value As String)
|
|
m_nGroup = value
|
|
NotifyPropertyChanged(NameOf(nGroup))
|
|
End Set
|
|
End Property
|
|
|
|
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_sDescriptionShort As String
|
|
Public Property sDescriptionShort As String
|
|
Get
|
|
Return m_sDescriptionShort
|
|
End Get
|
|
Set(value As String)
|
|
m_sDescriptionShort = value
|
|
NotifyPropertyChanged(NameOf(sDescriptionShort))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_sDescriptionLong As String
|
|
Public Property sDescriptionLong As String
|
|
Get
|
|
Return m_sDescriptionLong
|
|
End Get
|
|
Set(value As String)
|
|
m_sDescriptionLong = value
|
|
NotifyPropertyChanged(NameOf(sDescriptionLong))
|
|
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
|
|
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_Choices As New ObservableCollection(Of JsonDefaultComboParameter)
|
|
Public Property Choices As ObservableCollection(Of JsonDefaultComboParameter)
|
|
Get
|
|
Return m_Choices
|
|
End Get
|
|
Set(value As ObservableCollection(Of JsonDefaultComboParameter))
|
|
m_Choices = value
|
|
NotifyPropertyChanged(NameOf(Choices))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_sMinUserLevel As Integer
|
|
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(nGroup As String, sName As String, sNameNge As String, sValue As String, sDescriptionShort As String, sDescriptionLong As String, sType As String, sMinUserLevel As String)
|
|
m_nGroup = nGroup
|
|
m_sName = sName
|
|
m_sNameNge = sNameNge
|
|
m_sValue = sValue
|
|
m_sDescriptionShort = sDescriptionShort
|
|
m_sDescriptionLong = sDescriptionLong
|
|
m_sType = sType
|
|
m_sMinUserLevel = sMinUserLevel
|
|
End Sub
|
|
|
|
Sub New(ProjectParameters As ProjectParameters)
|
|
m_sName = ProjectParameters.sName
|
|
m_sNameNge = ProjectParameters.sNameNge
|
|
Select Case ProjectParameters.GetType()
|
|
Case GetType(BooleanGenericParameter)
|
|
m_sValue = If(DirectCast(ProjectParameters, BooleanGenericParameter).bValue, "true", "false")
|
|
Case GetType(DoubleGenericParameter)
|
|
m_sValue = DirectCast(ProjectParameters, DoubleGenericParameter).sValue
|
|
Case GetType(ComboGenericParameter)
|
|
m_sValue = DirectCast(ProjectParameters, ComboGenericParameter).SelValue.sValue
|
|
Case GetType(StringGenericParameter)
|
|
m_sValue = DirectCast(ProjectParameters, StringGenericParameter).sValue
|
|
Case GetType(ListGenericParameter)
|
|
m_sValue = DirectCast(ProjectParameters, ListGenericParameter).SelValue.sName
|
|
End Select
|
|
m_nGroup = ProjectParameters.nGroup
|
|
m_sDescriptionShort = ProjectParameters.sDescriptionShort
|
|
m_sDescriptionLong = ProjectParameters.sDescriptionLong
|
|
m_sMinUserLevel = ProjectParameters.sMinUserLevel
|
|
End Sub
|
|
|
|
#End Region ' Constructor
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Function Deserialize(StrategyType As BWType) As ProjectParameters
|
|
Dim ProjectParameters As ProjectParameters = Nothing
|
|
Select Case m_sType
|
|
Case "b"
|
|
ProjectParameters = New BooleanGenericParameter()
|
|
DirectCast(ProjectParameters, BooleanGenericParameter).SetValue(m_sValue)
|
|
If m_sMinUserLevel = 1 Then
|
|
DirectCast(ProjectParameters, BooleanGenericParameter).SetbBooleanVisibility(True)
|
|
End If
|
|
Case "d"
|
|
ProjectParameters = New DoubleGenericParameter()
|
|
DirectCast(ProjectParameters, DoubleGenericParameter).SetValue(m_sValue)
|
|
If m_sMinUserLevel = 1 Then
|
|
DirectCast(ProjectParameters, DoubleGenericParameter).SetbDoubleVisibility(True)
|
|
End If
|
|
Case "combo"
|
|
ProjectParameters = New ComboGenericParameter()
|
|
For Each Choice In Choices
|
|
DirectCast(ProjectParameters, ComboGenericParameter).ComboList.Add(Choice.Deserialize())
|
|
Next
|
|
DirectCast(ProjectParameters, ComboGenericParameter).SetSelValue(m_sValue)
|
|
If m_sMinUserLevel = 1 Then
|
|
DirectCast(ProjectParameters, ComboGenericParameter).SetbComboBoxVisibility(True)
|
|
End If
|
|
Case "tool"
|
|
'ProjectParameters = New ListGenericParameter(m_sSubType)
|
|
'DirectCast(ProjectParameters, ListGenericParameter).CreateToolsViews()
|
|
'If m_sMinUserLevel = 1 Then
|
|
' DirectCast(ProjectParameters, ListGenericParameter).SetbListBoxVisibility(True)
|
|
'End If
|
|
Case "s"
|
|
ProjectParameters = New StringGenericParameter()
|
|
DirectCast(ProjectParameters, StringGenericParameter).SetValue(m_sValue)
|
|
If m_sMinUserLevel = 1 Then
|
|
DirectCast(ProjectParameters, StringGenericParameter).SetbStringVisibility(True)
|
|
End If
|
|
Case Else
|
|
EgtOutLog("Tipo: " & m_sType & " non presente")
|
|
Return Nothing
|
|
End Select
|
|
ProjectParameters.nGroup = m_nGroup
|
|
ProjectParameters.sName = m_sName
|
|
ProjectParameters.sNameNge = m_sNameNge
|
|
ProjectParameters.sDescriptionShort = m_sDescriptionShort
|
|
ProjectParameters.sDescriptionLong = m_sDescriptionLong
|
|
ProjectParameters.sMinUserLevel = m_sMinUserLevel
|
|
Return ProjectParameters
|
|
End Function
|
|
|
|
#End Region ' Methods
|
|
|
|
End Class
|