Beispiel #1
0
        public static FluentConfig DefaultEngine(this Configuration.TypeConfig generic_config)
        {
            return generic_config.Hash.GetOrCreate(typeof(Gateway), () =>
            {
                var type = generic_config.Type;
                var new_config = new TypeConfig(type);
                var new_fluent_config = new FluentConfig(new_config);

                var generic_rules = Repository.Rules.Where(rule => rule.Hash.ContainsKey(typeof(Gateway))).ToReadOnly();
                var fluent_rules = generic_rules.Where(rule => rule.AppliesTo(type)).Select(rule => rule.DefaultEngine()).ToReadOnly();
                var rules = fluent_rules.Select(rule => rule.Rule).ToReadOnly();
                rules.ForEach(rule => rule.Apply(new_fluent_config));

                return new_fluent_config;
            }).AssertCast<FluentConfig>();
        }
Beispiel #2
0
        public static FluentConfig DefaultEngine(this Configuration.TypeConfig generic_config)
        {
            return(generic_config.Hash.GetOrCreate(typeof(Gateway), () =>
            {
                var type = generic_config.Type;
                var new_config = new TypeConfig(type);
                var new_fluent_config = new FluentConfig(new_config);

                var generic_rules = Repository.Rules.Where(rule => rule.Hash.ContainsKey(typeof(Gateway))).ToReadOnly();
                var fluent_rules = generic_rules.Where(rule => rule.AppliesTo(type)).Select(rule => rule.DefaultEngine()).ToReadOnly();
                var rules = fluent_rules.Select(rule => rule.Rule).ToReadOnly();
                rules.ForEach(rule => rule.Apply(new_fluent_config));

                return new_fluent_config;
            }).AssertCast <FluentConfig>());
        }