public async Task <IActionResult> Reviews(ReviewPagination reviewsInfo) { var client = _clientFactory.CreateClient(); var request = new HttpRequestMessage(HttpMethod.Get, $"{MovieAPIRoot}GetReviews/"); request.Headers.Add("Accept", "application/json"); request.Headers.Add("User-Agent", "DotNetflix.Web"); var reviewInfoJson = JsonSerializer.Serialize(reviewsInfo); request.Content = new StringContent(reviewInfoJson, Encoding.UTF8, "application/json"); var response = await client.SendAsync(request); if (response.IsSuccessStatusCode) { using var responseStream = await response.Content.ReadAsStreamAsync(); var movies = await JsonSerializer.DeserializeAsync <ReviewPagination>(responseStream, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); ReviewPagination vm = new ReviewPagination(); vm = movies; return(View(new ReviewsViewModel { ReviewPagination = vm })); } return(View()); }
public ActionResult <ReviewPagination> GetReviews(ReviewPagination review) { var reviews = movieRepository.GetAllReviews(); ReviewPagination rv = new ReviewPagination() { Count = reviews.Count(), CurrentPage = review.CurrentPage, PageSize = review.PageSize }; rv.RatedMovies = reviews.Skip((review.CurrentPage - 1) * review.PageSize).Take(review.PageSize).ToList(); return(rv); }