private static ISolverStatement TransformToStatement(Z3Context context, BLL.BusinessObjects.CompositionRule compositionRule) { ISolverStatement returnStatement = null; switch (compositionRule.CompositionRuleType) { case BusinessObjects.CompositionRuleTypes.Dependency: returnStatement = context.MakeImplies(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier); break; case BusinessObjects.CompositionRuleTypes.MutualDependency: returnStatement = context.MakeEquivalence(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier); break; case BusinessObjects.CompositionRuleTypes.MutualExclusion: returnStatement = context.MakeExcludes(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier); break; } return returnStatement; }
private static ISolverStatement TransformToStatement(Z3Context context, BLL.BusinessObjects.Relation relation) { ISolverStatement returnStatement = null; switch (relation.RelationType) { case BusinessObjects.RelationTypes.Mandatory: returnStatement = context.MakeEquivalence(relation.ParentFeature.SlvMapIdentifier, relation.ChildFeature.SlvMapIdentifier); break; case BusinessObjects.RelationTypes.Optional: returnStatement = context.MakeImplies(relation.ChildFeature.SlvMapIdentifier, relation.ParentFeature.SlvMapIdentifier); break; } return returnStatement; }