internal DateTime GetFirstDateToRenderForDisplayMode(DateTime date, CalendarDisplayMode displayMode) { date = date.Date; DateTime firstDateToRender = date; if (displayMode == CalendarDisplayMode.MultiDayView) { DayOfWeek firstDayOfWeek = this.GetFirstDayOfWeek(); DateTime firstDateOfCurrentWeek = CalendarMathHelper.GetFirstDayOfCurrentWeek(date, firstDayOfWeek); if (!(firstDateOfCurrentWeek.Date <= date.Date && firstDateOfCurrentWeek.AddDays(7).Date >= date.Date)) { firstDateToRender = firstDateOfCurrentWeek; } if (!this.multiDayViewSettings.WeekendsVisible) { firstDateToRender = CalendarMathHelper.AddBusinessDays(date, -this.multiDayViewSettings.VisibleDays); } else { firstDateToRender = date.AddDays(-this.multiDayViewSettings.VisibleDays); } } else if (displayMode == CalendarDisplayMode.MonthView) { DayOfWeek firstDayOfWeekToUse = this.GetFirstDayOfWeek(); DateTime monthStartDate = CalendarMathHelper.GetFirstDateOfMonth(date); int daysToSubtract = (int)monthStartDate.DayOfWeek - (int)firstDayOfWeekToUse; if (daysToSubtract <= 0) { daysToSubtract += 7; } firstDateToRender = monthStartDate.Date == DateTime.MinValue.Date ? monthStartDate : monthStartDate.AddDays(-daysToSubtract); } else if (displayMode == CalendarDisplayMode.YearView) { firstDateToRender = CalendarMathHelper.GetFirstDateOfYear(date); } else if (displayMode == CalendarDisplayMode.DecadeView) { firstDateToRender = CalendarMathHelper.GetFirstDateOfDecade(date); } else if (displayMode == CalendarDisplayMode.CenturyView) { firstDateToRender = CalendarMathHelper.GetFirstDateOfCentury(date); } return(firstDateToRender); }
internal override DateTime GetFirstDateToRender(DateTime date) { DayOfWeek firstDayOfWeek = this.Calendar.GetFirstDayOfWeek(); DateTime firstDateOfCurrentWeek = CalendarMathHelper.GetFirstDayOfCurrentWeek(date, firstDayOfWeek); if (firstDateOfCurrentWeek.Date <= date.Date && firstDateOfCurrentWeek.AddDays(7).Date >= date.Date) { return(date); } return(firstDateOfCurrentWeek); }
internal override DateTime GetFirstDateToRender(DateTime date) { DayOfWeek firstDayOfWeek = this.Calendar.GetFirstDayOfWeek(); DateTime firstDateOfCurrentWeek = CalendarMathHelper.GetFirstDayOfCurrentWeek(date, firstDayOfWeek); if (!(firstDateOfCurrentWeek.Date <= date.Date && firstDateOfCurrentWeek.AddDays(7).Date >= date.Date)) { date = firstDateOfCurrentWeek; } if (!this.Calendar.multiDayViewSettings.WeekendsVisible) { date = CalendarMathHelper.AddBusinessDays(date, -this.BufferItemsCount); } else { date = date.AddDays(-this.BufferItemsCount); } return(date); }