public void AnsweredQuestionModelValidationTest(int answerId, int questionId, bool expectedResult) { var answeredQuestion = new AnsweredQuestionModel { AnswerId = answerId, QuestionId = questionId }; var validation = new AnsweredQuestionModelValidation(); var result = validation.Validate(answeredQuestion); Assert.IsTrue(result.IsValid == expectedResult); }
public async Task <IActionResult> AnswerQuestionAsync([FromBody] AnsweredQuestionModel answeredQuestion) { int userId = (int)this.GetLoggedUserId(); var answeredQuestionEntity = _mapper.Map <AnsweredQuestion>(answeredQuestion); answeredQuestionEntity.UserId = userId; try { await _questionService.SaveAnsweredQuestionAsync(answeredQuestionEntity); await _rankingService.UpdateRankingAfterUserAnswerAsync(answeredQuestionEntity); return(NoContent()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IActionResult> AnswerQuestionAsync([FromBody] AnsweredQuestionModel answeredQuestion) { int userId = (int)this.GetLoggedUserId(); var answeredQuestionEntity = _mapper.Map <AnsweredQuestion>(answeredQuestion); answeredQuestionEntity.UserId = userId; try { var resultQuestion = await _questionService.SaveAnsweredQuestionAsync(answeredQuestionEntity); if (resultQuestion.Result) { var resultRanking = await _rankingService.UpdateRankingAfterUserAnswerAsync(answeredQuestionEntity); if (resultRanking.Result) { return(Ok(resultQuestion)); } else { return(BadRequest(resultRanking)); } } else { return(BadRequest(resultQuestion)); } } catch (Exception e) { return(BadRequest(new ProcessResult { Message = e.Message, Result = false })); } }