private void AddSingleTrackerStatisticsProvider(IServiceCollection services) { var statisticsProvider = new SingleTrackerFactProvider(); statisticsProvider.Add(new AverageRatingCalculator()); statisticsProvider.Add(new AverageScaleCalculator()); statisticsProvider.Add(new BestRatingEventCalculator()); statisticsProvider.Add(new LongestBreakCalculator()); statisticsProvider.Add(new OccursOnCertainDaysOfTheWeekCalculator()); statisticsProvider.Add(new SingleTrackerEventsCountCalculator()); statisticsProvider.Add(new SumScaleCalculator()); statisticsProvider.Add(new WorstRatingEventCalculator()); services.AddSingleton <ISingleTrackerFactProvider>(statisticsProvider); }
private StatisticGenerator InitializeStatisticGeneratorWithTwoCalculators() { var generalFactProvider = new MultipleTrackersFactProvider(); generalFactProvider.Add(new MostEventfulDayCalculator()); var specificFactProvider = new SingleTrackerFactProvider(); specificFactProvider.Add(new SingleTrackerEventsCountCalculator()); _singleFactsRepository = new SingleFactsRepository(); _multipleFactsRepository = new MultipleFactsRepository(); _trackerRepository = new TrackerRepository(); _eventRepository = new EventRepository(); return(new StatisticGenerator(_multipleFactsRepository, generalFactProvider, specificFactProvider, _singleFactsRepository, _trackerRepository, _eventRepository)); }