List<MissingThing> MissingCourseThings(EventDB eventDB)
{
List<MissingThing> list = new List<MissingThing>();
bool checkLoad = QueryEvent.AnyCoursesHaveLoads(eventDB); // only check load if some courses have it.
foreach (Id<Course> courseId in QueryEvent.SortedCourseIds(eventDB)) {
Course course = eventDB.GetCourse(courseId);
if (course.kind == CourseKind.Normal)
AddMissingThingsInRegularCourse(eventDB, courseId, list);
else if (course.kind == CourseKind.Score)
AddMissingThingsInScoreCourse(eventDB, courseId, list);
else
Debug.Fail("bad course kind");
if (checkLoad && eventDB.GetCourse(courseId).load < 0)
list.Add(new MissingThing(courseId, ReportText.ColumnHeader_Load, ReportText.EventAudit_MissingLoad));
}
return list;
}