/// <summary>
        ///
        /// </summary>
        /// <param name="like"></param>
        /// <returns></returns>
        public async Task <HttpStatusCode> AddLiketoArticle(CreateLikeModel like)
        {
            try
            {
                LikeDbModel likeDbModel = new LikeDbModel()
                                          .SetArticleId(like.ArticleId)
                                          .SetTimeStamp(DateTimeOffset.UtcNow)
                                          .SetUserId(like.UserId)
                                          .SetCurrentState(like.CurrentState);
                RequestValidator requestValidator = new RequestValidator()
                                                    .SetRequestValidator(likeDbModel)
                                                    .ValidateAnyNull();

                if (requestValidator.isValidRequest)
                {
                    likeDbModel = await articleDataService.UpdateArticleLikes(likeDbModel);
                }

                //Update the Redis
                articleDataService.UpdateRedis(likeDbModel.ArticleId, true);

                return(HttpStatusCode.Created);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#2
0
        public async Task <IActionResult> PostAsync(CreateLikeModel model)
        {
            var result = await _likeService.CreateLikePostAsync(model.PostId, model.IsLike);

            if (result.IsFailure)
            {
                return(BadRequest(result.Errors));
            }

            return(Ok(result.Data));
        }
示例#3
0
        public IActionResult Create([FromBody] CreateLikeModel like)
        {
            var created = new Like {
                Id = Guid.NewGuid(), CreatedAt = DateTime.Now, PostId = like.PostId, UserId = like.UserId
            };

            _unitOfWork.Likes.Add(created);
            _unitOfWork.Complete();
            return(new ObjectResult(created)
            {
                StatusCode = 201
            });
        }
示例#4
0
        public async Task <IActionResult> AddLike([FromBody] CreateLikeModel likeModel)
        {
            try
            {
                var data = await articleBiz.AddLiketoArticle(likeModel);

                var result = new JsonResult(data)
                {
                    StatusCode = Convert.ToInt32(HttpStatusCode.Created)
                };
                return(result);
            }
            catch (Exception)
            {
                throw;
            }
        }