private void PopulateAssignedCourseData(School school) { var allCourses = db.Courses; var schoolCourses = new HashSet<int>(school.CoursesLearnedInSchool.Select(c => c.CourseID)); var viewModel = new List<AssignedCourseData>(); foreach (var course in allCourses) { viewModel.Add(new AssignedCourseData { CourseID = course.CourseID, Name = course.Name, Assigned = schoolCourses.Contains(course.CourseID) }); } ViewBag.Courses = viewModel; }
private void UpdateSchoolCourses(string[] selectedCourses, School SchoolToUpdate) { if (selectedCourses == null) { SchoolToUpdate.CoursesLearnedInSchool = new List<Course>(); return; } var selectedCoursesHS = new HashSet<string>(selectedCourses); var schoolCourses = new HashSet<int> (SchoolToUpdate.CoursesLearnedInSchool.Select(c => c.CourseID)); foreach (var course in db.Courses) { if (selectedCoursesHS.Contains(course.CourseID.ToString())) { if (!schoolCourses.Contains(course.CourseID)) { SchoolToUpdate.CoursesLearnedInSchool.Add(course); } } else { if (schoolCourses.Contains(course.CourseID)) { SchoolToUpdate.CoursesLearnedInSchool.Remove(course); } } } }
public ActionResult CreateSchool() { var school = new School(); school.CoursesLearnedInSchool = new List<Course>(); PopulateAssignedCourseData(school); return View(); }