private void OnCreateDayExecute(object sender, EventArgs e) { var vm = sender as CreateDayViewModel; YearViewModel year = Tree.Years.FirstOrDefault(c => c.Year == vm.SelectedDate.Year.ToString()); MonthViewModel month = null; DayViewModel day = null; if (year == null) { Tree.Years.Add(year = new YearViewModel(vm.Date.DateContent.Year, Tree, dataClient)); } else { month = year.Months.FirstOrDefault(c => c.Month == CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(vm.Date.DateContent.Month)); if (month == null) { year.Months.Add(month = new MonthViewModel(vm.Date.DateContent.Year, vm.Date.DateContent.Month, year, dataClient)); } else { month.Days.Add(new DayViewModel(vm.Date, month)); } } year = Tree.Years.FirstOrDefault(c => c.Year == vm.Date.DateContent.Year.ToString()); month = year.Months.FirstOrDefault(c => c.Month == CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(vm.Date.DateContent.Month)); day = month.Days.FirstOrDefault(c => c.Day.ID == vm.Date.ID); day.IsSelected = true; }
public MonthViewModel(Int32 year, Int32 month, YearViewModel parent, DataServiceClient dataClient) { Parent = parent; this.month = month; Days = new ObservableCollection <DayViewModel>(dataClient.FindDates(year, month, LoginInit.user.DetachmentID).Select(c => new DayViewModel(c, this))); }