public async Task <IActionResult> Index(int?id, int?courseID) { var viewModel = new InstrutorIndexData(); viewModel.Instructors = await _context.Instructors .Include(i => i.OfficeAssignment) .Include(i => i.CourseAssignments) .ThenInclude(i => i.Course) .ThenInclude(i => i.Enrollments) .ThenInclude(i => i.student) .Include(i => i.CourseAssignments) .ThenInclude(i => i.Course) .ThenInclude(i => i.Department) .AsNoTracking() .OrderBy(i => i.LastName) .ToListAsync(); if (id != null) { ViewData["InstructorID"] = id.Value; Instructor instructor = viewModel.Instructors.Single(i => i.ID == id.Value); viewModel.Courses = instructor.CourseAssignments.Select(s => s.Course); } if (courseID != null) { ViewData["CourseID"] = courseID.Value; viewModel.Enrollments = viewModel.Courses.Single(x => x.CourseID == courseID).Enrollments; } return(View(viewModel)); }
// GET: Instrutores public async Task <IActionResult> Index(int?instrutorID, int?cursoID) { //return View(await _context.Instrutor.ToListAsync()); var viewModel = new InstrutorIndexData(); viewModel.Instrutores = await _context.Instrutor .Include(i => i.Escritorio) .Include(i => i.CursosInstrutor) .ThenInclude(i => i.Curso) .ThenInclude(i => i.Matriculas) .ThenInclude(i => i.Aluno) .Include(i => i.CursosInstrutor) .ThenInclude(i => i.Curso) .ThenInclude(i => i.Departamento) .AsNoTracking() .OrderBy(i => i.Sobrenome) .ToListAsync(); if (instrutorID != null) { ViewData["InstrutorID"] = instrutorID.Value; Instrutor instrutor = viewModel.Instrutores.Where( i => i.InstrutorID == instrutorID.Value).Single(); viewModel.Cursos = instrutor.CursosInstrutor.Select(s => s.Curso); } if (cursoID != null) { ViewData["CursoID"] = cursoID.Value; viewModel.Matriculas = viewModel.Cursos.Where( x => x.CursoID == cursoID).Single().Matriculas; } return(View(viewModel)); }
public async Task <IActionResult> Index(int?id, int?cursoID) { var viewModel = new InstrutorIndexData { Instrutores = await Contexto.Instrutores .Include(i => i.Escritorio) .Include(i => i.CursoInstrutores) .ThenInclude(i => i.Curso) .ThenInclude(i => i.Departamento) .OrderBy(i => i.Sobrenome) .ToListAsync() }; if (id != null) { ViewData["InstrutorId"] = id.Value; var instrutor = viewModel.Instrutores.Where(i => i.Id == id.Value).SingleOrDefault(); viewModel.Cursos = instrutor.CursoInstrutores.Select(c => c.Curso); } if (cursoID != null) { ViewData["CursoId"] = cursoID.Value; var cursoSelecionad = viewModel.Cursos.Where(x => x.CursoId == cursoID).Single(); await Contexto.Entry(cursoSelecionad).Collection(x => x.CursoEstudantes).LoadAsync(); foreach (CursoEstudante enrollment in cursoSelecionad.CursoEstudantes) { await Contexto.Entry(enrollment).Reference(x => x.Estudante).LoadAsync(); } viewModel.CursoEstudantes = cursoSelecionad.CursoEstudantes; viewModel.CursoEstudantes = viewModel.Cursos.Where(x => x.CursoId == cursoID).SingleOrDefault().CursoEstudantes; } return(View(viewModel)); }