Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
        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;
            }
        }