public async Task <IActionResult> EditAnswer(AnswerForCreationDto answerDto) { var user = await _userRepository.GetUserByUsernameAsync(answerDto.Username); if (user != null) { var answer = _mapper.Map <Answer>(answerDto); answer.UserId = user.Id; _answerRepository.Edit(answer); if (await _answerRepository.SaveAll()) { return(Ok(_mapper.Map <AnswerToReturnDto>(answer))); } } throw new Exception("Nie znaleziono rozwiązania"); }
public async Task <IActionResult> CreateAnswer([FromBody] AnswerForCreationDto model) { // maps resource to a domain model var answer = _mapper.Map <Answer>(model); try { // create answer var answerCreated = await _answerService.Create(answer, model.QuestionId); return(Ok(_mapper.Map <AnswerDto>(answerCreated))); } catch (Exception ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public async Task <IActionResult> AddAnswer(AnswerForCreationDto answerDto) { var user = await _userRepository.GetUserByUsernameAsync(answerDto.Username); var answer = _mapper.Map <Answer>(answerDto); answer.UserId = user.Id; if (user != null) { _answerRepository.Add <Answer>(answer); await _answerRepository.SaveAll(); user.Answers.Add(answer); await _userRepository.SaveAll(); return(Ok(_mapper.Map <AnswerToReturnDto>(answer))); } throw new Exception("Nie udało się dodać rozwiązania"); }
public async Task <IActionResult> CreateAnswerAsync(int questionId, AnswerForCreationDto answerforCreation) { var questionFromRepo = await _repo.QuestionRepository.GetQuestionAsync(questionId); if (questionFromRepo == null) { return(BadRequest("Question not found")); } if (questionFromRepo.Exam.AuthorId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var answer = _mapper.Map <Answer>(answerforCreation); answer.QuestionId = questionId; _repo.AnswerRepository.Add(answer); if (await _repo.SaveAllAsync()) { var answerForReturn = _mapper.Map <AnswerForReturnDto>(answer); return(CreatedAtRoute("GetAnswerAsync", new { answerId = answer.Id }, answerForReturn)); } return(BadRequest("Failed to save an answer")); }