public async Task <IActionResult> CommentPost(PostCommentFormViewModel postCommentFormViewModel) { if (ModelState.IsValid) { var postComment = _mapper.Map <PostCommentFormViewModel, PostComment>(postCommentFormViewModel); if (_accessor.HttpContext?.Connection.RemoteIpAddress != null) { postComment.Ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); } postComment.PostCommentStatus = PostCommentStatus.Unclear; _unitOfWork.PostCommentRepository.Insert(postComment); await _unitOfWork.Complete(); return(new JsonResult(new JsonResultModel() { StatusCode = JsonResultStatusCode.Success, Message = ConstantMessages.CommentSentAndWillShowAfterAcceptance })); } return(new JsonResult(new JsonResultModel() { StatusCode = JsonResultStatusCode.ModelStateIsNotValid, Message = ConstantMessages.CommentFailedToSend })); }
public async Task <IActionResult> Edit(int id, PostCommentFormViewModel postCommentFormViewModel) { if (id != postCommentFormViewModel.Id) { return(BadRequest()); } if (ModelState.IsValid) { var user = await _unitOfWork.UserRepository.GetByClaimsPrincipal(HttpContext.User); if (!await _unitOfWork.UserRepository .IsUserAllowedForOperation(user, postCommentFormViewModel.PostUserId, ConstantUserRoles.SuperAdmin)) { return(Unauthorized()); } var postComment = _mapper.Map <PostCommentFormViewModel, PostComment>(postCommentFormViewModel); await _unitOfWork.PostCommentRepository.UpdateChildrenStatus(postComment.Id, postComment.Status); _unitOfWork.PostCommentRepository.Update(postComment); await _unitOfWork.Complete(); return(RedirectToAction(nameof(Index))); } return(View(postCommentFormViewModel)); }