private void UpdateListWorks() { YearWorks.Clear(); for (var i = 1; i <= 12; i++) { var month = new WorksInMonthViewModel(new DateTime(SelectedYear, i, 1)); foreach (var work in WorkTypes.Where(o => o.DateWork.Year == SelectedYear && o.DateWork.Month == i)) { month.WorkTypes.Add(work); } month.UpdateDayInMonth(); YearWorks.Add(month); } }
public void UpdateDayInMonth() { var dayweek = ((int)Date.DayOfWeek == 0) ? 7 : (int)Date.DayOfWeek; for (var i = 1 - dayweek; i < DateTime.DaysInMonth(Date.Year, Date.Month); i++) { var day = new WorksInMonthViewModel(new DateTime(Date.AddDays(i).Year, Date.AddDays(i).Month, Date.AddDays(i).Day), i < 0); if (i > 0) { foreach (var work in WorkTypes.Where(o => o.DateWork.Year == Date.AddDays(i).Year&& o.DateWork.Month == Date.AddDays(i).Month&& o.DateWork.Day == i + 1)) { day.WorkTypes.Add(work); } } WorksInDay.Add(day); } }