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);
            }
        }
Пример #2
0
        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"));
        }