Ejemplo n.º 1
0
        public IActionResult LikeReview([FromBody] ReviewIdParameter model)
        {
            ReviewLikeResult ret           = new ReviewLikeResult();
            Claim            idClaim       = User.FindFirst("sub");
            Claim            usernameClaim = User.FindFirst("nickname");

            if (idClaim == null)
            {
                return(Unauthorized());
            }
            ret = _reviewActionService.LikeReview(idClaim.Value, model.ReviewId);
            if (ret.IsActionSucceed && ret.PostId != 0)
            {
                _bus.Publish <UserLikedReviewAction>(new UserLikedReviewAction()
                {
                    UserId         = idClaim.Value,
                    ReviewAuthorId = ret.ReviewAuthorId,
                    ReviewId       = model.ReviewId,
                    PostId         = ret.PostId,
                    Username       = usernameClaim.Value,
                    DateUtcAction  = DateTime.UtcNow
                }, "#");
            }
            return(Ok(Json(ret)));
        }
Ejemplo n.º 2
0
        public IActionResult UndislikeReview([FromBody] ReviewIdParameter model)
        {
            ReviewLikeResult ret = new ReviewLikeResult();
            var   user           = HttpContext.User;
            Claim idClaim        = User.FindFirst("sub");

            if (idClaim == null)
            {
                return(Unauthorized());
            }
            ret = _reviewActionService.UndislikeReview(idClaim.Value, model.ReviewId);
            if (ret.IsActionSucceed)
            {
                _bus.Publish <UserUndislikedReviewAction>(new UserUndislikedReviewAction()
                {
                    UserId        = idClaim.Value,
                    ReviewId      = model.ReviewId,
                    DateUtcAction = DateTime.UtcNow
                }, "#");
            }
            return(Ok(Json(ret)));
        }