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 }); }
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)); }