private MoviesByGenreRequest MapToMoviesByGenreRequest(Genre genre)
        {
            GrpcGenre grpcGenre;

            switch (genre)
            {
            case Genre.Action:
                grpcGenre = GrpcGenre.Action;
                break;

            case Genre.Comedy:
                grpcGenre = GrpcGenre.Comedy;
                break;

            case Genre.Drama:
                grpcGenre = GrpcGenre.Drama;
                break;

            case Genre.SciFi:
                grpcGenre = GrpcGenre.Scifi;
                break;

            case Genre.Thriller:
                grpcGenre = GrpcGenre.Thriller;
                break;

            default:
                throw new InvalidGenreException($"The Genre: {genre}, can not be mapped to a GrpcGenre");
            }

            return(new MoviesByGenreRequest {
                Genre = grpcGenre
            });
        }
Пример #2
0
        private static GrpcGenre MapToGrpcGenre(Genre genre)
        {
            switch (genre)
            {
            case Genre.Action:
                return(GrpcGenre.Action);

            case Genre.Comedy:
                return(GrpcGenre.Comedy);

            case Genre.Drama:
                return(GrpcGenre.Drama);

            case Genre.SciFi:
                return(GrpcGenre.Scifi);

            case Genre.Thriller:
                return(GrpcGenre.Thriller);

            default:
                throw new RpcException(new Status(StatusCode.InvalidArgument, $"Unable to map DomainLayer.Managers.Enums.Genre: {genre}, to Grpc.Enums.Genre"));
            }
        }
        public async Task <IEnumerable <Movie> > GetMoviesByGenre(Genre genre)
        {
            var movieResponse = await _movieServiceClient.GetMoviesByGenreAsync(MapToMoviesByGenreRequest(genre));

            return(MapToMovies(movieResponse.Movies));
        }