private static IEnumerable <Movie> JoinImdbMoviesMapToMovies(IEnumerable <ImdbMovie> moviesWithCategory, IEnumerable <ImdbMovie> moviesWithImgUrl, IEnumerable <ImdbMovie> moviesWithYear) { var allMovies = new List <Movie>(); using (var moviesWithCategoryEnumerator = moviesWithCategory.GetEnumerator()) using (var moviesWithImgUrlEnumerator = moviesWithImgUrl.GetEnumerator()) using (var moviesWithYearEnumerator = moviesWithYear.GetEnumerator()) { while (moviesWithCategoryEnumerator.MoveNext()) { var movieWithCategory = moviesWithCategoryEnumerator.Current; moviesWithImgUrlEnumerator.MoveNext(); var movieWithImgUrl = moviesWithImgUrlEnumerator.Current; moviesWithYearEnumerator.MoveNext(); var movieWithYear = moviesWithYearEnumerator.Current; allMovies.Add(new Movie( title: movieWithCategory.Title, imageUrl: movieWithImgUrl.ImageUrl, genre: GenreParser.Parse(movieWithCategory.Category), year: movieWithYear.Year)); } } return(allMovies); }
public async Task <IEnumerable <MovieResource> > GetMoviesByGenre(string genreAsString) { var genre = GenreParser.Parse(genreAsString); var movies = await GetMoviesByGenre(genre); return(ModelToResourceMapper.MapToMovieResource(movies)); }
private static IEnumerable <Movie> MapMovieResourceToMovie(IEnumerable <MovieResource> movieResources) { foreach (var movieResource in movieResources) { yield return(new Movie(movieResource.Name, GenreParser.Parse(movieResource.Genre), movieResource.Year, movieResource.ImageUrl)); } }
public async Task <IEnumerable <MovieResource> > MoviesByGenre(string genreAsString) { var genre = GenreParser.Parse(genreAsString); var movies = await GetMoviesByGenre(genre).ConfigureAwait(false); return(MapToMovieResource(movies)); }
public IEnumerable <MovieResource> GetMoviesByGenre(string genreAsString) { var genre = GenreParser.Parse(genreAsString); var movies = _domainFacade.GetMoviesByGenre(genre); return(MapToMovieResource(movies)); }
public static Movie MapToMovie(MovieResource movieResource) { return(new Movie( title: movieResource.Title, imageUrl: movieResource.ImageUrl, genre: GenreParser.Parse(movieResource.Genre), year: movieResource.Year)); }
private static async IAsyncEnumerable <Movie> MapToMoviesStreaming(DbDataReader dbDataReader) { while (await dbDataReader.ReadAsync().ConfigureAwait(false)) { yield return(new Movie( title: (string)dbDataReader[0], genre: GenreParser.Parse((string)dbDataReader[1]), year: (int)dbDataReader[2], imageUrl: (string)dbDataReader[3])); } }
private static IEnumerable <Movie> MapMovieResourceToMovie(IEnumerable <ImdbMovieResource> moviesResource) { foreach (var movieResource in moviesResource) { yield return(new Movie( movieResource.Title, GenreParser.Parse(movieResource.Category), movieResource.Year, movieResource.ImageUrl)); } }
public static IEnumerable <ImdbMovie> ToImdbMovies(DbDataReader dbDataReader) { while (dbDataReader.Read()) { yield return(new ImdbMovie( title: (string)dbDataReader[0], genre: GenreParser.Parse((string)dbDataReader[1]), year: (int)dbDataReader[2], imageUrl: (string)dbDataReader[3] )); } }
private static async Task <Movie> MapToMovie(DbDataReader dbDataReader) { if (await dbDataReader.ReadAsync().ConfigureAwait(false)) { return(new Movie( title: (string)dbDataReader[0], genre: GenreParser.Parse((string)dbDataReader[1]), year: (int)dbDataReader[2], imageUrl: (string)dbDataReader[3])); } return(null); }
public ActionResult <IEnumerable <MovieResource> > GetMoviesByGenre(string genreAsString) { try { var genre = GenreParser.Parse(genreAsString); var movies = _domainFacade.GetMoviesByGenre(genre); return(new OkObjectResult(MapToMovieResource(movies))); } catch (Exception e) { return(new ExceptionActionResult(e)); } }
private static async Task <IEnumerable <Movie> > MapToMovies(DbDataReader dbDataReader) { var movies = new List <Movie>(); while (await dbDataReader.ReadAsync().ConfigureAwait(false)) { movies.Add(new Movie( title: (string)dbDataReader[0], genre: GenreParser.Parse((string)dbDataReader[1]), year: (int)dbDataReader[2], imageUrl: (string)dbDataReader[3])); } return(movies); }
private static IEnumerable <Movie> MapToMovies(DbDataReader dbDataReader) { var movies = new List <Movie>(); while (dbDataReader.Read()) { movies.Add(new Movie( title: (string)dbDataReader[0], genre: GenreParser.Parse((string)dbDataReader[1]), year: (int)dbDataReader[2], imageUrl: (string)dbDataReader[3])); } return(movies); }
private static IEnumerable <Movie> MapToMvoies(IEnumerable <MovieResource> movieResources) { var movies = new List <Movie>(); foreach (var movieResource in movieResources) { movies.Add( new Movie( movieResource.Title, movieResource.ImageUrl, GenreParser.Parse(movieResource.Genre), movieResource.Year) ); } return(movies); }
public static async Task <Movie> RetrieveMovie(string dbConnectionString, string title) { DbConnection dbConnection = null; DbCommand dbCommand = null; try { dbConnection = CreateDbConnection(dbConnectionString); await dbConnection.OpenAsync(); dbCommand = dbConnection.CreateCommand(); dbCommand.CommandType = CommandType.Text; dbCommand.CommandText = "SELECT Title, Genre, Year, ImageUrl FROM dbo.MovieVw WHERE Title = @Title"; AddDbParameter(dbCommand, "@Title", title, DbType.String, 50); var dbDataReader = await dbCommand.ExecuteReaderAsync(); if (dbDataReader.Read()) { const int MovieTitleIndex = 0; const int MovieGenreIndex = 1; const int MovieYearIndex = 2; const int MovieImageUrlIndex = 3; return(new Movie ( title: (string)dbDataReader[MovieTitleIndex], imageUrl: (string)dbDataReader[MovieImageUrlIndex], genre: GenreParser.Parse((string)dbDataReader[MovieGenreIndex]), year: (int)dbDataReader[MovieYearIndex] )); } return(null); } finally { dbCommand?.Dispose(); dbConnection.Dispose(); } }
public async Task OnGetAsync() { _movies = string.IsNullOrEmpty(Genre) ? await _domainFacade.GetAllMovies() : await _domainFacade.GetMoviesByGenre(GenreParser.Parse(Genre)); }
public override async Task <MovieResponse> GetMoviesByGenre(MoviesByGenreRequest request, ServerCallContext context) { var movies = await _domainFacade.GetMoviesByGenre(GenreParser.Parse(request.Genre.ToString())); return(MapToMovieResponse(movies)); }