/// <summary> /// Parameterized constructor /// </summary> /// <param name="counterMeasureRepository">Counter measure repository</param> /// <param name="counterMeasureStatusRepository">Counter measure status repository</param> /// <param name="userRepository">User repository</param> /// <param name="targetRepository">Target repository</param> /// <param name="dailyActualRepository">The daily actual repository.</param> /// <param name="holidayRepository">The holiday repository.</param> /// <param name="yearRepository">The year repository.</param> /// <param name="counterMeasurePriorityRepository">The counter measure priority repository.</param> /// <exception cref="System.ArgumentNullException">Repository - The given parameter cannot be null.</exception> public CounterMeasureManager(IBaseRepository <CounterMeasure> counterMeasureRepository, IBaseRepository <CounterMeasureStatus> counterMeasureStatusRepository, INDMSUserRepository userRepository, IBaseRepository <Target> targetRepository, IBaseRepository <DailyActual> dailyActualRepository, IBaseRepository <ScorecardWorkdayPattern> scorecardWorkdayPatternRepository, IBaseRepository <ScorecardHolidayPattern> scorecardHolidayPatternRepository, IBaseRepository <ScorecardWorkdayTracker> scorecardWorkdayTrackerRepository, IBaseRepository <Year> yearRepository, IBaseRepository <CounterMeasurePriority> counterMeasurePriorityRepository) { if (counterMeasureRepository == null || counterMeasureStatusRepository == null || userRepository == null || targetRepository == null || dailyActualRepository == null || scorecardWorkdayPatternRepository == null || yearRepository == null || counterMeasurePriorityRepository == null || scorecardHolidayPatternRepository == null || scorecardWorkdayTrackerRepository == null) { throw new ArgumentNullException("Repository", "The given parameter cannot be null."); } this.counterMeasureRepository = counterMeasureRepository; this.counterMeasureStatusRepository = counterMeasureStatusRepository; this.userRepository = userRepository; this.targetRepository = targetRepository; this.yearRepository = yearRepository; this.scorecardHolidayPatternRepository = scorecardHolidayPatternRepository; this.counterMeasurePriorityRepository = counterMeasurePriorityRepository; this.scorecardWorkdayPatternRepository = scorecardWorkdayPatternRepository; this.scorecardWorkdayTrackerRepository = scorecardWorkdayTrackerRepository; this.actualCalculator = CreateScorecardActualCalculator(dailyActualRepository); this.goalCalculator = CreateScorecardGoalCalculator(targetRepository, dailyActualRepository, scorecardWorkdayPatternRepository, scorecardHolidayPatternRepository, scorecardWorkdayTrackerRepository); }
/// <summary> /// Parameterized constructor /// </summary> /// <param name="scorecardRepository">Scorecard Repository</param> /// <param name="targetRepository">Target repository</param> /// <param name="yearRepository">Year Repository</param> /// <param name="dailyActualRepository">Daily Actual Repository</param> /// <param name="monthlyActualRepository">Monthly Actual Repository</param> /// <param name="holidayRepository">Holiday repository</param> public ScorecardGraphManager(IScorecardRepository scorecardRepository, IBaseRepository <Target> targetRepository, IBaseRepository <Year> yearRepository, IBaseRepository <DailyActual> dailyActualRepository, IBaseRepository <MonthlyActual> monthlyActualRepository, IBaseRepository <ScorecardWorkdayPattern> scorecardWorkdayPatternRepository, IBaseRepository <ScorecardHolidayPattern> scorecardHolidayPatternRepository, IBaseRepository <ScorecardWorkdayTracker> scorecardWorkdayTrackerRepository) { if (targetRepository == null || scorecardRepository == null || yearRepository == null || dailyActualRepository == null || monthlyActualRepository == null) { throw new ArgumentNullException("Repository", "The given parameter cannot be null."); } this.targetRepository = targetRepository; this.scorecardRepository = scorecardRepository; this.yearRepository = yearRepository; this.dailyActualRepository = dailyActualRepository; this.monthlyActualRepository = monthlyActualRepository; this.goalCalculator = CreateScorecardGoalCalculator(targetRepository, dailyActualRepository, scorecardHolidayPatternRepository, scorecardWorkdayPatternRepository, scorecardWorkdayTrackerRepository); }
/// <summary> /// Creates an instance of ScorecardGoalCalculator and returns /// </summary> /// <returns></returns> protected virtual ScorecardGoalCalculator CreateScorecardGoalCalculator( IBaseRepository <Target> targetRepository, IBaseRepository <DailyActual> dailyActualRepository, IBaseRepository <ScorecardWorkdayPattern> ScorecardWorkdayPatternRepository, IBaseRepository <ScorecardHolidayPattern> scorecardHolidayPatternRepository, IBaseRepository <ScorecardWorkdayTracker> scorecardWorkdayTrackerRepository) { if (goalCalculator == null) { goalCalculator = new ScorecardGoalCalculator(targetRepository, dailyActualRepository, ScorecardWorkdayPatternRepository, scorecardHolidayPatternRepository, scorecardWorkdayTrackerRepository); } return(goalCalculator); }
/// <summary> /// Parameterized constructor /// </summary> /// <param name="actualsModifier">Actuals modifier</param> /// <param name="targetRepository">Target repository</param> /// <param name="dailyActualRepository">Daily actual repository</param> /// <param name="monthlyActualRepository">Monthly actual repository</param> /// <param name="goalCalculator">Scorecard goal calculator</param> public RollupManager(ActualsModifier actualsModifier, TargetModifier targetModifier, IBaseRepository <Target> targetRepository, IBaseRepository <DailyActual> dailyActualRepository, IBaseRepository <MonthlyActual> monthlyActualRepository, ScorecardGoalCalculator goalCalculator, ScorecardRecordablesCalculator recordableCalculator) { this.actualsModifier = actualsModifier; this.targetModifier = targetModifier; this.targetRepository = targetRepository; this.dailyActualRepository = dailyActualRepository; this.monthlyActualRepository = monthlyActualRepository; this.goalCalculator = goalCalculator; this.recordablesCalculator = recordableCalculator; }