public void LoadShiftInformation()
        {
            foreach (var dayControl in DayControls)
            {
                var control = dayControl;
                foreach (var shift in Shifts.Where(shift => Shift.DateWithinRange(control.Date, shift.StartDate, shift.EndDate)))
                {
                    if (shift.DaysList.Any(day => day == control.Date.DayOfWeek))
                    {
                        bool labelAdded = false;

                        // add sepecific times
                        foreach (var source in
                                 shift.ExceptionList.Where(
                                     exep => Shift.SameDay(exep.StartTime, control.Date) && exep.IsActive && !exep.IsOvertime))
                        {
                            labelAdded = true;
                            AddDayLabel(control.Date, source, shift.MakeLabel(source), new SolidColorBrush(shift.ForegroundColor),
                                        new SolidColorBrush(shift.BackgroundColor));
                        }
                        // If no special times and not canceled.
                        if (!labelAdded && !shift.ExceptionList.Any(
                                exep => Shift.SameDay(exep.StartTime, control.Date) && exep.IsActive == false))
                        {
                            AddDayLabel(control, shift);
                        }
                        else if (!labelAdded)
                        {
                            // add place holder for restoration
                            AddDayLabel(control.Date, shift, shift.LabelName, Shift.CanceledForeground, Shift.CanceledBackground);
                        }

                        // add overtime
                        foreach (var source in
                                 shift.ExceptionList.Where(
                                     exep => Shift.SameDay(exep.StartTime, control.Date) && exep.IsActive && exep.IsOvertime))
                        {
                            AddDayLabel(control.Date, source, shift.MakeLabel(source), new SolidColorBrush(shift.ForegroundColor),
                                        new SolidColorBrush(shift.BackgroundColor));
                        }
                    }
                }
            }
        }