/// <summary> /// Adds Merchandise dates for the year specified to the Merchandise Date Dictionaries. /// </summary> /// <param name="_MerchandiseYear">The Merchandise Year to add.</param> protected virtual void AddYear(Int32 _MerchandiseYear) { foreach (MerchandiseDate _MerchandiseDate in DateFunctions.GetMerchandiseDatesByYear(_MerchandiseYear)) { _ByDateMerchandiseDateDictionary.TryAdd(_MerchandiseDate.Date.Value, _MerchandiseDate); DayOfTheYear _DayOfTheYear = new DayOfTheYear(_MerchandiseDate.Year, _MerchandiseDate.DayOfYear); _ByDayOfTheYearMerchandiseDateDictionary.TryAdd(_DayOfTheYear, _MerchandiseDate); } }
/// <summary> /// Get the Merchandise Date for the specified Day of the Year /// </summary> /// <param name="_Year">The Merchandise Year</param> /// <param name="_DayOfYear">The Merchandise Day of Year</param> /// <returns></returns> public virtual MerchandiseDate GetComparisonMerchandiseDate(Int32 _Year, Int32 _DayOfYear) { DayOfTheYear _DayOfTheYear = new DayOfTheYear(_Year, _DayOfYear); MerchandiseDate _MerchandiseDate; if (_ByDayOfTheYearMerchandiseDateDictionary.TryGetValue(_DayOfTheYear, out _MerchandiseDate)) { return(_MerchandiseDate); } AddYear(_Year); if (_ByDayOfTheYearMerchandiseDateDictionary.TryGetValue(_DayOfTheYear, out _MerchandiseDate)) { return(_MerchandiseDate); } throw new Exception("An unexpected error occured."); }