Пример #1
0
        private void LoadOrUpdateYears()
        {
            var interval = 7;
            var date     = new DateTime(SelectedDate.Year, 1, 1).AddYears(-interval);

            for (int i = 0; i < 15; i++)
            {
                if (Years.Count <= i)
                {
                    var CalendarXItem = new CalendarXModelItem()
                    {
                        Value       = date,
                        DisplayName = date.Year.ToString(),
                        IsEnabled   = IsMonthValidated(date),
                        IsChecked   = date.Year == SelectedDate.Year,
                    };
                    Years.Add(CalendarXItem);
                }
                else
                {
                    var CalendarXItem = Years[i];
                    CalendarXItem.Value       = date;
                    CalendarXItem.DisplayName = date.Year.ToString();
                    CalendarXItem.IsEnabled   = IsMonthValidated(date);
                    CalendarXItem.IsChecked   = date.Year == SelectedDate.Year;
                }
                date = date.AddYears(1);
            }
        }
Пример #2
0
        private void LoadOrUpdateMonths()
        {
            var date = new DateTime(SelectedDate.Year, 1, 1);

            for (int i = 0; i < 12; i++)
            {
                if (Months.Count <= i)
                {
                    var CalendarXItem = new CalendarXModelItem()
                    {
                        Value       = date,
                        DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(date.Month),
                        IsEnabled   = IsMonthValidated(date),
                        IsChecked   = (date.Year == SelectedDate.Year && date.Month == SelectedDate.Month),
                    };
                    Months.Add(CalendarXItem);
                }
                else
                {
                    var CalendarXItem = Months[i];
                    CalendarXItem.Value       = date;
                    CalendarXItem.DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(date.Month);
                    CalendarXItem.IsEnabled   = IsMonthValidated(date);
                    CalendarXItem.IsChecked   = (date.Year == SelectedDate.Year && date.Month == SelectedDate.Month);
                }
                date = date.AddMonths(1);
            }
        }
Пример #3
0
        private void LoadOrUpdateDays()
        {
            var firstDayDate   = DateTimeUtils.GetFirstDayDate(SelectedDate);
            var dayInMonth     = DateTimeUtils.GetDayInMonth(firstDayDate);
            var dayOfWeek      = DateTimeUtils.GetDayOfWeek(firstDayDate.DayOfWeek);
            var firstDayOfWeek = DateTimeUtils.GetDayOfWeek(FirstDayOfWeek);
            int interval;

            if (dayOfWeek < firstDayOfWeek)
            {
                interval = 7 - (firstDayOfWeek - dayOfWeek);
            }
            else
            {
                interval = dayOfWeek - firstDayOfWeek;
            }
            if (interval == 0)
            {
                interval = 7;
            }
            var date = firstDayDate.AddDays(-interval);

            for (int i = 0; i < 42; i++)
            {
                if (Days.Count <= i)
                {
                    var CalendarXItem = new CalendarXModelItem()
                    {
                        Value             = date,
                        DisplayName       = date.Day.ToString(),
                        IsEnabled         = IsDateValidated(date),
                        IsChecked         = date == SelectedDate,
                        IsNotCurrentMonth = i < interval ? true : (i >= (interval + dayInMonth)),
                    };
                    Days.Add(CalendarXItem);
                }
                else
                {
                    var CalendarXItem = Days[i];
                    CalendarXItem.Value             = date;
                    CalendarXItem.DisplayName       = date.Day.ToString();
                    CalendarXItem.IsEnabled         = IsDateValidated(date);
                    CalendarXItem.IsChecked         = date == SelectedDate;
                    CalendarXItem.IsNotCurrentMonth = i < interval ? true : (i >= (interval + dayInMonth));
                }
                date = date.AddDays(1);
            }
        }
Пример #4
0
        private void LoadWeeks()
        {
            var daysOfWeek = FirstDayOfWeek;

            for (int i = 0; i < 7; i++)
            {
                if (Weeks.Count <= i)
                {
                    var CalendarXItem = new CalendarXModelItem()
                    {
                        DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetShortestDayName(daysOfWeek),
                    };
                    Weeks.Add(CalendarXItem);
                }
                else
                {
                    var CalendarXItem = Weeks[i];
                    CalendarXItem.DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetShortestDayName(daysOfWeek);
                }
                daysOfWeek = DateTimeUtils.GetNextDayOfWeek(daysOfWeek);
            }
        }