public async Task <IActionResult> Index(int?id, int?courseId) { var instructors = await _serviceInstructor.GetAllAsync(); var instructorsViewModel = _mapper.Map <IEnumerable <InstructorViewModel> >(instructors); var instructorIndexDataViewModel = new InstructorIndexDataViewModel(instructorsViewModel); if (id != null) { ViewData["InstructorId"] = id.Value; var instructor = instructorIndexDataViewModel.InstructorsViewModels.Single(x => x.Id == id.Value); instructorIndexDataViewModel.CourseViewModels = instructor.CourseAssignmentViewModels.Select(x => x.CourseViewModel); } if (courseId != null) { ViewData["CourseId"] = courseId.Value; instructorIndexDataViewModel.EnrollmentViewModels = instructorIndexDataViewModel.CourseViewModels.Where(x => x.Id == courseId.Value).Single().EnrollmentViewModels; } return(View(instructorIndexDataViewModel)); }
// GET: /Instructor/ public ActionResult Index(int?id, int?courseID) { var viewModel = new InstructorIndexDataViewModel(); viewModel.Instructors = _instructorRepository.Get() .OrderBy(i => i.LastName) .Select(x => _mapper.Map <Instructor, InstructorViewModel>(x)); if (id != null) { ViewBag.InstructorID = id.Value; viewModel.Courses = viewModel .Instructors .Single(i => i.Id == id.Value) .Courses; } if (courseID != null) { ViewBag.CourseID = courseID.Value; var selectedCourse = viewModel.Courses.Single(x => x.Id == courseID); viewModel.Enrollments = selectedCourse.Enrollments; } return(View(viewModel)); }