public ActionResult Edit(vmCourse course) { try { if (ModelState.IsValid) { using (CoursesManager) { var item = CoursesManager.GetCoursebyID(course.ID); item.Credits = course.Credits; item.DepartmentID = course.DepartmentID; item.Description = course.Description; item.InstructorID = course.InstructorID; item.TextBookID = course.TextBookID; item.Title = course.Title; var success = CoursesManager.UpdateCourse(item); if (success) { return(RedirectToAction("Details", new { id = item.ID })); } throw new DataException("Failed to save " + course.Title + ". Please try again"); } } } catch (DataException ex) { ModelState.AddModelError("", ex.Message); } using (DeptManager) { using (InstManager) { using (PeopleManager) { using (TBManager) { course.Departments = DeptManager.GetAllDepartments().ToList(); var inst = InstManager.GetAllInstructors(); var people = PeopleManager.GetAllPeople(); var instr = from instructor in inst join person in people on instructor.PersonID equals person.ID select new KeyValuePair <int, string>(instructor.ID, string.Format("{0}, {1}", person.LastName, person.FirstMidName)); course.Instructors = instr.ToDictionary(t => t.Key, t => t.Value); course.Textbooks = TBManager.GetAllTextbooks().ToList(); } } } } return(View(course)); }