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); } }
public void Downgrade(PromotableCriterion criterion) { criterion.IsPromoted = false; IsChanged = true; }
public void Promote(PromotableCriterion criterion) { criterion.IsPromoted = true; IsChanged = true; }