protected override GetAnswersQueryResult Handle(GetAnswersQuery request) { var answers = DbContext.Answers.AsNoTracking().Where(t => t.QuestionId.Equals(request.QuestionId)).ToList(); return(new GetAnswersQueryResult { Answers = _dtoConverter.Convert(answers) }); }
protected override GetAnswerQueryResult Handle(GetAnswerQuery request) { var answer = DbContext.Answers.AsNoTracking().FirstOrDefault(t => t.Id.Equals(request.Id)); return(new GetAnswerQueryResult { Answer = _dtoConverter.Convert(answer) }); }
protected override GetTestAttemptQueryResult Handle(GetTestAttemptQuery request) { var test = DbContext.Tests.AsNoTracking().Where(t => t.Id.Equals(request.Id)) .Include(t => t.Questions) .ThenInclude(q => q.Answers) .FirstOrDefault(); return(new GetTestAttemptQueryResult { Test = _testDtoConverter.Convert(test), Questions = test?.Questions.Select(q => _questionDtoConverter.Convert(q)), Answers = test?.Questions.SelectMany(q => q.Answers.Select(a => _answerDtoConverter.Convert(a))) }); }
public async Task <IActionResult> Post([FromBody] AnswerViewModel viewModel) { if (viewModel == null) { return(new StatusCodeResult(500)); } try { await _commandDispatcher.DispatchAsync <AddAnswerCommand>(new AddAnswerCommand { Answer = _dtoConverter.Convert(viewModel) }); return(Ok()); } catch (Exception ex) { return(StatusCode(500, new { ErrorMessage = ex.Message })); } }