public async Task <IActionResult> GradeAssignmentSubmit(GradeAssignmentModel model, int assigmentId) { if (ModelState.IsValid) { var user = await GetCurrentUserAsync(); if (user is TeacherAccount teacher) { var assignment = _assignments.GetById(assigmentId); var total = 0; for (var i = 0; i < model.StudentIds.Count; i++) { var mark = new Mark() { Assignment = assignment, Description = "", MarkDate = DateTime.Now, MarkType = model.Marks[i], Teacher = teacher }; total += (int)mark.MarkType; _students.AddNewMark(model.StudentIds[i], mark); } _assignments.SetGraded(assignment, total / model.StudentIds.Count); return(RedirectToAction("Index")); } } return(RedirectToAction("Error", "Home")); }
public IActionResult GradeAssignment([FromBody] GradeAssignmentModel model) { try { // update assignment submission _courseMaterialService.GradeAssignment(model.Id, model.Grade); return(Ok()); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public async Task <IActionResult> GradeAssignment(int assignmentId) { var user = await GetCurrentUserAsync(); if (user is TeacherAccount teacher) { var assignment = _assignments.GetById(assignmentId); var students = _students.GetStudentsForSchoolClass(assignment.SchoolClass.Id); var model = new GradeAssignmentModel() { Assignment = assignment, Students = students }; return(View(model)); } return(RedirectToAction("Error", "Home")); }