Example #1
0
        /// <summary>
        /// Grades management page for classid (includes setting grades, and adding assignments)
        /// </summary>
        /// <param name="classid">ID of class to update grades</param>
        /// <returns>View: Grades?classid</returns>
        public async Task <IActionResult> Grades(int classid)
        {
            GradesVM gradeVM = _teacherRepository.GetGradesForClass(classid);

            gradeVM.AssignmentCategories = _teacherRepository.GetAssignmentCategories(classid);
            gradeVM.ClassAssignments     = _teacherRepository.GetClassAssignments(classid);
            gradeVM.EnrolledStudents     = _teacherRepository.GetEnrolledStudents(classid);
            gradeVM.StudentGrades        = _teacherRepository.GetEnrolledStudentsGrades(classid);
            gradeVM.PopulateStudentAverages();

            return(await Task.Run(() => View(gradeVM)));
        }
Example #2
0
        /// <summary>
        /// Gets list of Grades for class mapped to classid
        /// </summary>
        /// <param name="classid">ID of class to get grades for</param>
        /// <returns>GradeVM with list of grades</returns>
        public GradesVM GetGradesForClass(int classid)
        {
            GradesVM gradeVM = new GradesVM();

            var gradesQuery = (from classes in _context.Classes
                               select new
            {
                classes.ClassId,
                classes.TeacherId,
                classes.ClassName,
                classes.Period
            }).Where(c => c.ClassId == classid).FirstOrDefault();

            gradeVM.ClassId   = gradesQuery.ClassId;
            gradeVM.TeacherId = gradesQuery.TeacherId;
            gradeVM.ClassName = gradesQuery.ClassName;
            gradeVM.Period    = gradesQuery.Period;

            return(gradeVM);
        }
Example #3
0
        /// <summary>
        /// Grades management page for teacher's class (includes setting grades, and adding assignments)
        /// </summary>
        /// <param name="classid">ID of class to update grades</param>
        /// <returns>View: Grades?classid</returns>
        public async Task <IActionResult> Grades(int classid)
        {
            //Verification to ensure that teacher is tied to class
            int teacherid = _teacherRepository.GetTeacherIdFromEmail(this.User.Identity.Name);

            if (!_teacherRepository.IsTeacherForClass(teacherid, classid))
            {
                return(RedirectToAction(nameof(Classes)));
            }

            GradesVM gradeVM = _teacherRepository.GetGradesForClass(classid);

            gradeVM.AssignmentCategories = _teacherRepository.GetAssignmentCategories(classid);
            gradeVM.ClassAssignments     = _teacherRepository.GetClassAssignments(classid);
            gradeVM.EnrolledStudents     = _teacherRepository.GetEnrolledStudents(classid);
            gradeVM.StudentGrades        = _teacherRepository.GetEnrolledStudentsGrades(classid);
            gradeVM.PopulateStudentAverages();

            return(await Task.Run(() => View(gradeVM)));
        }