public async Task <IActionResult> AddQuestionComment(QuestionCommentViewModel questionCommentViewModel) { if (ModelState.IsValid) { try { var question = await _repository.GetQuestionByIdWithoutDetailsAsync(questionCommentViewModel.QuestionId); if (question == null) { Response.StatusCode = 404; ViewData["ErrorMessage"] = "404 Resource not found."; return(View("Error")); } var currentlyLoggedInUser = await _userManager.GetUserAsync(User); questionCommentViewModel.UserId = currentlyLoggedInUser.Id; var questionComment = _mapper.Map <QuestionCommentViewModel, QuestionComment>(questionCommentViewModel); await _repository.AddQuestionCommentAsync(questionComment); return(RedirectToAction("Details", "Questions", new { questionId = questionCommentViewModel.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("AddQuestionComment", questionCommentViewModel)); }