/// <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))); }
/// <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); }
/// <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))); }