Exemple #1
0
        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));
        }
Exemple #3
0
 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));
 }
Exemple #7
0
 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));
     }
 }
Exemple #9
0
 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]
                          ));
     }
 }
Exemple #10
0
        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);
        }
Exemple #11
0
 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));
     }
 }
Exemple #12
0
        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);
        }
Exemple #13
0
        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);
        }
Exemple #15
0
        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));
 }
Exemple #17
0
        public override async Task <MovieResponse> GetMoviesByGenre(MoviesByGenreRequest request, ServerCallContext context)
        {
            var movies = await _domainFacade.GetMoviesByGenre(GenreParser.Parse(request.Genre.ToString()));

            return(MapToMovieResponse(movies));
        }