コード例 #1
0
        public async Task <IActionResult> StudentsbyCourse(int?id, int enrollmentYear)
        {
            if (id == null)
            {
                return(NotFound());
            }

            IQueryable <Enrollment> enrollments = _context.Enrollment.Where(e => e.Id == id);

            enrollments = enrollments.Include(e => e.Course).Include(e => e.Student).OrderBy(e => e.Student.StudentId).OrderBy(e => e.Student.StudentId);

            if (enrollmentYear != 0)
            {
                enrollments = enrollments.Where(x => x.Year == enrollmentYear);
            }
            else
            {
                enrollments = enrollments.Where(x => x.Year == DateTime.Now.Year);
            }


            EnrollmentFilterViewModel vm = new EnrollmentFilterViewModel
            {
                Enrollments = await enrollments.ToListAsync()
            };

            ViewData["currentYear"] = _context.Course.Where(c => c.Id == id).Select(c => c.Title).FirstOrDefault();
            return(View(vm));
        }
        public async Task <IActionResult> Index(string enrollmentCourse, int enrollmentYear, string enrollmentSemester)
        {
            IQueryable <Enrollment> enrollments   = _context.Enrollment.AsQueryable();
            IQueryable <int>        yearQuery     = _context.Enrollment.OrderBy(m => m.Year).Select(m => m.Year).Distinct();
            IQueryable <string>     semesterQuery = _context.Enrollment.Where(m => m.Semester != null).OrderBy(m => m.Semester).Select(m => m.Semester).Distinct(); //ama ne mi gi zema distinct

            if (!string.IsNullOrEmpty(enrollmentCourse))
            {
                enrollments = enrollments.Where(s => s.Course.Title.ToLower().Contains(enrollmentCourse.ToLower()));
            }
            if (enrollmentYear != 0)
            {
                enrollments = enrollments.Where(x => x.Year == enrollmentYear);
            }
            if (!string.IsNullOrEmpty(enrollmentSemester))
            {
                enrollments = enrollments.Where(s => s.Semester.Equals(enrollmentSemester));
            }

            var vm = new EnrollmentFilterViewModel
            {
                Years       = new SelectList(await yearQuery.ToListAsync()),
                Semesters   = new SelectList(await semesterQuery.ToListAsync()),
                Enrollments = await enrollments.OrderBy(e => e.Course.Title).Include(s => s.Course).Include(s => s.Student).ToListAsync()
            };

            return(View(vm));
        }
コード例 #3
0
        public async Task <IActionResult> StudentSubject(int?id, int enrollmentYear)
        {
            if (id == null)
            {
                return(NotFound());
            }

            /* var students = _context.Enrollment
             *   .Include(e => e.Student)
             *   .Include(e=>e.Course)
             *   .Where(s => s.CourseId == id);
             * return View(await students.ToListAsync());*/
            IQueryable <int?> year = _context.Enrollment.Select(m => m.Year).Distinct();
            var enrollments        = _context.Enrollment
                                     .Include(e => e.Student)
                                     .Include(e => e.Course)
                                     .Where(s => s.CourseId == id);

            if (enrollmentYear != 0)
            {
                enrollments = enrollments.Where(x => x.Year == enrollmentYear);
            }
            else
            {
                enrollments = enrollments.Where(x => x.Year == DateTime.Now.Year);
            }
            EnrollmentFilterViewModel enrolmentfilter = new EnrollmentFilterViewModel
            {
                SelectYear  = new SelectList(await year.ToListAsync()),
                Enrollments = await enrollments.ToListAsync()
            };

            ViewData["CourseName"] = _context.Course.Where(e => e.Id == id).Select(e => e.Title).FirstOrDefault();
            return(View(enrolmentfilter));
        }
        public async Task <IActionResult> CourseStudents(int?id, int enrollmentYear)
        {
            if (id == null)
            {
                return(NotFound());
            }

            IQueryable <Enrollment> enrollments = _context.Enrollment.Where(e => e.CourseId == id);

            enrollments = enrollments.Include(e => e.Course).Include(e => e.Student).OrderBy(e => e.Student.Index).OrderBy(e => e.Student.Index);

            if (enrollments != null)
            {
                var     anyenrollment = enrollments.First();
                AppUser loggedUser    = await userManager.GetUserAsync(User);

                if ((loggedUser.TeacherId != anyenrollment.Course.FirstTeacherId) && (loggedUser.TeacherId != anyenrollment.Course.SecondTeacherId))
                {
                    return(RedirectToAction("AccessDenied", "Account", null));
                }
            }

            if (enrollmentYear != 0)
            {
                enrollments = enrollments.Where(x => x.Year == enrollmentYear);
            }
            else
            {
                //po default se prikazuvat studentite zapisani vo poslednata godina
                enrollments = enrollments.Where(x => x.Year == DateTime.Now.Year);
            }

            EnrollmentFilterViewModel vm = new EnrollmentFilterViewModel
            {
                Enrollments = await enrollments.ToListAsync()
            };

            ViewData["CourseName"] = _context.Course.Where(c => c.Id == id).Select(c => c.Title).FirstOrDefault();
            return(View(vm));
        }