コード例 #1
0
        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));
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
        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));
        }