Esempio n. 1
0
 public ConditionTypeChangedAction(IConditionsFactory conditionsFactory, ConditionViewModel condition, int old, int nnew)
 {
     this.conditionsFactory = conditionsFactory;
     this.condition         = condition;
     this.old  = old;
     this.nnew = nnew;
 }
        public void Update(int id, ConditionViewModel viewModel)
        {
            if (!conditionDataManager.HasConditionData(id))
            {
                return;
            }

            var data = conditionDataManager.GetConditionData(id);

            for (int i = 0; i < ConditionViewModel.ParametersCount; ++i)
            {
                viewModel.GetParameter(i).IsUsed = false;
            }

            if (data.Parameters != null)
            {
                int j = 0;
                foreach (var param in data.Parameters)
                {
                    viewModel.GetParameter(j).IsUsed      = true;
                    viewModel.GetParameter(j).Name        = param.Name;
                    viewModel.GetParameter(j++).Parameter = parameterFactory.Factory(param.Type);
                }
            }

            viewModel.UpdateCondition(data);
        }
        public ConditionViewModel?Create(int conditionSourceType, int type)
        {
            if (!conditionDataManager.HasConditionSourceData(conditionSourceType))
            {
                return(null);
            }

            if (!conditionDataManager.HasConditionData(type))
            {
                return(null);
            }

            var sourceData = conditionDataManager.GetConditionSourceData(conditionSourceType);
            var targets    = new Parameter();

            targets.Items = sourceData.Targets.ToDictionary(x => (long)x.Key,
                                                            x => new SelectOption(x.Value.Description, x.Value.Comment));

            var vm = new ConditionViewModel(targets);

            Update(type, vm);
            return(vm);
        }
Esempio n. 4
0
 public ConditionAddedAction(ConditionsEditorViewModel vm, ConditionViewModel condition, int index)
 {
     this.vm        = vm;
     this.condition = condition;
     this.index     = index;
 }
Esempio n. 5
0
 private void OnConditionChanged(ConditionViewModel condition, int oldId, int newId)
 {
     PushAction(new ConditionTypeChangedAction(conditionsFactory, condition, oldId, newId));
 }