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); } }
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); } }
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); } }
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); } }