Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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));
        }