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 <LivroDTO> AtualizarLivro(LivroDTO livro) { try { var input = await Task.Run(() => _repository.ObterLivro(livro.Id)); if (input == null) { return(null); } input.DataAtualizacao = DateTime.Now; input.UsuarioAtualizacao = 1; var result = _repository.AtualizarLivro(input); if (result == null) { return(null); } return(_mapper.mapper.Map <LivroDTO>(result)); } catch (Exception ex) { throw ex; } }
public ActionResult EditarLivro([Bind(Include = "Livro.Id")] Livro model) { if (ModelState.IsValid) { var livro = _livroRepository.GetLivroPorId(model.LivroId); if (livro == null) { return(HttpNotFound()); } _livroRepository.AtualizarLivro(livro); _livroRepository.Salvar(); TempData["editar"] = "Livro Editado com Sucesso"; return(RedirectToAction("ListarLivros")); } return(RedirectToAction("EditarLivro")); }