public void ReportError(Guid project_id, Guid sprint_id, Guid submission_id, ReportErrorM model)
        {
            try
            {
                Submission     submission      = EnsureExisted(project_id, sprint_id, submission_id);
                TaskSubmission task_submission = _taskSubmission.GetOne(ts => ts.SubmissionId.Equals(submission_id) && ts.TaskId.Equals(model.TaskId));
                if (task_submission == null)
                {
                    throw NotFound();
                }

                task_submission.Passed   = model.Passed;
                task_submission.Failed   = model.Failed;
                task_submission.IsTested = true;
                task_submission.Message  = model.Message;

                Data.Models.Task task = _task.GetOne(t => t.Id.Equals(model.TaskId));
                task.Status = model.Failed != 0 ? "Error" : "Complete";

                SaveChanges();
            }
            catch (Exception e)
            {
                throw e is RequestException ? e : _errorHandler.WriteLog("An error occurred!",
                                                                         e, DateTime.Now, "Server", "Service-Submission-ReportError");
            }
        }
 public IActionResult ReportError([FromRoute] Guid project_id, [FromRoute] Guid sprint_id, [FromRoute] Guid submission_id, [FromBody] ReportErrorM model)
 {
     try
     {
         JwtClaimM jwt_claim = _jwtAuth.GetClaims(Request);
         _permission.EnsureTester(jwt_claim.UserId, project_id);
         _submission.ReportError(project_id, sprint_id, submission_id, model);
         return(Ok());
     }
     catch (Exception e)
     {
         return(GetError(e));
     }
 }