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); }
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); }
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); }
public TaxingEnginePrototype(TaxingGuides currentGuides) { EngineGuides = currentGuides.Clone() as ITaxingGuides; EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault()); }
public EmployEnginePrototype(EmployGuides currentGuides) { EngineGuides = currentGuides.Clone() as IEmployGuides; EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault()); }
public HealthEnginePrototype(HealthGuides currentGuides) { EngineGuides = currentGuides.Clone() as IHealthGuides; EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault()); }
public SocialEnginePrototype(SocialGuides currentGuides) { EngineGuides = currentGuides.Clone() as ISocialGuides; EnginePattern = HistoryPattern.Years(EngineGuides.YearFrom(), EngineGuides.YearUpto(), EngineGuides.IsDefault()); }
private T CreateEngineForPattern(Assembly setupAssembly, HistoryPattern pattern) { T engine = EngineFactory <T> .InstanceForPattern(setupAssembly, NamespacePrefix(), ClassnamePrefix(), pattern); return(engine); }