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