WinRTXamlToolkit.Controls.Calendar.OnNextClick C# (CSharp) Метод

OnNextClick() приватный Метод

Inherited code: Requires comment.
private OnNextClick ( ) : void
Результат void
        internal void OnNextClick()
        {
            if (DisplayMode == CalendarMode.Month && DisplayDate != null)
            {
                DateTime? d = DateTimeHelper.AddMonths(DateTimeHelper.DiscardDayTime(DisplayDate), 1);
                if (d.HasValue)
                {
                    if (!LastSelectedDate.HasValue || DateTimeHelper.CompareYearMonth(LastSelectedDate.Value, d.Value) != 0)
                    {
                        LastSelectedDate = d.Value;
                    }
                    DisplayDate = d.Value;
                }
            }
            else
            {
                if (DisplayMode == CalendarMode.Year)
                {
                    DateTime? d = DateTimeHelper.AddYears(new DateTime(SelectedMonth.Year, 1, 1), 1);

                    if (d.HasValue)
                    {
                        SelectedMonth = d.Value;
                    }
                    else
                    {
                        SelectedMonth = DateTimeHelper.DiscardDayTime(DisplayDateRangeEnd);
                    }
                }
                else
                {
                    Debug.Assert(DisplayMode == CalendarMode.Decade, "DisplayMode should be Decade");

                    DateTime? d = DateTimeHelper.AddYears(new DateTime(SelectedYear.Year, 1, 1), 10);

                    if (d.HasValue)
                    {
                        int decade = Math.Max(1, DateTimeHelper.DecadeOfDate(d.Value));
                        SelectedYear = new DateTime(decade, 1, 1);
                    }
                    else
                    {
                        SelectedYear = DateTimeHelper.DiscardDayTime(DisplayDateRangeEnd);
                    }
                }
                UpdateMonths();
            }
        }