public CandidateTestModel AddTestSubmission(int candidateId, AddTestSubmissionRequestModel testSubmissionModel) { var result = _context.CandidateTests .SingleOrDefault(s => s.CandidateId == candidateId && s.TestId == testSubmissionModel.TestId); if (result != null) { result.TestAnswer = testSubmissionModel.TestAnswer; result.EndTime = DateTime.Now; _context.SaveChanges(); return(result); } else { var insertTest = _context.CandidateTests.Add(new CandidateTestModel() { CandidateId = candidateId, TestId = testSubmissionModel.TestId, TestAnswer = testSubmissionModel.TestAnswer, EndTime = DateTime.Now, }); _context.SaveChanges(); return(insertTest.Entity); } }
public ActionResult <CandidateTestModel> AddTestSubmission([FromRoute] string tokenId, [FromBody] AddTestSubmissionRequestModel newSubmission) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var candidate = _candidates.GetCandidateByGuid(tokenId); if (candidate != null) { return(_submissions.AddTestSubmission(candidate.Id, newSubmission)); } return(StatusCode(401, "Invalid token")); }