Пример #1
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }