예제 #1
0
        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));
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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"));
        }