public void updateOnsiteDays(Dictionary <DateTime, List <DbEmployee> > onsiteDaysForWeek) { foreach (var day in Days) { DateTime currentDay = day.CurrentDay.Date; var engineers = (from onsiteDays in onsiteDaysForWeek where onsiteDays.Key == currentDay select onsiteDays.Value).FirstOrDefault(); //No engineers may have submitted for that day. if (engineers == null) { continue; } foreach (var currentEng in engineers) { string engInitials = currentEng.Firstname.Substring(0, 1) + currentEng.Surname.Substring(0, 1); CalendarDay requiredDay = Days.Where(x => x.CurrentDay == currentDay).FirstOrDefault(); if (requiredDay == null) { throw new Exception("Cannot find calendar day " + currentDay); } requiredDay.EngineersInitials.Add(engInitials); } } }
private void createDays() { DateTime endOfWeek = CurrentRowStartOfWeek.AddDays(6); DateTime currentDay = CurrentRowStartOfWeek; Days = new ObservableCollection <CalendarDay>(); int counter = 0; CalendarDay day; while (counter < 7) { day = new CalendarDay(currentDay); Days.Add(day); counter++; currentDay = currentDay.AddDays(1); } }