csUSDomainPlugin.Effects.ViewModels.EffectsModelSettingsViewModel.SetModelPropertyData C# (CSharp) Method

SetModelPropertyData() public method

public SetModelPropertyData ( Newtonsoft.Json.Linq.JArray modelPropertyData ) : void
modelPropertyData Newtonsoft.Json.Linq.JArray
return void
        public void SetModelPropertyData(JArray modelPropertyData)
        {
            InputParameters = modelPropertyData.Cast<JObject>().Where(inputParameter=>!(bool)inputParameter["IsResult"]).Select<JObject,EffectsInputParameterViewModel>(inputParameter =>
            {
                switch ((int) inputParameter["ParameterType"])
                {
                    case 1:
                        // Integer
                        // todo: if both min and max are specified create slider input
                        if (inputParameter["Data"]["Min"] != null && inputParameter["Data"]["Max"] != null && !double.IsNaN((double)inputParameter["Data"]["Min"]) && !double.IsNaN((double)inputParameter["Data"]["Max"]))
                        {
                            return new EffectsRangeInputParameterViewModel() {Data = inputParameter};
                        }
                        else
                        {
                            return new EffectsDoubleInputParameterViewModel() {Data = inputParameter};
                        }
                        break;
                    case 6:
                        // Chemical
                        return new EffectsChemicalInputParameterViewModel(){Data = inputParameter, ChemicalData = new JArray(Chemicals)};
                    default:
                        return null;
                }
            }).Where(vm=>vm != null);
        }