public async Task <IActionResult> GetCommentReplies([FromQuery] CommentReplyParameter commentReplyParameter)
        {
            var getAllCommentRepliesQuery = new GetAllCommentRepliesQuery(commentReplyParameter);
            var result = await mediator.Send(getAllCommentRepliesQuery);

            if (result.Code == HttpStatusCode.OK)
            {
                Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>));
            }

            return(StatusCode((int)result.Code, result.Value));
        }
        public async Task <APIResponse> GetCommentReplies(CommentReplyParameter commentReplyParameter)
        {
            try
            {
                string serializedStories;
                // List<AssetResponse> stories;

                /* var encodedStories = await distributedCache.GetAsync(BlogServiceOperation.GetStoriesCacheName);
                 *
                 * if (encodedStories != null)
                 * {
                 *   serializedStories = Encoding.UTF8.GetString(encodedStories);
                 *   stories = JsonConvert.DeserializeObject<List<StoryResponse>>(serializedStories);
                 * }
                 * else
                 * {*/
                var client = httpClientFactory.CreateClient(VendorServiceOperation.serviceName);

                UriBuilder url = new UriBuilder(servicesConfig.Blog + VendorServiceOperation.GetReviews());
                url.Query = QueryStringHelper.ConvertToQueryString(commentReplyParameter);

                var response = await client.GetAsync(url.ToString());

                var reviewResponse = JsonConvert.DeserializeObject <APIResponse>(await response.Content.ReadAsStringAsync());

                serializedStories = JsonConvert.SerializeObject(reviewResponse);

                /* encodedStories = Encoding.UTF8.GetBytes(serializedStories);
                 * var options = new DistributedCacheEntryOptions()
                 *               .SetSlidingExpiration(TimeSpan.FromMinutes(1))
                 *               .SetAbsoluteExpiration(DateTime.Now.AddHours(1));
                 *
                 * await distributedCache.SetAsync(VendorServiceOperation.GetStoriesCacheName, encodedStories, options);
                 * }*/

                return(new APIResponse(reviewResponse, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'GetReviews()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
Example #3
0
        /// <summary>
        /// Gets all CommentReplies.
        /// </summary>
        /// <param name="BenefitsParameter">The Comment Reply parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetAllCommentReplies(CommentReplyParameter commentReplyParameter)
        {
            {
                {
                    var getCommentReplyParams = new object[] {
                        new MySqlParameter("@p_Value", commentReplyParameter.value),
                        new MySqlParameter("@p_AprovalStatus", commentReplyParameter.ApprovalStatus),
                        new MySqlParameter("@p_IsForSingleCommentreply", commentReplyParameter.IsForSingleCommentreply),
                        new MySqlParameter("@p_IsForComment", commentReplyParameter.IsForComment),
                        new MySqlParameter("@p_IsForReply", commentReplyParameter.IsForReply),
                        new MySqlParameter("@p_IsForCildReply", commentReplyParameter.IsForChildReply)
                    };
                    var CommentReply = await FindAll("CALL SpSelectActiveCommentReply(@p_Value,@p_AprovalStatus,@p_IsForSingleCommentreply, @p_IsForComment, @p_IsForReply,@p_IsForCildReply)", getCommentReplyParams).ToListAsync();

                    var mappedCommentReply = CommentReply.AsQueryable().ProjectTo <CommentReplyResponse>(mapper.ConfigurationProvider);
                    var sortedCommentReply = sortHelper.ApplySort(mappedCommentReply, commentReplyParameter.OrderBy);
                    var shapedCommentReply = dataShaper.ShapeData(sortedCommentReply, commentReplyParameter.Fields);
                    return(await PagedList <Entity> .ToPagedList(shapedCommentReply, commentReplyParameter.PageNumber, commentReplyParameter.PageSize));
                }
            }
        }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllCommentRepliesQuery"/> class.
 /// </summary>
 /// <param name="commentReplyParameter">The Comment Reply parameters.</param>
 public GetAllCommentRepliesQuery(CommentReplyParameter commentReplyParameter)
 {
     CommentReplyParameter = commentReplyParameter;
 }
        public async Task <IActionResult> GetCommentReplies([FromQuery] CommentReplyParameter commentReplyParameter)
        {
            var result = await reviewCommentService.GetCommentReplies(commentReplyParameter);

            return(StatusCode((int)result.Code, result.Value));
        }