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