Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }