public async Task <IActionResult> AddAnswerComment(AnswerCommentViewModel answerCommentViewModel) { if (ModelState.IsValid) { try { var answer = await _repository.GetAnswerByIdWithoutDetailsAsync(answerCommentViewModel.AnswerId); if (answer == null) { Response.StatusCode = 404; ViewData["ErrorMessage"] = "404 Resource not found."; return(View("Error")); } var question = await _repository.GetQuestionByIdWithoutDetailsAsync(answerCommentViewModel.QuestionId); if (question == null) { Response.StatusCode = 404; ViewData["ErrorMessage"] = "404 Resource not found."; return(View("Error")); } var currentlyLoggedInUser = await _userManager.GetUserAsync(User); answerCommentViewModel.UserId = currentlyLoggedInUser.Id; var answerComment = _mapper.Map <AnswerCommentViewModel, AnswerComment>(answerCommentViewModel); await _repository.AddAnswerCommentAsync(answerComment); return(RedirectToAction("Details", "Questions", new { questionId = answerCommentViewModel.QuestionId })); } catch (DbUpdateException dbex) { ViewData["ErrorMessage"] = "DB issue - " + dbex.Message; return(View("Error")); } catch (Exception ex) { ViewData["ErrorMessage"] = ex.Message; return(View("Error")); } } return(View("AddAnswerComment", answerCommentViewModel)); }