public async Task <IActionResult> Review(AssignmentReviewInputModel input) { if (!this.ModelState.IsValid) { return(RedirectToAction("Results")); } var maxPoints = this.assignmentService.GetMaxPoints(input.AssignmentId); if (input.Points > maxPoints) { return(RedirectToAction("Results")); } await this.assignmentService.Review(input); return(RedirectToAction("Results")); }
public async Task Review(AssignmentReviewInputModel input) { var assignmentResult = this.context.AssignmentResults .FirstOrDefault(x => x.AssignmentId == input.AssignmentId && x.StudentId == input.StudentId); var assignment = this.context.Assignments .FirstOrDefault(x => x.Id == input.AssignmentId); if (assignment == null) { return; } if (input.Points < 0 || input.Points > assignment.Points) { return; } assignmentResult.Points = input.Points; assignmentResult.Stage = 3; this.context.AssignmentResults.Update(assignmentResult); await this.context.SaveChangesAsync(); }