Ejemplo n.º 1
0
        public async Task OnGetAsync()
        {
            Student = await _context.Student.ToListAsync();

            StudentData = new StudentIndexData();

            StudentData.Students = await _context.
                                   .Include(i => i.OfficeAssignment)
                                   .Include(i => i.Courses)
                                   .ThenInclude(c => c.Department)
                                   .OrderBy(i => i.LastName)
                                   .ToListAsync();
        }
Ejemplo n.º 2
0
        // GET: Students1
        public ActionResult Index(int?id, int?courseID, int?moyenID)
        {
            var viewModel = new StudentIndexData();

            viewModel.Students = db.Students
                                 .Include(i => i.Courses.Select(c => c.Department))

                                 .OrderBy(i => i.LastName);
            var students = db.Students.Include(c => c.OfficeAssignment);

            if (id != null)
            {
                ViewBag.StudentID = id.Value;
                viewModel.Courses = viewModel.Students.Where(
                    i => i.StudentID == id.Value).Single().Courses;
                foreach (Course cour in viewModel.Courses)
                {
                    db.Entry(cour).Collection(x => x.Grades).Load();
                }
            }
            if (courseID != null)
            {
                ViewBag.CourseID = courseID.Value;
                // Lazy loading
                //viewModel.Enrollments = viewModel.Courses.Where(
                //    x => x.CourseID == courseID).Single().Enrollments;
                // Explicit loading
                var selectedCourse = viewModel.Courses.Where(x => x.CourseId == courseID).Single();

                db.Entry(selectedCourse).Collection(x => x.Grades).Load();
                if (selectedCourse.Grades != null)
                {
                    //foreach (Grade Moyen in selectedCourse.Grades)
                    //{
                    //    db.Entry(Moyen).Reference(x => x.Student).Load();
                    //}

                    //viewModel.Moyennes = selectedCourse.Grades;
                    viewModel.Grade = selectedCourse.Grades.Where(g => g.Student.StudentID == id).FirstOrDefault();
                }
            }


            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public async Task OnGetAsync(int?id, int?EventID)
        {
            Student          = new StudentIndexData();
            Student.Students = await _context.Student
                               .Include(s => s.AssignEvents)
                               .ThenInclude(i => i.Event)
                               .AsNoTracking()
                               .OrderBy(i => i.LastName)
                               .ToListAsync();

            /////////////////////////////////////////////////////
            //Added code for searching by last name.
            var SearchStudent = from m in _context.Student
                                select m;

            if (!string.IsNullOrEmpty(SearchString))
            {
                Student.Students = SearchStudent.Where(s => s.LastName.Contains(SearchString));
            }

            /////////////////////////////////////////////////////


            if (id != null)
            {
                StudentID = id.Value;
                Student student = Student.Students.Where(
                    i => i.StudentID == id.Value).Single();
                Student.Events = student.AssignEvents.Select(s => s.Event);
            }

            if (EventID != null)
            {
                EventID = EventID.Value;
                Student.AssignEvents = Student.Events.Where(
                    x => x.EventID == EventID).Single().AssignEvents;
            }
        }
Ejemplo n.º 4
0
        // GET: Students
        public async Task <IActionResult> Index(
            int?StudentID,
            int?CourseID,
            string sortString   = "",
            string searchString = "",
            int pageIndex       = 1)
        {
            StudentIndexData viewModel = new StudentIndexData();
            StudentParam     param     = new StudentParam();

            param.SearchString       = searchString;
            param.SortString         = sortString;
            param.SortLastName       = (sortString == "lastName_desc") ? "lastName" : "lastName_desc";
            param.SortID             = (sortString == "id_desc") ? "id" : "id_desc";
            param.SortEnrollmentDate = (sortString == "enrollDate_desc") ? "enrollDate" : "enrollDate_desc";
            param.PageIndex          = pageIndex;
            viewModel.Param          = param;

            IQueryable <Student> students = _context.Students
                                            .Include(s => s.Enrollments)
                                            .ThenInclude(s => s.Course)
                                            .ThenInclude(s => s.Department)
                                            .Include(s => s.Enrollments)
                                            .ThenInclude(s => s.Course)
                                            .ThenInclude(s => s.CourseAssignments)
                                            .ThenInclude(s => s.Instructor)
                                            .AsNoTracking()
                                            .AsQueryable();

            if (!String.IsNullOrEmpty(searchString))
            {
                students = students.Where(
                    s => s.FirstName.Contains(searchString) ||
                    s.LastName.Contains(searchString)
                    );
            }

            if (StudentID != null)
            {
                viewModel.Param.StudentID = StudentID;
                //ViewData["StudentID"] = StudentID;
                Student student = students
                                  .Where(i => i.StudentId == StudentID).Single();
                viewModel.Courses = student.Enrollments
                                    .Select(c => c.Course);
            }

            if (CourseID != null)
            {
                viewModel.Param.CourseID = CourseID;
                Course course = viewModel.Courses
                                .Where(c => c.CourseID == CourseID).FirstOrDefault();
                viewModel.CourseAssignments = course.CourseAssignments;
            }

            students = SortStudents(students, sortString);

            int pageSize             = 10;
            PagedList <Student> list = _pagedList.PagedList();

            viewModel.PagedList = list.Paging(await students.ToListAsync(), pageIndex, pageSize);

            return(View(viewModel));
        }