protected WorkdayCalculator CreateWorkdayPatternCalculator(IBaseRepository <ScorecardWorkdayPattern> scorecardWorkdayPatternRepository) { if (workdayPatternCalculator == null) { workdayPatternCalculator = new WorkdayCalculator(scorecardWorkdayPatternRepository); } return(workdayPatternCalculator); }
/// <summary> /// Parameterized constructor /// </summary> /// <param name="dailyActualRepository">Daily Actual Repository</param> /// <param name="holidayRepository">Holiday repository</param> public HolidayCalculator(IBaseRepository <DailyActual> dailyActualRepository, IBaseRepository <ScorecardHolidayPattern> scorecardHolidayPatternRepository, IBaseRepository <ScorecardWorkdayPattern> scorecardWorkdayPatternRepository, IBaseRepository <ScorecardWorkdayTracker> scorecardWorkdayTrackerRepository) { if (dailyActualRepository == null || scorecardWorkdayPatternRepository == null || scorecardHolidayPatternRepository == null || scorecardWorkdayTrackerRepository == null) { throw new ArgumentNullException("Repository", "The given parameter cannot be null."); } this.dailyActualRepository = dailyActualRepository; this.scorecardWorkdayTrackerRepository = scorecardWorkdayTrackerRepository; this.scorecardHolidayPatternRepository = scorecardHolidayPatternRepository; this.scorecardWorkdayPatternRepository = scorecardWorkdayPatternRepository; this.workdayPatternCalculator = CreateWorkdayPatternCalculator(scorecardWorkdayPatternRepository); }