public async Task <IEnumerable <MovieDto> > Handle(GetMoviesForDirectorQuery request, CancellationToken cancellationToken) { if (!_movieDatabaseRepository.DirectorExists(request.DirectorId)) { return(null); } var moviesFromRepo = await _movieDatabaseRepository.GetMovies(request.DirectorId); return(_mapper.Map <IEnumerable <MovieDto> >(moviesFromRepo)); }
public async Task <MovieDto> Handle(GetMovieForDirectorQuery request, CancellationToken cancellationToken) { if (!_movieDatabaseRepository.DirectorExists(request.DirectorId)) { return(null); } var movieForDirectorFromRepo = await _movieDatabaseRepository.GetMovie(request.DirectorId, request.MovieId); if (movieForDirectorFromRepo == null) { return(null); } return(_mapper.Map <MovieDto>(movieForDirectorFromRepo)); }
public async Task <MovieDto> Handle(CreateMovieForDirectorCommand request, CancellationToken cancellationToken) { if (!_movieDatabaseRepository.DirectorExists(request.DirectorId)) { return(null); } var movieEntity = _mapper.Map <Movie>(request.Movie); await _movieDatabaseRepository.AddMovie(request.DirectorId, movieEntity); _movieDatabaseRepository.Save(); var movieToReturn = _mapper.Map <MovieDto>(movieEntity); return(movieToReturn); }
public async Task <bool> Handle(UpdateMovieForDirectorCommand request, CancellationToken cancellationToken) { if (!_movieDatabaseRepository.DirectorExists(request.DirectorId)) { return(false); } var movieForDirectorFromRepo = await _movieDatabaseRepository.GetMovie(request.DirectorId, request.MovieId); if (movieForDirectorFromRepo == null) { return(false); } _mapper.Map(request.Movie, movieForDirectorFromRepo); _movieDatabaseRepository.UpdateMovie(movieForDirectorFromRepo); _movieDatabaseRepository.Save(); return(true); }