// GET: Major //[Authorize(Roles ="CanManagePage")] public ActionResult Index(int?id, int?courseID) { // var majors = db.Majors.Include(m => m.Teacher); //return View(majors.ToList()); var viewModel = new MajorCourseModel(); viewModel.Majors = db.Majors .Include(i => i.Teacher) .Include(i => i.Courses.Select(c => c.Majors)) .OrderBy(i => i.MajorID); if (id != null) { ViewBag.MajorID = id.Value; viewModel.Courses = viewModel.Majors.Where( i => i.MajorID == id.Value).Single().Courses; } if (courseID != null) { ViewBag.CourseID = courseID.Value; var selectedCourse = viewModel.Courses.Where(x => x.CourseID == courseID).Single(); db.Entry(selectedCourse).Collection(x => x.Enrollments).Load(); foreach (Enrollment enrollment in selectedCourse.Enrollments) { db.Entry(enrollment).Reference(x => x.Student).Load(); } viewModel.Enrollments = selectedCourse.Enrollments; } return(View(viewModel)); }
public ActionResult ReadOnlyIndex(int?id, int?courseID) { // var majors = db.Majors.Include(m => m.Teacher); //return View(majors.ToList()); var viewModel = new MajorCourseModel(); viewModel.Majors = db.Majors .Include(i => i.Teacher) .Include(i => i.Courses.Select(c => c.Majors)) .OrderBy(i => i.MajorID); if (id != null) { ViewBag.MajorID = id.Value; viewModel.Courses = viewModel.Majors.Where( i => i.MajorID == id.Value).Single().Courses; } return(View(viewModel)); }