- miglioramento strategie
This commit is contained in:
@@ -233,12 +233,8 @@
|
||||
<Compile Include="StatusBar\StatusBarV.xaml.vb">
|
||||
<DependentUpon>StatusBarV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StrategyManager\ActiveStrategyListBoxV.xaml.vb">
|
||||
<DependentUpon>ActiveStrategyListBoxV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StrategyManager\DeactivateStrategyListBoxV.xaml.vb">
|
||||
<DependentUpon>DeactivateStrategyListBoxV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StrategyManager\JsonAvailableStrategyHelper.vb" />
|
||||
<Compile Include="StrategyManager\JsonStrategyHelper.vb" />
|
||||
<Compile Include="StrategyManager\ParameterStrategyV.xaml.vb">
|
||||
<DependentUpon>ParameterStrategyV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -725,14 +721,6 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="StrategyManager\ActiveStrategyListBoxV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="StrategyManager\DeactivateStrategyListBoxV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="StrategyManager\ParameterStrategyV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
||||
@@ -133,7 +133,7 @@ Public Class SaveAsStrategyVM
|
||||
' Controllo se il file non è vuoto
|
||||
Dim sFileNameCustomConfig As String = If(String.IsNullOrEmpty(m_sFileNameCustomConfig), CUSTOMERCONFIG_FILE, m_sFileNameCustomConfig)
|
||||
' Crea il file JSON
|
||||
Map.refStrategyManagerVM.CreateCustumerConfigJsonFile(sFileNameCustomConfig)
|
||||
'Map.refStrategyManagerVM.CreateCustumerConfigJsonFile(sFileNameCustomConfig)
|
||||
' Se il file ha un nome valido, aggiorna la configurazione
|
||||
If Not String.IsNullOrEmpty(m_sFileNameCustomConfig) Then
|
||||
' Aggiungo nuovo file a combobox elenco file
|
||||
|
||||
@@ -0,0 +1,373 @@
|
||||
Imports EgtWPFLib5
|
||||
Imports Newtonsoft.Json
|
||||
Imports System.Collections.ObjectModel
|
||||
|
||||
'----------- Classe che fa riferimento alle Feature del file Json -----------
|
||||
Public Class JsonAvailableStrategyFeature
|
||||
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_nPRC As Integer
|
||||
Public Property nPRC As Integer
|
||||
Get
|
||||
Return m_nPRC
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nPRC = value
|
||||
NotifyPropertyChanged(NameOf(nPRC))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nGRP As Integer
|
||||
Public Property nGRP As Integer
|
||||
Get
|
||||
Return m_nGRP
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nGRP = value
|
||||
NotifyPropertyChanged(NameOf(nGRP))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_TopologyList As New ObservableCollection(Of JsonAvailableTopology)
|
||||
Public Property TopologyList As ObservableCollection(Of JsonAvailableTopology)
|
||||
Get
|
||||
Return m_TopologyList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonAvailableTopology))
|
||||
m_TopologyList = value
|
||||
NotifyPropertyChanged(NameOf(TopologyList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
<JsonConstructor>
|
||||
Sub New(sName As String, nPRC As Integer, nGRP As Integer)
|
||||
m_sName = sName
|
||||
m_nPRC = nPRC
|
||||
m_nGRP = nGRP
|
||||
End Sub
|
||||
|
||||
Sub New(StrategyFeature As StrategyFeature)
|
||||
m_sName = StrategyFeature.sName
|
||||
m_nPRC = StrategyFeature.nPRC
|
||||
m_nGRP = StrategyFeature.nGRP
|
||||
For Each Topology In StrategyFeature.TopologyList
|
||||
m_TopologyList.Add(New JsonAvailableTopology(Topology))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento alle Topologie delle Feature del file Json -----------
|
||||
Public Class JsonAvailableTopology
|
||||
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_StrategyList As New ObservableCollection(Of JsonAvailableStrategy)
|
||||
Public Property StrategyList As ObservableCollection(Of JsonAvailableStrategy)
|
||||
Get
|
||||
Return m_StrategyList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonAvailableStrategy))
|
||||
m_StrategyList = value
|
||||
NotifyPropertyChanged(NameOf(StrategyList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
<JsonConstructor>
|
||||
Sub New(sName As String)
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
Sub New(Topology As Topology)
|
||||
m_sName = Topology.sName
|
||||
For Each Strategy In Topology.StrategyList
|
||||
m_StrategyList.Add(New JsonAvailableStrategy(Strategy))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa alle Strategie delle Topologie delle Feature del file Json -----------
|
||||
Public Class JsonAvailableStrategy
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPETIES"
|
||||
|
||||
Private m_sStrategyID As String
|
||||
Public Property sStrategyID As String
|
||||
Get
|
||||
Return m_sStrategyID
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sStrategyID = value
|
||||
NotifyPropertyChanged(NameOf(sStrategyID))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nIndexInList As Integer = -1
|
||||
Public Property nIndexInList As Integer
|
||||
Get
|
||||
Return m_nIndexInList
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nIndexInList = value
|
||||
NotifyPropertyChanged(NameOf(nIndexInList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bActive As Boolean
|
||||
Public Property bActive As Boolean
|
||||
Get
|
||||
Return m_bActive
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bActive = value
|
||||
NotifyPropertyChanged(NameOf(bActive))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ParameterList As New ObservableCollection(Of JsonAvailableGenericParameter)
|
||||
Public Property ParameterList As ObservableCollection(Of JsonAvailableGenericParameter)
|
||||
Get
|
||||
Return m_ParameterList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonAvailableGenericParameter))
|
||||
m_ParameterList = value
|
||||
NotifyPropertyChanged(NameOf(ParameterList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
<JsonConstructor>
|
||||
Sub New(sStrategyID As String, nIndexInList As Integer)
|
||||
m_sStrategyID = sStrategyID
|
||||
m_nIndexInList = nIndexInList
|
||||
End Sub
|
||||
|
||||
Sub New(Strategy As Strategy)
|
||||
m_sStrategyID = Strategy.sStrategyID
|
||||
m_nIndexInList = Strategy.nIndexInList
|
||||
For Each Parameter In Strategy.ParameterList
|
||||
m_ParameterList.Add(New JsonAvailableGenericParameter(Parameter))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Strategie nel file Json -----------
|
||||
Public Class JsonAvailableGenericParameter
|
||||
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_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_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_sMessageId As String
|
||||
Public Property sMessageId As String
|
||||
Get
|
||||
Return m_sMessageId
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sMessageId = value
|
||||
NotifyPropertyChanged(NameOf(sMessageId))
|
||||
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
|
||||
|
||||
Private m_Choices As New ObservableCollection(Of JsonAvailableChoiceParameter)
|
||||
Public Property Choices As ObservableCollection(Of JsonAvailableChoiceParameter)
|
||||
Get
|
||||
Return m_Choices
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonAvailableChoiceParameter))
|
||||
m_Choices = value
|
||||
NotifyPropertyChanged(NameOf(Choices))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
<JsonConstructor>
|
||||
Sub New(sName As String, sNameNge As String, sValue As String, sDescriptionShort As String, sDescriptionLong As String, sType As String, sMessageId As String, sMinUserLevel As Integer)
|
||||
m_sName = sName
|
||||
m_sNameNge = sNameNge
|
||||
m_sValue = sValue
|
||||
m_sDescriptionShort = sDescriptionShort
|
||||
m_sDescriptionLong = sDescriptionLong
|
||||
m_sType = sType
|
||||
m_sMessageId = sMessageId
|
||||
m_sMinUserLevel = sMinUserLevel
|
||||
End Sub
|
||||
|
||||
Sub New(StrategyParameter As StrategyParameter)
|
||||
m_sName = StrategyParameter.sName
|
||||
m_sNameNge = StrategyParameter.sNameNge
|
||||
Select Case StrategyParameter.GetType()
|
||||
Case GetType(BooleanStrategyParameter)
|
||||
m_sValue = If(DirectCast(StrategyParameter, BooleanStrategyParameter).bValue, "true", "false")
|
||||
Case GetType(DoubleStrategyParameter)
|
||||
m_sValue = DirectCast(StrategyParameter, DoubleStrategyParameter).sValue
|
||||
Case GetType(ComboStrategyParameter)
|
||||
m_sValue = DirectCast(StrategyParameter, ComboStrategyParameter).SelValue.sValue
|
||||
End Select
|
||||
m_sDescriptionShort = StrategyParameter.sDescriptionShort
|
||||
m_sDescriptionLong = StrategyParameter.sDescriptionLong
|
||||
m_sMessageId = StrategyParameter.sMessageId
|
||||
m_sMinUserLevel = StrategyParameter.sMinUserLevel
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Scelte nel file Json -----------
|
||||
Public Class JsonAvailableChoiceParameter
|
||||
Inherits VMBase
|
||||
|
||||
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_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_sMessageId As String
|
||||
Public Property sMessageId As String
|
||||
Get
|
||||
Return m_sMessageId
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sMessageId = value
|
||||
NotifyPropertyChanged(NameOf(sMessageId))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class JsonStrategyHelper
|
||||
|
||||
End Class
|
||||
@@ -8,44 +8,45 @@
|
||||
<ItemsControl ItemsSource="{Binding SelTreeItem.SelParamStrategy.ParameterList}"
|
||||
Foreground="Black">
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type Optmizer:GenericParameter}">
|
||||
<DataTemplate DataType="{x:Type Optmizer:BooleanStrategyParameter}">
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,2,5,0">
|
||||
Margin="5,2,5,0">
|
||||
<TextBlock Text="{Binding sDescriptionShort}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TabControl SelectedIndex="{Binding SelTypeValue}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
HorizontalAlignment="Right">
|
||||
<TabControl.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TabItem}">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
</Style>
|
||||
</TabControl.ItemContainerStyle>
|
||||
<TabItem Header="TEXT">
|
||||
<TextBox Text="{Binding sValue}"
|
||||
Style="{StaticResource ColorPicker_TextBox}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding sValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource OnlyProdFeatureInPartInRawPartList_CheckBox}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding Choices}"
|
||||
SelectedItem="{Binding SelectedChoice}"
|
||||
Margin="0"
|
||||
Foreground="Black"
|
||||
Style="{StaticResource OnlyProdCalcPanel_ComboBox}">
|
||||
<ComboBox.Resources>
|
||||
<DataTemplate DataType="{x:Type Optmizer:ChoiceParameter}">
|
||||
<TextBlock Text="{Binding sValue}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.Resources>
|
||||
</ComboBox>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<CheckBox IsChecked="{Binding sValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource OnlyProdFeatureInPartInRawPartList_CheckBox}"/>
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type Optmizer:DoubleStrategyParameter}">
|
||||
<UniformGrid Columns="2"
|
||||
Margin="5,2,5,0">
|
||||
<TextBlock Text="{Binding sDescriptionShort}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Text="{Binding sValue}"
|
||||
Style="{StaticResource ColorPicker_TextBox}"/>
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type Optmizer:ComboStrategyParameter}">
|
||||
<UniformGrid Columns="2"
|
||||
Margin="5,2,5,0">
|
||||
<TextBlock Text="{Binding sDescriptionShort}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ComboBox ItemsSource="{Binding ComboList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
DisplayMemberPath="sValue"
|
||||
Margin="0"
|
||||
Foreground="Black"
|
||||
Style="{StaticResource OnlyProdCalcPanel_ComboBox}">
|
||||
<!--<ComboBox.Resources>
|
||||
<DataTemplate DataType="{x:Type Optmizer:ComboParameter}">
|
||||
<TextBlock Text="{Binding sValue}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.Resources>-->
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
SelectedItem="{Binding SelStrategySetup}"
|
||||
DisplayMemberPath="sName"
|
||||
Style="{StaticResource Strategy_ComboBox}"/>
|
||||
<Button Command="{Binding New_Command}"
|
||||
ToolTip="{Binding SaveAsToolTip}"
|
||||
Margin="10,0,10,0"
|
||||
Style="{StaticResource SaveOptionPanel_Button}">
|
||||
<Image Source="/Resources/NewPage/+.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding OpenFileNameCustomConfigCommand}"
|
||||
ToolTip="{Binding SaveAsToolTip}"
|
||||
Margin="10,0,10,0"
|
||||
|
||||
@@ -122,6 +122,7 @@ Public Class StrategyManagerVM
|
||||
' Definizione Comandi
|
||||
Private m_AddSelectedStrategyCommand As ICommand
|
||||
Private m_RemoveSelectedStrategyCommand As ICommand
|
||||
Private m_NewCommand As ICommand
|
||||
Private m_OpenCommand As ICommand
|
||||
Private m_SaveCommand As ICommand
|
||||
Private m_OpenFileNameCustomConfigCommand As ICommand
|
||||
@@ -154,89 +155,89 @@ Public Class StrategyManagerVM
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per creare file json
|
||||
''' </summary>
|
||||
Friend Sub CreateCustumerConfigJsonFile(fileCostumerConfig As String)
|
||||
Try
|
||||
Dim m_JsonStrategyFeatureList As New ObservableCollection(Of JsonStrategyFeature)(m_SelStrategySetup.StrategyFeatureList.Select(AddressOf ConvertToJsonStrategy))
|
||||
' Serializzazione in JSON
|
||||
Dim AvailableStrategyListjsonFile As String = JsonConvert.SerializeObject(m_JsonStrategyFeatureList, Formatting.Indented)
|
||||
' Scrittura su file
|
||||
File.WriteAllText(Map.refMainWindowVM.MainWindowM.GetAISetupDirPath() & "\" & fileCostumerConfig & ".json", AvailableStrategyListjsonFile)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Errore durante la creazione del file JSON: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
'''' <summary>
|
||||
'''' Funzione per creare file json
|
||||
'''' </summary>
|
||||
'Friend Sub CreateCustumerConfigJsonFile(fileCostumerConfig As String)
|
||||
' Try
|
||||
' Dim m_JsonStrategyFeatureList As New ObservableCollection(Of JsonAvailableStrategyFeature)(m_SelStrategySetup.StrategyFeatureList.Select(AddressOf ConvertToJsonStrategy))
|
||||
' ' Serializzazione in JSON
|
||||
' Dim AvailableStrategyListjsonFile As String = JsonConvert.SerializeObject(m_JsonStrategyFeatureList, Formatting.Indented)
|
||||
' ' Scrittura su file
|
||||
' File.WriteAllText(Map.refMainWindowVM.MainWindowM.GetAISetupDirPath() & "\" & fileCostumerConfig & ".json", AvailableStrategyListjsonFile)
|
||||
' Catch ex As Exception
|
||||
' EgtOutLog("Errore durante la creazione del file JSON: " & ex.Message)
|
||||
' End Try
|
||||
'End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per convertire da AvailableStrategy a JsonAvailableStrategy
|
||||
''' </summary>
|
||||
''' <param name="StrategyFeature"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ConvertToJsonStrategy(StrategyFeature As StrategyFeature) As JsonStrategyFeature
|
||||
Return New JsonStrategyFeature With {
|
||||
.sName = StrategyFeature.sName,
|
||||
.nPRC = StrategyFeature.nPRC,
|
||||
.nGRP = StrategyFeature.nGRP,
|
||||
.TopologyList = New ObservableCollection(Of JsonTopology)(StrategyFeature.TopologyList.Select(AddressOf ConvertToJsonTopology))}
|
||||
End Function
|
||||
'''' <summary>
|
||||
'''' Funzione per convertire da AvailableStrategy a JsonAvailableStrategy
|
||||
'''' </summary>
|
||||
'''' <param name="StrategyFeature"></param>
|
||||
'''' <returns></returns>
|
||||
''Private Function ConvertToJsonStrategy(StrategyFeature As StrategyFeature) As JsonAvailableStrategyFeature
|
||||
'' Return New JsonAvailableStrategyFeature With {
|
||||
' .sName = StrategyFeature.sName,
|
||||
' .nPRC = StrategyFeature.nPRC,
|
||||
' .nGRP = StrategyFeature.nGRP,
|
||||
' .TopologyList = New ObservableCollection(Of JsonAvailableTopology)(StrategyFeature.TopologyList.Select(AddressOf ConvertToJsonTopology))}
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per convertire da Topology a JsonTopology
|
||||
''' </summary>
|
||||
''' <param name="topology"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ConvertToJsonTopology(Topology As Topology) As JsonTopology
|
||||
Return New JsonTopology With {
|
||||
.sName = Topology.sName,
|
||||
.StrategyList = New ObservableCollection(Of JsonStrategy)(Topology.StrategyList.Select(AddressOf ConvertToJsonStrategyConfiguration))
|
||||
}
|
||||
End Function
|
||||
'''' <summary>
|
||||
'''' Funzione per convertire da Topology a JsonTopology
|
||||
'''' </summary>
|
||||
'''' <param name="topology"></param>
|
||||
'''' <returns></returns>
|
||||
'Private Function ConvertToJsonTopology(Topology As Topology) As JsonAvailableTopology
|
||||
' Return New JsonAvailableTopology With {
|
||||
' .sName = Topology.sName,
|
||||
' .StrategyList = New ObservableCollection(Of JsonAvailableStrategy)(Topology.StrategyList.Select(AddressOf ConvertToJsonStrategyConfiguration))
|
||||
' }
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per convertire da StrategyConfiguration a JsonStrategyConfiguration
|
||||
''' </summary>
|
||||
''' <param name="Strategy"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ConvertToJsonStrategyConfiguration(Strategy As Strategy) As JsonStrategy
|
||||
Return New JsonStrategy With {
|
||||
.sStrategyID = Strategy.sStrategyID,
|
||||
.nIndexInList = Strategy.nIndexInList,
|
||||
.bActive = Strategy.bActive,
|
||||
.ParameterList = New ObservableCollection(Of JsonGenericParameter)(Strategy.ParameterList.Select(AddressOf ConvertToJsonParameter))}
|
||||
End Function
|
||||
'''' <summary>
|
||||
'''' Funzione per convertire da StrategyConfiguration a JsonStrategyConfiguration
|
||||
'''' </summary>
|
||||
'''' <param name="Strategy"></param>
|
||||
'''' <returns></returns>
|
||||
'Private Function ConvertToJsonStrategyConfiguration(Strategy As Strategy) As JsonAvailableStrategy
|
||||
' Return New JsonAvailableStrategy With {
|
||||
' .sStrategyID = Strategy.sStrategyID,
|
||||
' .nIndexInList = Strategy.nIndexInList,
|
||||
' .bActive = Strategy.bActive,
|
||||
' .ParameterList = New ObservableCollection(Of JsonAvailableGenericParameter)(Strategy.ParameterList.Select(AddressOf ConvertToJsonParameter))}
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per convertire da GenericParameter a JsonGenericParameter
|
||||
''' </summary>
|
||||
''' <param name="genericParameter"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ConvertToJsonParameter(GenericParameter As GenericParameter) As JsonGenericParameter
|
||||
Return New JsonGenericParameter With {
|
||||
.sName = GenericParameter.sName,
|
||||
.sNameNge = GenericParameter.sNameNge,
|
||||
.sValue = GenericParameter.sValue,
|
||||
.sDescriptionShort = GenericParameter.sDescriptionShort,
|
||||
.sDescriptionLong = GenericParameter.sDescriptionLong,
|
||||
.sType = GenericParameter.sType,
|
||||
.sMessageId = GenericParameter.sMessageId,
|
||||
.sMinUserLevel = GenericParameter.sMinUserLevel,
|
||||
.Choices = New ObservableCollection(Of JsonChoiceParameter)(GenericParameter.Choices.Select(AddressOf ConvertToJsonChoiceParameter))}
|
||||
End Function
|
||||
'''' <summary>
|
||||
'''' Funzione per convertire da GenericParameter a JsonGenericParameter
|
||||
'''' </summary>
|
||||
'''' <param name="genericParameter"></param>
|
||||
'''' <returns></returns>
|
||||
'Private Function ConvertToJsonParameter(GenericParameter As StrategyParameter) As JsonAvailableGenericParameter
|
||||
' Return New JsonAvailableGenericParameter With {
|
||||
' .sName = GenericParameter.sName,
|
||||
' .sNameNge = GenericParameter.sNameNge,
|
||||
' .sValue = GenericParameter.sValue,
|
||||
' .sDescriptionShort = GenericParameter.sDescriptionShort,
|
||||
' .sDescriptionLong = GenericParameter.sDescriptionLong,
|
||||
' .sType = GenericParameter.Type,
|
||||
' .sMessageId = GenericParameter.sMessageId,
|
||||
' .sMinUserLevel = GenericParameter.sMinUserLevel,
|
||||
' .Choices = New ObservableCollection(Of JsonAvailableChoiceParameter)(GenericParameter.Choices.Select(AddressOf ConvertToJsonChoiceParameter))}
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per convertire da ChoicesParameter a JsonChoicesParameter
|
||||
''' </summary>
|
||||
''' <param name="choiceParameter"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ConvertToJsonChoiceParameter(ChoiceParameter As ChoiceParameter) As JsonChoiceParameter
|
||||
Return New JsonChoiceParameter With {
|
||||
.sValue = ChoiceParameter.sValue,
|
||||
.sDescriptionShort = ChoiceParameter.sDescriptionShort,
|
||||
.sDescriptionLong = ChoiceParameter.sDescriptionLong,
|
||||
.sMessageId = ChoiceParameter.sMessageId}
|
||||
End Function
|
||||
'''' <summary>
|
||||
'''' Funzione per convertire da ChoicesParameter a JsonChoicesParameter
|
||||
'''' </summary>
|
||||
'''' <param name="choiceParameter"></param>
|
||||
'''' <returns></returns>
|
||||
'Private Function ConvertToJsonChoiceParameter(ChoiceParameter As ComboParameter) As JsonAvailableChoiceParameter
|
||||
' Return New JsonAvailableChoiceParameter With {
|
||||
' .sValue = ChoiceParameter.sValue,
|
||||
' .sDescriptionShort = ChoiceParameter.sDescriptionShort,
|
||||
' .sDescriptionLong = ChoiceParameter.sDescriptionLong,
|
||||
' .sMessageId = ChoiceParameter.sMessageId}
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione che salva il file CustomConfig Json
|
||||
@@ -252,7 +253,7 @@ Public Class StrategyManagerVM
|
||||
NotifyPropertyChanged(NameOf(StrategySetupList))
|
||||
End If
|
||||
' Crea il file JSON
|
||||
CreateCustumerConfigJsonFile(fileCustomerConfigJson)
|
||||
'CreateCustumerConfigJsonFile(fileCustomerConfigJson)
|
||||
' Se un file è stato selezionato, resetta il flag di modifica
|
||||
SetbIsModifyStrategy(False)
|
||||
End Sub
|
||||
@@ -369,6 +370,32 @@ Public Class StrategyManagerVM
|
||||
|
||||
#End Region ' OpenFileNameCustomConfigCommand
|
||||
|
||||
#Region "New"
|
||||
|
||||
Public ReadOnly Property New_Command As ICommand
|
||||
Get
|
||||
If m_NewCommand Is Nothing Then
|
||||
m_NewCommand = New Command(AddressOf NewAiSetup)
|
||||
End If
|
||||
Return m_NewCommand
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Funzione che salva il file json CustomerConfig
|
||||
''' </summary>
|
||||
Public Sub NewAiSetup()
|
||||
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath()
|
||||
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & "Test1" & ".json"
|
||||
Dim NewStrategy As New StrategySetup("Test1")
|
||||
m_StrategySetupList.Add(NewStrategy)
|
||||
SelStrategySetup = NewStrategy
|
||||
NotifyPropertyChanged(NameOf(StrategySetupList))
|
||||
'SaveJson()
|
||||
End Sub
|
||||
|
||||
#End Region ' New
|
||||
|
||||
#Region "SaveCommand"
|
||||
|
||||
Public ReadOnly Property SaveCommand As ICommand
|
||||
@@ -384,7 +411,8 @@ Public Class StrategyManagerVM
|
||||
''' Funzione che salva il file json CustomerConfig
|
||||
''' </summary>
|
||||
Public Sub Save()
|
||||
SaveJson()
|
||||
m_SelStrategySetup.Write()
|
||||
'SaveJson()
|
||||
End Sub
|
||||
|
||||
#End Region ' SaveCommand
|
||||
@@ -552,7 +580,7 @@ Public Class StrategySetup
|
||||
Dim sAvailableStrategiesFilePath As String = sStrategiesDirPath & "\" & AVAILABLESTRATEGYLIST_FILE & ".json"
|
||||
If File.Exists(sAvailableStrategiesFilePath) Then
|
||||
Dim sReadedFile As String = File.ReadAllText(sAvailableStrategiesFilePath)
|
||||
Dim JsonStrategyFeatureList As List(Of JsonStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonStrategyFeature))(sReadedFile)
|
||||
Dim JsonStrategyFeatureList As List(Of JsonAvailableStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonAvailableStrategyFeature))(sReadedFile)
|
||||
m_StrategyFeatureList = New ObservableCollection(Of StrategyFeature)((From JsonStrategyFeature In JsonStrategyFeatureList
|
||||
Select New StrategyFeature(JsonStrategyFeature)).ToList())
|
||||
|
||||
@@ -562,7 +590,7 @@ Public Class StrategySetup
|
||||
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & sName & ".json"
|
||||
If File.Exists(sStrategyConfigurationFilePath) Then
|
||||
Dim sReadedFile As String = File.ReadAllText(sStrategyConfigurationFilePath)
|
||||
Dim JsonStrategyFeatureList As List(Of JsonStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonStrategyFeature))(sReadedFile)
|
||||
Dim JsonStrategyFeatureList As List(Of JsonAvailableStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonAvailableStrategyFeature))(sReadedFile)
|
||||
For Each Feature In JsonStrategyFeatureList
|
||||
Dim DefaultFeature As StrategyFeature = m_StrategyFeatureList.FirstOrDefault(Function(x) x.nPRC = Feature.nPRC AndAlso x.nGRP = Feature.nGRP)
|
||||
' gestire caso non venga trovata perchè non esiste più in default??'
|
||||
@@ -585,6 +613,17 @@ Public Class StrategySetup
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub Write()
|
||||
Dim WriteList As New List(Of JsonAvailableStrategyFeature)
|
||||
For Each StrategyFeature In m_StrategyFeatureList
|
||||
WriteList.Add(StrategyFeature.Serialize())
|
||||
Next
|
||||
Dim JsonFromStrategy As String = JsonConvert.SerializeObject(WriteList, Formatting.Indented)
|
||||
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath()
|
||||
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & sName & ".json"
|
||||
File.WriteAllText(sStrategyConfigurationFilePath, JsonFromStrategy)
|
||||
End Sub
|
||||
|
||||
#End Region ' Methods
|
||||
|
||||
End Class
|
||||
@@ -643,7 +682,7 @@ Public Class StrategyFeature
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(JsonStrategyFeature As JsonStrategyFeature)
|
||||
Sub New(JsonStrategyFeature As JsonAvailableStrategyFeature)
|
||||
If IsNothing(JsonStrategyFeature) Then Return
|
||||
m_sName = JsonStrategyFeature.sName
|
||||
m_nPRC = JsonStrategyFeature.nPRC
|
||||
@@ -654,6 +693,12 @@ Public Class StrategyFeature
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
Friend Function Serialize() As JsonAvailableStrategyFeature
|
||||
Dim JsonAvailableStrategyFeature As New JsonAvailableStrategyFeature(Me)
|
||||
Return JsonAvailableStrategyFeature
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento alle Topologie delle Feature -----------
|
||||
@@ -754,7 +799,7 @@ Public Class Topology
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(JsonTopology As JsonTopology)
|
||||
Sub New(JsonTopology As JsonAvailableTopology)
|
||||
If IsNothing(JsonTopology) Then Return
|
||||
m_sName = JsonTopology.sName
|
||||
m_StrategyList = New ObservableCollection(Of Strategy)(JsonTopology.StrategyList.Select(Function(jsonStrategy) New Strategy(Me, jsonStrategy)))
|
||||
@@ -835,12 +880,12 @@ Public Class Strategy
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ParameterList As New ObservableCollection(Of GenericParameter)
|
||||
Public Property ParameterList As ObservableCollection(Of GenericParameter)
|
||||
Private m_ParameterList As New ObservableCollection(Of StrategyParameter)
|
||||
Public Property ParameterList As ObservableCollection(Of StrategyParameter)
|
||||
Get
|
||||
Return m_ParameterList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of GenericParameter))
|
||||
Set(value As ObservableCollection(Of StrategyParameter))
|
||||
m_ParameterList = value
|
||||
NotifyPropertyChanged(NameOf(ParameterList))
|
||||
End Set
|
||||
@@ -850,7 +895,7 @@ Public Class Strategy
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(ParentTopology As Topology, JsonStrategy As JsonStrategy)
|
||||
Sub New(ParentTopology As Topology, JsonStrategy As JsonAvailableStrategy)
|
||||
m_ParentTopology = ParentTopology
|
||||
If IsNothing(JsonStrategy) Then Return
|
||||
m_sStrategyID = JsonStrategy.sStrategyID
|
||||
@@ -872,23 +917,30 @@ Public Class Strategy
|
||||
If Not File.Exists(StrategyPath) Then Return
|
||||
' Leggo il contenuto del file JSON e deserializzo
|
||||
Dim StrategyJson As String = File.ReadAllText(StrategyPath)
|
||||
Dim strategyConfig As JsonStrategy = JsonConvert.DeserializeObject(Of JsonStrategy)(StrategyJson)
|
||||
' Assegno ParamList per poter visualizzarla da interfaccia econtrollo di che tipo è se Strategy o JsonStrategy
|
||||
m_ParameterList = New ObservableCollection(Of GenericParameter)(strategyConfig.ParameterList.Select(Function(p) New GenericParameter(p)).ToList())
|
||||
Dim strategyConfig As JsonAvailableStrategy = JsonConvert.DeserializeObject(Of JsonAvailableStrategy)(StrategyJson)
|
||||
' Assegno ParamList per poter visualizzarla da interfaccia e controllo di che tipo è se Strategy o JsonStrategy
|
||||
m_ParameterList = New ObservableCollection(Of StrategyParameter)(strategyConfig.ParameterList.Select(Function(p) StrategyParameter.NewStrategyParameter(p)).ToList())
|
||||
End Sub
|
||||
|
||||
Friend Sub ReadConfiguration(ConfigurationStrategy As JsonStrategy)
|
||||
Friend Sub ReadConfiguration(ConfigurationStrategy As JsonAvailableStrategy)
|
||||
m_nIndexInList = ConfigurationStrategy.nIndexInList
|
||||
NotifyPropertyChanged(NameOf(nIndexInList))
|
||||
'm_ParentTopology.NotifyPropertyChanged(NameOf(m_ParentTopology.AvailableStrategyList_View))
|
||||
'm_ParentTopology.NotifyPropertyChanged(NameOf(m_ParentTopology.ActiveStrategyList_View))
|
||||
For Each Parameter In ConfigurationStrategy.ParameterList
|
||||
Dim DefaultParameter As GenericParameter = m_ParameterList.FirstOrDefault(Function(x) x.sNameNge = Parameter.sNameNge)
|
||||
Dim DefaultParameter As StrategyParameter = m_ParameterList.FirstOrDefault(Function(x) x.sNameNge = Parameter.sNameNge)
|
||||
If IsNothing(DefaultParameter) Then
|
||||
m_ParameterList.Add(New GenericParameter(Parameter))
|
||||
m_ParameterList.Add(StrategyParameter.NewStrategyParameter(Parameter))
|
||||
' verifico indici!!
|
||||
Else
|
||||
DefaultParameter.sValue = Parameter.sValue
|
||||
Select Case DefaultParameter.GetType()
|
||||
Case GetType(BooleanStrategyParameter)
|
||||
DirectCast(DefaultParameter, BooleanStrategyParameter).SetValue(Parameter.sValue)
|
||||
Case GetType(DoubleStrategyParameter)
|
||||
DirectCast(DefaultParameter, DoubleStrategyParameter).SetValue(Parameter.sValue)
|
||||
Case GetType(ComboStrategyParameter)
|
||||
DirectCast(DefaultParameter, ComboStrategyParameter).SetSelValue(Parameter.sValue)
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
@@ -896,9 +948,16 @@ Public Class Strategy
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Strategie -----------
|
||||
Public Class GenericParameter
|
||||
Public Class StrategyParameter
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum StrategyParameterTypes As Integer
|
||||
BOOLEAN_ = 1
|
||||
DOUBLE_ = 2
|
||||
STRING_ = 3
|
||||
COMBO = 4
|
||||
End Enum
|
||||
|
||||
#Region "FIELDS & PROPETIES"
|
||||
|
||||
Private m_ParentStrategy As Strategy
|
||||
@@ -925,16 +984,16 @@ Public Class GenericParameter
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend 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
|
||||
'Friend 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_sDescriptionShort As String
|
||||
Public Property sDescriptionShort As String
|
||||
@@ -958,15 +1017,11 @@ Public Class GenericParameter
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sType As String
|
||||
Public Property sType As String
|
||||
Private m_Type As StrategyParameterTypes
|
||||
Public ReadOnly Property Type As StrategyParameterTypes
|
||||
Get
|
||||
Return m_sType
|
||||
Return m_Type
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sType = value
|
||||
NotifyPropertyChanged(NameOf(sType))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sMessageId As String
|
||||
@@ -991,32 +1046,17 @@ Public Class GenericParameter
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Choices As New ObservableCollection(Of ChoiceParameter)
|
||||
Public Property Choices As ObservableCollection(Of ChoiceParameter)
|
||||
Get
|
||||
Return m_Choices
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of ChoiceParameter))
|
||||
m_Choices = value
|
||||
NotifyPropertyChanged(NameOf(Choices))
|
||||
End Set
|
||||
End Property
|
||||
'Private m_Choices As New ObservableCollection(Of ChoiceParameter)
|
||||
'Public Property Choices As ObservableCollection(Of ChoiceParameter)
|
||||
' Get
|
||||
' Return m_Choices
|
||||
' End Get
|
||||
' Set(value As ObservableCollection(Of ChoiceParameter))
|
||||
' m_Choices = value
|
||||
' NotifyPropertyChanged(NameOf(Choices))
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
' Seleziona elemento nella combobox Choices
|
||||
Public m_SelectedChoice As ChoiceParameter
|
||||
Public Property SelectedChoice As ChoiceParameter
|
||||
Get
|
||||
Return m_SelectedChoice
|
||||
End Get
|
||||
Set(value As ChoiceParameter)
|
||||
m_SelectedChoice = value
|
||||
If Not IsNothing(m_SelectedChoice) Then
|
||||
m_sValue = m_SelectedChoice.sValue
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelectedChoice))
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend m_SelTypeValue As Integer = 0
|
||||
Public Property SelTypeValue As Integer
|
||||
@@ -1033,26 +1073,131 @@ Public Class GenericParameter
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(JsonGenericParameter As JsonGenericParameter)
|
||||
Sub New(JsonGenericParameter As JsonAvailableGenericParameter)
|
||||
If IsNothing(JsonGenericParameter) Then Return
|
||||
m_sName = JsonGenericParameter.sName
|
||||
m_sNameNge = JsonGenericParameter.sNameNge
|
||||
m_sValue = JsonGenericParameter.sValue
|
||||
'm_sValue = JsonGenericParameter.sValue
|
||||
m_sDescriptionShort = JsonGenericParameter.sDescriptionShort
|
||||
m_sDescriptionLong = JsonGenericParameter.sDescriptionLong
|
||||
m_sType = JsonGenericParameter.sType
|
||||
'm_Type = JsonGenericParameter.sType
|
||||
StringToDouble(JsonGenericParameter.sType, m_Type)
|
||||
m_sMessageId = JsonGenericParameter.sMessageId
|
||||
m_sMinUserLevel = JsonGenericParameter.sMinUserLevel
|
||||
m_Choices = New ObservableCollection(Of ChoiceParameter)(JsonGenericParameter.Choices.Select(Function(jsonChoice) New ChoiceParameter(jsonChoice)))
|
||||
NotifyPropertyChanged(NameOf(Choices))
|
||||
'm_Choices = New ObservableCollection(Of ChoiceParameter)(JsonGenericParameter.Choices.Select(Function(jsonChoice) New ChoiceParameter(jsonChoice)))
|
||||
'NotifyPropertyChanged(NameOf(Choices))
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
Public Shared Function NewStrategyParameter(JsonGenericParameter As JsonAvailableGenericParameter) As StrategyParameter
|
||||
Select Case JsonGenericParameter.sType
|
||||
Case "b"
|
||||
Return New BooleanStrategyParameter(JsonGenericParameter)
|
||||
Case "d"
|
||||
Return New DoubleStrategyParameter(JsonGenericParameter)
|
||||
Case "combo"
|
||||
Return New ComboStrategyParameter(JsonGenericParameter)
|
||||
End Select
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class BooleanStrategyParameter
|
||||
Inherits StrategyParameter
|
||||
|
||||
Friend m_bValue As Boolean
|
||||
Public Property bValue As Boolean
|
||||
Get
|
||||
Return m_bValue
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetValue(sValue As String)
|
||||
m_bValue = sValue.ToLower() = "true"
|
||||
End Sub
|
||||
|
||||
Sub New(JsonGenericParameter As JsonAvailableGenericParameter)
|
||||
MyBase.New(JsonGenericParameter)
|
||||
If IsNothing(JsonGenericParameter) Then Return
|
||||
m_bValue = JsonGenericParameter.sValue.ToLower() = "true"
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class DoubleStrategyParameter
|
||||
Inherits StrategyParameter
|
||||
|
||||
Private m_dValue As Double
|
||||
Public Property sValue As String
|
||||
Get
|
||||
Return DoubleToString(m_dValue, 2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dValue As Double
|
||||
If StringToDouble(value, dValue) Then
|
||||
m_dValue = dValue
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetValue(sValue As String)
|
||||
If Not StringToDouble(sValue, m_dValue) Then
|
||||
EgtOutLog("Error reading DoubleStrategyParameter " & sValue)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub New(JsonGenericParameter As JsonAvailableGenericParameter)
|
||||
MyBase.New(JsonGenericParameter)
|
||||
If IsNothing(JsonGenericParameter) Then Return
|
||||
If Not StringToDouble(JsonGenericParameter.sValue, m_dValue) Then
|
||||
EgtOutLog("Error reading DoubleStrategyParameter " & JsonGenericParameter.sValue)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ComboStrategyParameter
|
||||
Inherits StrategyParameter
|
||||
|
||||
Private m_ComboList As New List(Of ComboParameter)
|
||||
Public Property ComboList As List(Of ComboParameter)
|
||||
Get
|
||||
Return m_ComboList
|
||||
End Get
|
||||
Set(value As List(Of ComboParameter))
|
||||
m_ComboList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Seleziona elemento nella combobox Choices
|
||||
Private m_SelValue As ComboParameter
|
||||
Public Property SelValue As ComboParameter
|
||||
Get
|
||||
Return m_SelValue
|
||||
End Get
|
||||
Set(value As ComboParameter)
|
||||
m_SelValue = value
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetSelValue(sValue As String)
|
||||
m_SelValue = m_ComboList.FirstOrDefault(Function(x) x.sValue = sValue)
|
||||
End Sub
|
||||
|
||||
Sub New(JsonGenericParameter As JsonAvailableGenericParameter)
|
||||
MyBase.New(JsonGenericParameter)
|
||||
If IsNothing(JsonGenericParameter) Then Return
|
||||
ComboList = JsonGenericParameter.Choices.Select(Function(jsonChoice) New ComboParameter(jsonChoice)).ToList()
|
||||
m_SelValue = m_ComboList.FirstOrDefault(Function(x) x.sValue = JsonGenericParameter.sValue)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Scelte -----------
|
||||
Public Class ChoiceParameter
|
||||
Public Class ComboParameter
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELD & PROPERTIES"
|
||||
@@ -1105,7 +1250,7 @@ Public Class ChoiceParameter
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(JsonChoiceParameter As JsonChoiceParameter)
|
||||
Sub New(JsonChoiceParameter As JsonAvailableChoiceParameter)
|
||||
If Not IsNothing(JsonChoiceParameter) Then
|
||||
m_sValue = JsonChoiceParameter.sValue
|
||||
m_sDescriptionShort = JsonChoiceParameter.sDescriptionShort
|
||||
@@ -1118,305 +1263,6 @@ Public Class ChoiceParameter
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento alle Feature del file Json -----------
|
||||
Public Class JsonStrategyFeature
|
||||
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_nPRC As Integer
|
||||
Public Property nPRC As Integer
|
||||
Get
|
||||
Return m_nPRC
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nPRC = value
|
||||
NotifyPropertyChanged(NameOf(nPRC))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nGRP As Integer
|
||||
Public Property nGRP As Integer
|
||||
Get
|
||||
Return m_nGRP
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nGRP = value
|
||||
NotifyPropertyChanged(NameOf(nGRP))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_TopologyList As New ObservableCollection(Of JsonTopology)
|
||||
Public Property TopologyList As ObservableCollection(Of JsonTopology)
|
||||
Get
|
||||
Return m_TopologyList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonTopology))
|
||||
m_TopologyList = value
|
||||
NotifyPropertyChanged(NameOf(TopologyList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento alle Topologie delle Feature del file Json -----------
|
||||
Public Class JsonTopology
|
||||
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_StrategyList As New ObservableCollection(Of JsonStrategy)
|
||||
Public Property StrategyList As ObservableCollection(Of JsonStrategy)
|
||||
Get
|
||||
Return m_StrategyList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonStrategy))
|
||||
m_StrategyList = value
|
||||
NotifyPropertyChanged(NameOf(StrategyList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa alle Strategie delle Topologie delle Feature del file Json -----------
|
||||
Public Class JsonStrategy
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPETIES"
|
||||
|
||||
Private m_sStrategyID As String
|
||||
Public Property sStrategyID As String
|
||||
Get
|
||||
Return m_sStrategyID
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sStrategyID = value
|
||||
NotifyPropertyChanged(NameOf(sStrategyID))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nIndexInList As Integer = -1
|
||||
Public Property nIndexInList As Integer
|
||||
Get
|
||||
Return m_nIndexInList
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nIndexInList = value
|
||||
NotifyPropertyChanged(NameOf(nIndexInList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bActive As Boolean
|
||||
Public Property bActive As Boolean
|
||||
Get
|
||||
Return m_bActive
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bActive = value
|
||||
NotifyPropertyChanged(NameOf(bActive))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ParameterList As New ObservableCollection(Of JsonGenericParameter)
|
||||
Public Property ParameterList As ObservableCollection(Of JsonGenericParameter)
|
||||
Get
|
||||
Return m_ParameterList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonGenericParameter))
|
||||
m_ParameterList = value
|
||||
NotifyPropertyChanged(NameOf(ParameterList))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Strategie nel file Json -----------
|
||||
Public Class JsonGenericParameter
|
||||
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_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_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_sMessageId As String
|
||||
Public Property sMessageId As String
|
||||
Get
|
||||
Return m_sMessageId
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sMessageId = value
|
||||
NotifyPropertyChanged(NameOf(sMessageId))
|
||||
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
|
||||
|
||||
Private m_Choices As New ObservableCollection(Of JsonChoiceParameter)
|
||||
Public Property Choices As ObservableCollection(Of JsonChoiceParameter)
|
||||
Get
|
||||
Return m_Choices
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of JsonChoiceParameter))
|
||||
m_Choices = value
|
||||
NotifyPropertyChanged(NameOf(Choices))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Propeties
|
||||
|
||||
End Class
|
||||
|
||||
'----------- Classe che fa riferimento ai parametri delle Scelte nel file Json -----------
|
||||
Public Class JsonChoiceParameter
|
||||
Inherits VMBase
|
||||
|
||||
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_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_sMessageId As String
|
||||
Public Property sMessageId As String
|
||||
Get
|
||||
Return m_sMessageId
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sMessageId = value
|
||||
NotifyPropertyChanged(NameOf(sMessageId))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
|
||||
Public Class StrategyTypeToFocusableConverter
|
||||
Implements IValueConverter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user