private void PopulateAssignedSchoolData(Lecturer lecturer) { var allSchools = db.Schools; var lecturerSchool = new HashSet<int>(lecturer.AllSchoolLecturerBelongsTo.Select(c => c.SchoolID)); var viewModel = new List<AssignedSchoolData>(); foreach (var school in allSchools) { viewModel.Add(new AssignedSchoolData { SchoolID = school.SchoolID, Name = school.Name, Assigned = lecturerSchool.Contains(school.SchoolID) }); } ViewBag.Schools = viewModel; }
private void UpdateLectuerSchool(string[] selectedSchools, Lecturer lecturerToUpdate) { if (selectedSchools == null) { lecturerToUpdate.AllSchoolLecturerBelongsTo = new List<School>(); return; } var selectedSchoolsHS = new HashSet<string>(selectedSchools); var lecturerSchools = new HashSet<int> (lecturerToUpdate.AllSchoolLecturerBelongsTo.Select(c => c.SchoolID)); foreach (var school in db.Schools) { if (selectedSchoolsHS.Contains(school.SchoolID.ToString())) { if (!lecturerSchools.Contains(school.SchoolID)) { lecturerToUpdate.AllSchoolLecturerBelongsTo.Add(school); } } else { if (lecturerSchools.Contains(school.SchoolID)) { lecturerToUpdate.AllSchoolLecturerBelongsTo.Remove(school); } } } }
public ActionResult CreateLecturer() { var lecturer = new Lecturer(); lecturer.AllSchoolLecturerBelongsTo = new List<School>(); PopulateAssignedSchoolData(lecturer); return View(); }