示例#1
0
        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));
            }
        }
示例#2
0
        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 ();
            }
示例#4
0
        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);
        }
示例#5
0
            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();
            }
示例#6
0
        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));
            }
        }
示例#7
0
        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));
            }
        }
示例#9
0
        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));
            }
        }
示例#10
0
        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 ();
			}