public static IEnumerable<KeyValuePair<Guid, string>> GetBookedManikins(MedSimDbContext context, Course course)
 {
     var refStart = course.StartUtc;
     var refFinish = course.FinishCourseUtc();
     return (from csm in context.CourseSlotManikins
             let c = csm.Course
             let lastDay = c.CourseDays.FirstOrDefault(cd => cd.Day == c.CourseFormat.DaysDuration)
             let cFinish = lastDay == null
                 ? DbFunctions.AddMinutes(c.StartUtc, c.DurationMins)
                 : DbFunctions.AddMinutes(lastDay.StartUtc, lastDay.DurationMins)
             where c.Id != course.Id && c.StartUtc < refFinish && refStart < cFinish
             select new { csm.ManikinId, c.CourseFormat.Description, c.Department.Abbreviation })
             .ToKeyValuePairList(a => a.ManikinId, a => a.Abbreviation + '-' + a.Description);
 }