public async Task <LivroViewModel> Executar(Guid id, AtualizarLivroViewModel atualizarLivroViewModel) { if (id != atualizarLivroViewModel.Id) { _notificador.AdicionarErro("id", "Id informado não corresponde ao da rota"); return(null); } var editora = await _buscarEditoraUseCase.Executar(atualizarLivroViewModel.EditoraId); var autor = await _buscarAutorUseCase.Executar(atualizarLivroViewModel.AutorId); if (_notificador.ExistemErros) { return(null); } var livro = _mapper.Map <Livro>((atualizarLivroViewModel, editora, autor)); if (livro == null) { return(null); } await _livroRepository.AtualizarLivro(livro); return(_notificador.ExistemErros ? null : _mapper.Map <LivroViewModel>(livro)); }
public async Task <EditoraViewModel> Executar(Guid id, AtualizarEditoraViewModel viewModel) { if (viewModel.Id != id) { _notificador.AdicionarErro("id", "Id informado não corresponde ao da rota"); return(null); } var editora = _mapper.Map <Editora>(viewModel); await _editoraRepository.AtualizarEditora(editora); return(_notificador.ExistemErros ? null : _mapper.Map <EditoraViewModel>(editora)); }
public async Task <AutorViewModel> Executar(Guid id, AtualizarAutorViewModel autorViewModel) { if (autorViewModel.Id != id) { _notificador.AdicionarErro("id", "Id informado não corresponde ao da rota"); return(null); } var autor = _mapper.Map <Autor>(autorViewModel); autor = await _autorRepository.AtualizarAutor(autor); return(_mapper.Map <AutorViewModel>(autor)); }