Пример #1
0
        public async Task <IActionResult> Create(PostLikes postLikes)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var isCreated = await postLikesRepo.Create(postLikes);

            return(Ok(new { isCreated }));
        }
Пример #2
0
        /// <summary>
        /// Posting th
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <PostLikeResponse> LikepostAsync(LikePostReq request)
        {
            var response = new PostLikeResponse();

            try
            {
                //Checking against Duplicate or previous like by same UserAgent;
                var isLiked = await CheckDuplicateTaskAsync(request.PostId, request.UserIp);

                if (!isLiked)
                {
                    //Persist like to the database;
                    var result = await _repo.Create(new DataAccessLayer.Entities.PostLikes {
                        BrowserAgent = request.BrowserAgent, PostId = request.PostId, IsLike = request.IsLike, UserIp = request.UserIp
                    });

                    if (result != null && result.Id > 0)
                    {
                        response.LikedPostId = result.PostId;
                        response.LikesId     = result.Id.ToString();
                    }
                }


                if (isLiked)
                {
                    //returning response message for like post
                    response.LikesId             = null;
                    response.LikedPostId         = null;
                    response.responseCode        = "01";
                    response.responseMessage     = "Duplicate Likes Found";
                    response.responseDescription = "OOPs, You cant like this Post twice";
                }

                //log information here
            }
            catch (Exception ex)
            {
                //Log This
                throw ex;
            }

            return(response);
        }