コード例 #1
0
        private HistoryPattern PatternFromEngines(Period period)
        {
            ICollection <HistoryPattern> sortedHistory = Engines.Keys.OrderBy(x => x).ToArray();

            HistoryPattern validSpan = sortedHistory.FirstOrDefault((x) => (period.Year >= x.YearFrom && period.Year <= x.YearUpto));

            return(validSpan);
        }
コード例 #2
0
        private T CreateEngineForClazz(Assembly setupAssembly, string className)
        {
            T engine = EngineFactory <T> .InstanceForClazz(setupAssembly, NamespacePrefix(), className);

            HistoryPattern enginePattern = engine.Pattern();

            HistoryPattern clazezPattern = HistoryPattern.FromText(className);

            if (enginePattern.Equals(clazezPattern) == false)
            {
                throw new InvalidOperationException("Invalid Class and Pattern: " + className);
            }
            return(engine);
        }
コード例 #3
0
        public T ResolveEngine(Period period)
        {
            HistoryPattern periodPattern = PatternFromEngines(period);

            if (periodPattern == null)
            {
                return(DefaultInstance);
            }
            T baseEngine;

            if (Engines.ContainsKey(periodPattern))
            {
                baseEngine = Engines[periodPattern];
            }
            else
            {
                baseEngine = DefaultInstance;
            }
            return(baseEngine);
        }
コード例 #4
0
        public TaxingEnginePrototype(TaxingGuides currentGuides)
        {
            EngineGuides = currentGuides.Clone() as ITaxingGuides;

            EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault());
        }
コード例 #5
0
        public EmployEnginePrototype(EmployGuides currentGuides)
        {
            EngineGuides = currentGuides.Clone() as IEmployGuides;

            EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault());
        }
コード例 #6
0
        public HealthEnginePrototype(HealthGuides currentGuides)
        {
            EngineGuides = currentGuides.Clone() as IHealthGuides;

            EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault());
        }
コード例 #7
0
        public SocialEnginePrototype(SocialGuides currentGuides)
        {
            EngineGuides = currentGuides.Clone() as ISocialGuides;

            EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault());
        }
コード例 #8
0
        private T CreateEngineForPattern(Assembly setupAssembly, HistoryPattern pattern)
        {
            T engine = EngineFactory <T> .InstanceForPattern(setupAssembly, NamespacePrefix(), ClassnamePrefix(), pattern);

            return(engine);
        }