Ejemplo n.º 1
0
        public void SetData(ConditionSetDTO dto)
        {
            _loading = true;

            Conditions.DataSource = null;
            Quantifier            = LogicalQuantifier.Existential;
            HasData = dto != null;

            if (HasData)
            {
                if (dto.ConditionSet != null)
                {
                    Conditions.DataSource = dto.ConditionSet.Select(s => (ConditionHolder)s).ToList();
                }
                else
                {
                    Conditions.DataSource = new List <ConditionHolder>();
                }

                Quantifier = dto.Quantifier;
            }

            _loading = false;

            OnRefresh?.Invoke();
        }
Ejemplo n.º 2
0
        public void Test_EDM_UpdateRuleConditions()
        {
            var asset = BuildTestAsset();

            Guid id = new Guid();

            foreach (var rule in asset.GetAllActionRules())
            {
                id = rule.Id;
                break;
            }

            asset.AddRuleCondition(id, "[x] != SELF");

            Assert.AreEqual(asset.GetActionRule(id).Conditions.ConditionSet[0], "[x] != SELF");

            Conditions.DTOs.ConditionSetDTO condSet = new ConditionSetDTO()
            {
                ConditionSet = new string[] { "[x] != Start", "Has(Floor) = SELF" }
            };

            asset.UpdateRuleConditions(id, condSet);

            Assert.AreEqual(asset.GetActionRule(id).Conditions.ConditionSet.Length, 2);
        }
Ejemplo n.º 3
0
        public ConditionSet(ConditionSetDTO dto)
        {
            if (dto == null)
            {
                Quantifier   = LogicalQuantifier.Existential;
                m_conditions = null;
                return;
            }

            Quantifier = dto.Quantifier;
            var conditions = dto.ConditionSet?.Select(c => Condition.Parse(c)).Distinct();

            if (conditions != null)
            {
                m_conditions = new List <Condition>(conditions);
            }
        }
Ejemplo n.º 4
0
        public void UpdateRuleConditions(Guid ruleId, ConditionSetDTO conditionSet)
        {
            var rule = m_actionRules.Where(a => a.Id == ruleId).FirstOrDefault();

            rule.ActivationConditions = new ConditionSet(conditionSet);
        }
 public ConditionSet(ConditionSetDTO dto) : this(dto.Quantifier, dto.Set.Select(c => Condition.Parse(c.Condition)))
 {
 }