public async Task GetAllUpcomingMovies() { HttpClient client = new HttpClient(); var additionalPath = "movie/upcoming"; AllUpcomingMoviesDownloaded = new ObservableCollection <MovieViewModel>(); for (int countPage = 1, totalPages = 1; countPage <= totalPages; countPage++) { var response = await client.GetAsync($"{ROOT_PATH}{additionalPath}?api_key={API_KEY}&language={Language}&page={countPage}"); if (response.StatusCode.Equals(System.Net.HttpStatusCode.OK)) { string jsonString = await response.Content.ReadAsStringAsync(); TMDbDTO objTMDbDTO = Newtonsoft.Json.JsonConvert.DeserializeObject <TMDbDTO>(jsonString); for (int i = 0; i < objTMDbDTO.results.Count(); i++) { DateTime.TryParse(objTMDbDTO.results[i].release_date, out DateTime date); TimeSpan difference = date - DateTime.Now; int daysLeft = Convert.ToInt32(Math.Ceiling(difference.TotalDays)); daysLeft = (daysLeft < 0) ? 0 : daysLeft; MovieViewModel includMovie = new MovieViewModel(_navigationService) { Id = objTMDbDTO.results[i].id, Name = objTMDbDTO.results[i].title, PosterImage = ROOT_IMAGE_PATH + objTMDbDTO.results[i].poster_path, ReleaseDate = date.ToShortDateString(), Overview = objTMDbDTO.results[i].overview == "" ? AppResources.Not_registered : objTMDbDTO.results[i].overview, BackdropImage = ROOT_IMAGE_PATH + objTMDbDTO.results[i].backdrop_path, DaysLeft = daysLeft.ToString() + " day(s) left." }; includMovie.Genres = includMovie.GetGenresByIds(objTMDbDTO.results[i].genre_ids); AllUpcomingMoviesDownloaded.Add(includMovie); } if (countPage == 1) { totalPages = objTMDbDTO.total_pages; } } } }