cdf740cba7
-aggiunto parametri strategie per lettura lingua
238 lines
8.1 KiB
VB.net
238 lines
8.1 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtBEAMWALL.Core.ConstBeam
|
|
Imports EgtWPFLib5
|
|
Imports Newtonsoft.Json
|
|
Imports EgtUILib
|
|
|
|
Public Class JsonProjectParameters
|
|
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_idDescriptionShortMsg As Integer
|
|
Public Property idDescriptionShortMsg As Integer
|
|
Get
|
|
Return m_idDescriptionShortMsg
|
|
End Get
|
|
Set(value As Integer)
|
|
m_idDescriptionShortMsg = value
|
|
NotifyPropertyChanged(NameOf(idDescriptionShortMsg))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_idDescriptionLongMsg As Integer
|
|
Public Property idDescriptionLongMsg As Integer
|
|
Get
|
|
Return m_idDescriptionLongMsg
|
|
End Get
|
|
Set(value As Integer)
|
|
m_idDescriptionLongMsg = value
|
|
NotifyPropertyChanged(NameOf(idDescriptionLongMsg))
|
|
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(mGroup As String, sName As String, sNameNge As String, sValue As String, sType As String, sDescriptionShort As String, sDescriptionLong As String, idDescriptionShortMsg As Integer, idDescriptionLongMsg As Integer, sMinUserLevel As String)
|
|
m_nGroup = nGroup
|
|
m_sName = sName
|
|
m_sNameNge = sNameNge
|
|
m_sValue = sValue
|
|
m_sType = sType
|
|
m_sDescriptionShort = sDescriptionShort
|
|
m_sDescriptionLong = sDescriptionLong
|
|
m_idDescriptionShortMsg = idDescriptionShortMsg
|
|
m_idDescriptionLongMsg = idDescriptionLongMsg
|
|
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_sDescriptionShort = ProjectParameters.sDescriptionShort
|
|
m_sDescriptionLong = ProjectParameters.sDescriptionLong
|
|
m_idDescriptionShortMsg = ProjectParameters.idDescriptionShortMsg
|
|
m_idDescriptionLongMsg = ProjectParameters.idDescriptionLongMsg
|
|
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 = nGroup
|
|
ProjectParameters.sName = m_sName
|
|
ProjectParameters.sNameNge = m_sNameNge
|
|
If m_idDescriptionShortMsg < 0 OrElse EgtMsg(m_idDescriptionShortMsg).StartsWith("Msg") Then
|
|
ProjectParameters.sDescriptionShort = m_sDescriptionShort
|
|
Else
|
|
ProjectParameters.sDescriptionShort = EgtMsg(m_idDescriptionShortMsg)
|
|
End If
|
|
If m_idDescriptionLongMsg < 0 OrElse EgtMsg(m_idDescriptionLongMsg).StartsWith("Msg") Then
|
|
ProjectParameters.sDescriptionLong = m_sDescriptionLong
|
|
Else
|
|
ProjectParameters.sDescriptionLong = EgtMsg(m_idDescriptionLongMsg)
|
|
End If
|
|
ProjectParameters.sDescriptionShort = m_sDescriptionShort
|
|
ProjectParameters.sDescriptionLong = m_sDescriptionLong
|
|
ProjectParameters.sMinUserLevel = m_sMinUserLevel
|
|
Return ProjectParameters
|
|
End Function
|
|
|
|
#End Region ' Methods
|
|
|
|
End Class |