internal static DateTime IncrementByView(DateTime date, int increment, CalendarDisplayMode displayMode, bool weekendsVisible = true) { switch (displayMode) { case CalendarDisplayMode.YearView: return(CouldAddYearsToDate(date.Year + increment) ? date.AddYears(increment) : date); case CalendarDisplayMode.DecadeView: return(CouldAddYearsToDate(date.Year + (increment * 10)) ? date.AddYears(increment * 10) : date); case CalendarDisplayMode.CenturyView: return(CouldAddYearsToDate(date.Year + (increment * 100)) ? date.AddYears(increment * 100) : date); case CalendarDisplayMode.MultiDayView: if (!weekendsVisible) { date = AddBusinessDays(date, increment); } else { date = date.Year == DateTime.MinValue.Year && date.Month == DateTime.MinValue.Month && date.Day - increment < 0 || date.Year == DateTime.MaxValue.Year && date.Month == DateTime.MaxValue.Month && date.Day + increment > 31 ? date : date.AddDays(increment); } return(date); default: return(date.Year == DateTime.MinValue.Year && date.Month == DateTime.MinValue.Month && increment < 0 || date.Year == DateTime.MaxValue.Year && date.Month == DateTime.MaxValue.Month && increment > 0 ? date : date.AddMonths(increment)); } }
public override void OnPrepareOptionsMenu(IMenu menu) { CalendarDisplayMode currentDisplayMode = calendarView.DisplayMode; if (currentDisplayMode == CalendarDisplayMode.Month) { menu.FindItem(Resource.Id.itemMonth).SetEnabled(false); menu.FindItem(Resource.Id.itemWeek).SetEnabled(true); menu.FindItem(Resource.Id.itemDay).SetEnabled(true); menu.FindItem(Resource.Id.itemYear).SetEnabled(true); } else if (currentDisplayMode == CalendarDisplayMode.Week) { menu.FindItem(Resource.Id.itemMonth).SetEnabled(true); menu.FindItem(Resource.Id.itemWeek).SetEnabled(false); menu.FindItem(Resource.Id.itemDay).SetEnabled(true); menu.FindItem(Resource.Id.itemYear).SetEnabled(true); } else if (currentDisplayMode == CalendarDisplayMode.Year) { menu.FindItem(Resource.Id.itemMonth).SetEnabled(true); menu.FindItem(Resource.Id.itemWeek).SetEnabled(true); menu.FindItem(Resource.Id.itemDay).SetEnabled(true); menu.FindItem(Resource.Id.itemYear).SetEnabled(false); } else if (currentDisplayMode == CalendarDisplayMode.Day) { menu.FindItem(Resource.Id.itemMonth).SetEnabled(true); menu.FindItem(Resource.Id.itemWeek).SetEnabled(true); menu.FindItem(Resource.Id.itemDay).SetEnabled(false); menu.FindItem(Resource.Id.itemYear).SetEnabled(true); } }
public void OnDisplayModeChanged(CalendarDisplayMode oldValue, CalendarDisplayMode newValue) { string msg = ""; if (newValue == CalendarDisplayMode.Year) { msg = "Year mode"; } else if (newValue == CalendarDisplayMode.Month) { msg = "Month mode"; } Toast.MakeText (this.context, msg, ToastLength.Long).Show (); }
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); }
public void OnDisplayModeChanged(CalendarDisplayMode oldValue, CalendarDisplayMode newValue) { string msg = ""; if (newValue == CalendarDisplayMode.Year) { msg = "Year mode"; } else if (newValue == CalendarDisplayMode.Month) { msg = "Month mode"; } Toast.MakeText(this.context, msg, ToastLength.Long).Show(); }
internal static DateTime IncrementByCell(DateTime date, int increment, CalendarDisplayMode displayMode) { switch (displayMode) { case CalendarDisplayMode.YearView: return(date.AddMonths(increment)); case CalendarDisplayMode.DecadeView: return(date.AddYears(increment)); case CalendarDisplayMode.CenturyView: return(date.AddYears(increment * 10)); default: return(date.AddDays(increment)); } }
internal static DateTime GetCellDateForViewLevel(DateTime date, CalendarDisplayMode displayMode) { switch (displayMode) { case CalendarDisplayMode.YearView: return(CalendarMathHelper.GetFirstDateOfMonth(date)); case CalendarDisplayMode.DecadeView: return(CalendarMathHelper.GetFirstDateOfYear(date)); case CalendarDisplayMode.CenturyView: return(CalendarMathHelper.GetFirstDateOfDecade(date)); default: return(date); } }
internal static DateTime IncrementByView(DateTime date, int increment, CalendarDisplayMode displayMode) { switch (displayMode) { case CalendarDisplayMode.YearView: return(CouldAddYearsToDate(date.Year + increment) ? date.AddYears(increment) : date); case CalendarDisplayMode.DecadeView: return(CouldAddYearsToDate(date.Year + (increment * 10)) ? date.AddYears(increment * 10) : date); case CalendarDisplayMode.CenturyView: return(CouldAddYearsToDate(date.Year + (increment * 100)) ? date.AddYears(increment * 100) : date); default: return(date.Year == DateTime.MinValue.Year && date.Month == DateTime.MinValue.Month && increment < 0 || date.Year == DateTime.MaxValue.Year && date.Month == DateTime.MaxValue.Month && increment > 0 ? date : date.AddMonths(increment)); } }
internal static DateTime GetLastDateForCurrentDisplayUnit(DateTime date, CalendarDisplayMode displayMode) { // NOTE: Ignore time part for calendar calculations. date = date.Date; switch (displayMode) { case CalendarDisplayMode.YearView: return(CalendarMathHelper.GetLastDateOfYearView(date)); case CalendarDisplayMode.DecadeView: return(CalendarMathHelper.GetLastDateOfDecadeView(date)); case CalendarDisplayMode.CenturyView: return(CalendarMathHelper.GetLastDateOfCenturyView(date)); default: return(CalendarMathHelper.GetLastDateOfMonthView(date)); } }
internal static bool IsCalendarViewChanged(DateTime displayDate, DateTime newDisplayDate, CalendarDisplayMode displayMode) { // NOTE: Ignore time part for calendar calculations. displayDate = displayDate.Date; newDisplayDate = newDisplayDate.Date; switch (displayMode) { case CalendarDisplayMode.YearView: return(displayDate.Year != newDisplayDate.Year); case CalendarDisplayMode.DecadeView: return(CalendarMathHelper.GetFirstDateOfDecade(displayDate) != CalendarMathHelper.GetFirstDateOfDecade(newDisplayDate)); case CalendarDisplayMode.CenturyView: return(CalendarMathHelper.GetFirstDateOfCentury(displayDate) != CalendarMathHelper.GetFirstDateOfCentury(newDisplayDate)); default: return(CalendarMathHelper.GetFirstDateOfMonth(displayDate) != CalendarMathHelper.GetFirstDateOfMonth(newDisplayDate)); } }
public void OnDisplayModeChanged(CalendarDisplayMode oldValue, CalendarDisplayMode newValue) { string msg = newValue.Name(); Toast.MakeText(this.context, msg, ToastLength.Long).Show(); }
public void OnDisplayModeChanged (CalendarDisplayMode oldValue, CalendarDisplayMode newValue) { string msg = newValue.Name (); Toast.MakeText (this.context, msg, ToastLength.Long).Show (); }