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(); }
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); }
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); } }
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))) { }