public MoviePoco Map(MovieTmdb movieTmdb, MovieOmdb movieOmdb) { var movieGenres = new List <MovieGenre>(); foreach (var genre in movieTmdb.Genres) { var movieGenre = new MovieGenre { Title = movieOmdb.Title, Released = movieOmdb.Released, GenreId = genre.Id }; movieGenres.Add(movieGenre); } var movie = new MoviePoco { Title = movieOmdb.Title, Released = movieOmdb.Released, ImdbRating = movieOmdb.ImdbRating, Metascore = movieOmdb.Metascore, TomatoMeter = movieOmdb.TomatoMeter, ImdbVotes = movieOmdb.ImdbVotes, Runtime = movieOmdb.Runtime, Plot = movieOmdb.Plot, Director = movieOmdb.Director, Awards = movieOmdb.Awards, MovieGenres = movieGenres }; return(movie); }
public async Task <MovieOmdb> GetMovieByImdbId(string id) { var path = FormatPath(OmdbClientHelper.ImdbIdFlag, id); MovieOmdb movie = null; while (movie == null) { var response = await _client.GetAsync(path); if (response.IsSuccessStatusCode && response.Content != null) { var requestContent = await response.Content.ReadAsStringAsync(); movie = JsonConvert.DeserializeObject <MovieOmdb>(requestContent); } if (response.StatusCode == (HttpStatusCode)429) { await Task.Delay(3000); } } return(movie); }
public void ItReturns_CorrectPoco_FromTmdbOmdbDtos(MovieOmdb omdb, MovieTmdb tmdb) { var moviesMapper = new MoviesMapper(); var moviesPoco = moviesMapper.Map(tmdb, omdb); bool movieGenresMappedCorrectly = true; for (var i = 0; i < tmdb.Genres.Length; i++) { var movieGenre = moviesPoco.MovieGenres.ElementAt(i); if (movieGenre.GenreId != tmdb.Genres[i].Id || movieGenre.Title != omdb.Title || movieGenre.Released != omdb.Released) { movieGenresMappedCorrectly = false; } } Assert.True(movieGenresMappedCorrectly); Assert.Equal(omdb.ImdbVotes, moviesPoco.ImdbVotes); Assert.Equal(omdb.Awards, moviesPoco.Awards); Assert.Equal(omdb.Director, moviesPoco.Director); Assert.Equal(omdb.ImdbRating, moviesPoco.ImdbRating); Assert.Equal(omdb.Metascore, moviesPoco.Metascore); Assert.Equal(omdb.Plot, moviesPoco.Plot); Assert.Equal(omdb.Released, moviesPoco.Released); Assert.Equal(omdb.Runtime, moviesPoco.Runtime); Assert.Equal(omdb.Title, moviesPoco.Title); Assert.Equal(omdb.TomatoMeter, moviesPoco.TomatoMeter); }
public async Task <MovieOmdb> GetMovieByTitle(string title) { var path = FormatPath(OmdbClientHelper.TitleFlag, title); var response = await _client.GetAsync(path); MovieOmdb movie = null; if (response.IsSuccessStatusCode && response.Content != null) { var requestContent = await response.Content.ReadAsStringAsync(); movie = JsonConvert.DeserializeObject <MovieOmdb>(requestContent); } return(movie); }