public DateRangeOptionModel(string title, DateRangeCode dateRangeCode, DateTime?fromDate, DateTime?toDate) { Title = title; DateRangeCode = dateRangeCode; if (fromDate.HasValue) { FromDate = fromDate.Value; } else { FromDate = null; } if (toDate.HasValue) { ToDate = toDate.Value; } else { ToDate = null; } }
public static DateRangeOptionModel GetOption(DateRangeCode dateRangeCode) { // Calculate range days var start = DateTime.Today; var end = DateTime.Today; var day = DateTime.Today.DayOfWeek; var dayWeek = DateTime.Today.DayOfWeek; int dayDiff; switch (dateRangeCode) { case DateRangeCode.Custom: return(new DateRangeOptionModel("Custom", DateRangeCode.Custom, DateTime.Today, DateTime.Today.AddDays(7))); case DateRangeCode.Today: return(new DateRangeOptionModel("Today", DateRangeCode.Today, DateTime.Today, DateTime.Today)); case DateRangeCode.ThisWeek: int days = day - DayOfWeek.Monday; start = DateTime.Today.AddDays(-days); end = start.AddDays(6); return(new DateRangeOptionModel("This Week", DateRangeCode.ThisWeek, start, end)); case DateRangeCode.ThisMonth: start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); end = start.AddMonths(1).AddDays(-1); return(new DateRangeOptionModel("This Month", DateRangeCode.ThisMonth, start, end)); case DateRangeCode.ThisYear: start = new DateTime(DateTime.Today.Year, 1, 1); end = start.AddYears(1).AddDays(-1); return(new DateRangeOptionModel("This Year", DateRangeCode.ThisYear, start, end)); case DateRangeCode.YearToDate: start = new DateTime(DateTime.Today.Year, 1, 1); end = DateTime.Today; return(new DateRangeOptionModel("Year-To-Date", DateRangeCode.YearToDate, start, end)); case DateRangeCode.LastWeek: dayDiff = dayWeek - DayOfWeek.Sunday; start = DateTime.Today.AddDays(-dayDiff).AddDays(-7); end = start.AddDays(6); return(new DateRangeOptionModel("Last Week", DateRangeCode.LastWeek, start, end)); case DateRangeCode.LastMonth: start = DateTime.Today.AddMonths(-1); start = new DateTime(start.Year, start.Month, 1); end = start.AddMonths(1).AddDays(-1); return(new DateRangeOptionModel("Last Month", DateRangeCode.LastMonth, start, end)); case DateRangeCode.LastQuarter: return(new DateRangeOptionModel("Last 3 Months", DateRangeCode.LastQuarter, DateTime.Today.AddMonths(-3), DateTime.Today)); case DateRangeCode.LastYear: start = DateTime.Today.AddYears(-1); start = new DateTime(start.Year, 1, 1); end = start.AddYears(1).AddDays(-1); return(new DateRangeOptionModel("Last Year", DateRangeCode.LastYear, start, end)); case DateRangeCode.NextWeek: dayDiff = dayWeek - DayOfWeek.Sunday; start = DateTime.Today.AddDays(-dayDiff).AddDays(7); end = start.AddDays(6); return(new DateRangeOptionModel("Next Week", DateRangeCode.NextWeek, start, end)); case DateRangeCode.NextMonth: DateTime nextMonth = DateTime.Today.AddMonths(1); start = new DateTime(nextMonth.Year, nextMonth.Month, 1); end = start.AddMonths(1).AddDays(-1); return(new DateRangeOptionModel("Next Month", DateRangeCode.NextMonth, start, end)); case DateRangeCode.NextYear: start = new DateTime(DateTime.Today.AddYears(1).Year, 1, 1); end = start.AddYears(1).AddDays(-1); return(new DateRangeOptionModel("Next Year", DateRangeCode.NextYear, start, end)); case DateRangeCode.ThisQuarter: start = QuarterStart(); end = QuarterEnd(); return(new DateRangeOptionModel("This Quarter", DateRangeCode.ThisQuarter, start, end)); case DateRangeCode.NextQuarter: start = QuarterStart().AddMonths(3); end = QuarterEnd().AddMonths(3); return(new DateRangeOptionModel("This Quarter", DateRangeCode.NextQuarter, start, end)); case DateRangeCode.YearEnding: start = DateTime.Today.AddYears(-1); end = DateTime.Today; return(new DateRangeOptionModel("Year Ending", DateRangeCode.YearEnding, start, end)); default: return(null); } }
public DateRangeModel(RangeOptions rangeOptions, DateRangeCode defaultRangeCode, string title) { DateRangeCode = defaultRangeCode; RangeOptions = rangeOptions; Title = title; }
public DateRangeModel(RangeOptions rangeOptions, DateRangeCode defaultRangeCode) { DateRangeCode = defaultRangeCode; RangeOptions = rangeOptions; }