/// <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); }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { if (counterMeasureRepository != null) { counterMeasureRepository.Dispose(); } if (counterMeasureStatusRepository != null) { counterMeasureStatusRepository.Dispose(); } if (userRepository != null) { userRepository.Dispose(); } if (targetRepository != null) { targetRepository.Dispose(); } if (yearRepository != null) { yearRepository.Dispose(); } if (scorecardWorkdayPatternRepository != null) { scorecardWorkdayPatternRepository.Dispose(); } if (scorecardWorkdayTrackerRepository != null) { scorecardWorkdayTrackerRepository.Dispose(); } if (scorecardHolidayPatternRepository != null) { scorecardHolidayPatternRepository.Dispose(); } counterMeasureRepository = null; counterMeasureStatusRepository = null; userRepository = null; targetRepository = null; yearRepository = null; scorecardWorkdayPatternRepository = null; scorecardWorkdayTrackerRepository = null; scorecardHolidayPatternRepository = null; } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }