public async Task <IActionResult> GetReviews([FromQuery] ReviewsParameter reviewsParameter) { var getAllReviewsQuery = new GetAllReviewsQuery(reviewsParameter); var result = await mediator.Send(getAllReviewsQuery); 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> GetReviews(ReviewsParameter reviewsParameter) { 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(reviewsParameter); 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)); } }
/// <summary> /// Gets all Reviews. /// </summary> /// <param name="BenefitsParameter">The Reviews parameters.</param> /// <returns></returns> public async Task <PagedList <Entity> > GetAllReviews(ReviewsParameter reviewsParameter) { { { var getReviewsParams = new object[] { new MySqlParameter("@p_ReviewTypeId", reviewsParameter.ReviewTypeId), new MySqlParameter("@p_ReferenceId", reviewsParameter.ReferenceId), new MySqlParameter("@p_ApprovalStatusOrId", reviewsParameter.ApprovalStatusOrId), new MySqlParameter("@p_IsForSingReview", reviewsParameter.IsForSingReview) }; var Reviews = await FindAll("CALL SpSelectActiveReview(@p_ReviewTypeId, @p_ReferenceId, @p_ApprovalStatusOrId,@p_IsForSingReview)", getReviewsParams).ToListAsync(); var mappedReviews = Reviews.AsQueryable().ProjectTo <ReviewsResponse>(mapper.ConfigurationProvider); var sortedReviews = sortHelper.ApplySort(mappedReviews, reviewsParameter.OrderBy); var shapedReviews = dataShaper.ShapeData(sortedReviews, reviewsParameter.Fields); return(await PagedList <Entity> .ToPagedList(shapedReviews, reviewsParameter.PageNumber, reviewsParameter.PageSize)); } } }
/// <summary> /// Initializes a new instance of the <see cref="GetAllOffersQuery"/> class. /// </summary> /// <param name="reviewsParameter">The Offers parameters.</param> public GetAllReviewsQuery(ReviewsParameter reviewsParameter) { ReviewsParameter = reviewsParameter; }
public async Task <IActionResult> GetReviews([FromQuery] ReviewsParameter reviewsParameter) { var result = await reviewCommentService.GetReviews(reviewsParameter); return(StatusCode((int)result.Code, result.Value)); }