public void FirstDateOfWeek()
 {
     DateTime date = new DateTime(2008, 11, 27);
     DateTime result = new DateTime(2008, 11, 24);
     Assert.AreEqual(result, date.FirstDateTimeOfWeek(DayOfWeek.Monday));
     Assert.AreEqual(result, result.FirstDateTimeOfWeek(DayOfWeek.Monday));
     date = new DateTime(2008, 11, 30);
     result = date;
     Assert.AreEqual(result, date.FirstDateTimeOfWeek(DayOfWeek.Sunday));
 }
Пример #2
0
        public static DateTime GetEffectiveDate(DatePickerHelpValues value, DateTime relativeToDate)
        {
            switch (value)
            {
                case DatePickerHelpValues.LastWeek:
                    return relativeToDate.FirstDateTimeOfWeek().AddDays(-1).FirstDateTimeOfWeek();

                case DatePickerHelpValues.TwoWeeksAgo:
                    return relativeToDate.FirstDateTimeOfWeek().AddDays(-8).FirstDateTimeOfWeek();

                case DatePickerHelpValues.LastMonth:
                    return relativeToDate.GetFirstDayOfMonth().AddMonths(-1).GetFirstDayOfMonth();

                case DatePickerHelpValues.TwoMonthsAgo:
                    return relativeToDate.GetFirstDayOfMonth().AddMonths(-2).GetFirstDayOfMonth();

                case DatePickerHelpValues.SixMonthsAgo:
                    return relativeToDate.GetFirstDayOfMonth().AddMonths(-6).GetFirstDayOfMonth();

                case DatePickerHelpValues.LastYear:
                    return relativeToDate.GetFirstDayOfYear().AddYears(-1).GetFirstDayOfYear();
            }

            return relativeToDate;
        }