Пример #1
0
        private static void ReadPromotableCriteria(ModelDraft modelDraft, XElement promotableCriterionCollectionElement)
        {
            IEnumerable <XElement> promotableCriterionElements = promotableCriterionCollectionElement.Descendants(Elements.PromotableCriterion);

            foreach (XElement promotableCriterionElement in promotableCriterionElements)
            {
                TId           id   = TId.Parse(promotableCriterionElement.Attribute(Attributes.Id).Value);
                string        name = promotableCriterionElement.Attribute(Attributes.Name).Value;
                string        variableIdentifier = promotableCriterionElement.Attribute(Attributes.VariableIdentifier).Value;
                bool          isPromoted         = Convert.ToBoolean(promotableCriterionElement.Attribute(Attributes.IsPromoted).Value);
                CriterionType criterionType      = EnumExtensions.Parse <CriterionType>(promotableCriterionElement.Attribute(Attributes.Type).Value);
                Relation      constraintRelation = EnumExtensions.Parse <Relation>(promotableCriterionElement.Attribute(Attributes.Relation).Value);
                double        value = ConvertExtensions.ToDoubleInvariant(promotableCriterionElement.Attribute(Attributes.Value).Value);

                PromotableCriterion promotableCriterion = new PromotableCriterion(id, name, variableIdentifier, criterionType)
                {
                    ConstraintRelation = constraintRelation,
                    IsPromoted         = isPromoted,
                    Value = value
                };

                modelDraft.PromotableCriteria.Add(promotableCriterion);
            }
        }
Пример #2
0
 public void Downgrade(PromotableCriterion criterion)
 {
     criterion.IsPromoted = false;
     IsChanged            = true;
 }
Пример #3
0
 public void Promote(PromotableCriterion criterion)
 {
     criterion.IsPromoted = true;
     IsChanged            = true;
 }