/// <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> /// Get the Merchandise Date for the specified Day of the Year /// </summary> /// <param name="_Year">The Merchandise Year</param> /// <param name="_DateTime">The Date you want the Merchandise Date for.</param> /// <returns></returns> public virtual MerchandiseDate GetComparisonMerchandiseDate(Int32 _Year, DateTime _DateTime) { if (_Year < 0) { throw new ArgumentOutOfRangeException("Year"); } MerchandiseDate _MerchandiseDate = GetMerchandiseDate(_DateTime); return(GetComparisonMerchandiseDate(_MerchandiseDate.Year, _MerchandiseDate.DayOfYear)); }
/// <summary> /// Retrieves all Merchandise Dates within the dateRange /// </summary> /// <param name="_DateRange"> /// The date range you wish to get the list of dates for. /// </param> /// <returns> /// IEnumerable<MerchandiseDate> /// </returns> public static IEnumerable <MerchandiseDate> GetMerchandiseDatesBetween(DateRange _DateRange) { List <MerchandiseDate> _MerchandiseDateList = new List <MerchandiseDate>(); for (DateTime _Date = _DateRange.StartDate; _Date <= _DateRange.EndDate; _Date = _Date.AddDays(1)) { MerchandiseDate _MerchandiseDate = GetMerchandiseDate(_Date); _MerchandiseDateList.Add(_MerchandiseDate); } return(_MerchandiseDateList); }
/// <summary> /// Retrieves all Merchandise Dates within the dateRange /// </summary> /// <param name="dateRange"> /// The date range you wish to get the list of dates for. /// </param> /// <returns> /// IEnumerable<MerchandiseDate> /// </returns> public static IEnumerable<MerchandiseDate> GetMerchandiseDatesBetween(DateRange dateRange) { List<MerchandiseDate> merchandiseDateList = new List<MerchandiseDate>(); for (DateTime date = dateRange.StartDate; date <= dateRange.EndDate; date = date.AddDays(1)) { int week = DateFunctions.GetWeek(date); int period = DateFunctions.GetPeriod(week); int month = (period + 1); if (month == 13) { month = 1; } Quarter quarter = DateFunctions.GetQuarter(date); MerchandiseDate merchandiseDate = new MerchandiseDate(); merchandiseDate.Date = date; merchandiseDate.DayOfYear = DateFunctions.GetDayOfYear(date); 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(date); merchandiseDateList.Add(merchandiseDate); } return merchandiseDateList; }