private IEnumerable <Rule> ConvertRules(Dictionary <string, string> hierarchyMapping, DBReader dbReader, RuleConverter.Data.Model model, ProductModel pm) { var ruleParser = new RuleParser(hierarchyMapping, pm); var extractedRules = dbReader.GetRules(model); var convertedRules = ruleParser.ConvertRules(extractedRules); return(convertedRules.Select(r => new Rule(r.Name, r.Expression, null, EnabledFlag.True))); }
private Relation CreateSalesValidityRelation(DBReader dbReader, RuleConverter.Data.Model model, ProductModel pm) { var salesValidityRuleConverter = new SalesValidityRuleConverter(dbReader, pm); var characteristicsForModel = dbReader.GetCharacteristicValuesForModel(model.Name); var dictionary = new Dictionary <string, Dictionary <string, Characteristic> >(); foreach (ModelVersion version in model.Versions) { var characteristics = dbReader.GetCharacteristicValuesForModelAndVariant(model.Name, version.Variant); dictionary.Add(version.Variant, characteristics.ToDictionary(c => c.Name)); } return(salesValidityRuleConverter.CreateSalesValidityRelation(model.Name, characteristicsForModel, dictionary)); }