/// <summary> /// Retrieves the Merchandise Dates for the Date /// </summary> /// <param name="_DateTime"> /// The date you wish to get the list of dates for. /// </param> /// <returns> /// MerchandiseDate /// </returns> public static MerchandiseDate GetMerchandiseDate(DateTime _DateTime) { int _Week = DateFunctions.GetWeek(_DateTime); int _Period = DateFunctions.GetPeriod(_Week); int _Month = (_Period + 1); if (_Month == 13) { _Month = 1; } Quarter _Quarter = DateFunctions.GetQuarter(_DateTime); MerchandiseDate _MerchandiseDate = new MerchandiseDate(); _MerchandiseDate.Date = _DateTime; _MerchandiseDate.DayOfYear = DateFunctions.GetDayOfYear(_DateTime); _MerchandiseDate.Period = DateFunctions.GetPeriod(_Week); _MerchandiseDate.PeriodName = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(_Month); _MerchandiseDate.Quarter = _Quarter.Number; _MerchandiseDate.QuarterName = _Quarter.Name; _MerchandiseDate.Week = _Week; _MerchandiseDate.Year = DateFunctions.GetYear(_DateTime); return(_MerchandiseDate); }
/// <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 date. /// </summary> /// <param name="_DateTime">Date you want the Merchandise Date for.</param> /// <returns></returns> public virtual MerchandiseDate GetMerchandiseDate(DateTime _DateTime) { MerchandiseDate _MerchandiseDate; if (_ByDateMerchandiseDateDictionary.TryGetValue(_DateTime, out _MerchandiseDate)) { return(_MerchandiseDate); } Int32 _MerchandiseYear = DateFunctions.GetYear(_DateTime); AddYear(_MerchandiseYear); if (_ByDateMerchandiseDateDictionary.TryGetValue(_DateTime, out _MerchandiseDate)) { return(_MerchandiseDate); } throw new Exception("An unexpected error occured."); }