예제 #1
0
        public AlterarLivroResponse AlterarLivro(AlterarLivroRequest request)
        {
            if (request == null)
            {
                AddNotification("AlterarLivroRequest", "AlterarLivroRequest é obrigatório.");
            }

            VerificaSeExisteLivroComMesmoTituloEdicao(request.Titulo, request.Edicao, request.Id);

            Livro livro = _repositorioLivro.ObterPorId(request.Id);

            if (livro == null)
            {
                AddNotification("Livro", "Livro não encontrado.");
                return(null);
            }

            livro.AlterarLivro(request);

            AddNotifications(livro);

            if (IsInvalid())
            {
                return(null);
            }

            _repositorioLivro.Editar(livro);

            return((AlterarLivroResponse)livro);
        }
예제 #2
0
        public AlterarLivroResponse AlterarLivro(AlterarLivroRequest request)
        {
            byte[] objBytes = Encoding.UTF8.GetBytes(request.ToString());
            var    response = JsonConvert.DeserializeObject <AlterarLivroResponse>(ServicoApiUtil.ApiResponse("api/livro/Alterar", "POST", request));

            return(new AlterarLivroResponse());
        }
예제 #3
0
        AlterarLivroResponse IServiceLivro.AlterarLivro(AlterarLivroRequest request)
        {
            if (request == null)
            {
                AddNotification("AlterarLivroRequest", Message.E_OBRIGATORIO_PREENCHIMENTO_DE_X0.ToFormat("AlterarJogadorRequest"));
            }

            Livro livro = _repositoryLivro.GetById(request.Id);

            if (livro == null)
            {
                AddNotification("Id", Message.DADOS_NAO_ENCONTRADOS);
                return(null);
            }
            if (livro.Isbn.NumeroIsbn == request.Isbn)
            {
                AddNotification("ISBN", Message.JA_EXISTE_UM_LIVRO_COM_ISBN_X0.ToFormat("ISBN", request.Isbn));
            }
            if (this.IsInvalid())
            {
                return(null);
            }

            var nomeAutor = new Nome(request.PrimeiroNomeAutor, request.SobrenomeAutor);
            var isbn      = new ISBN(request.Isbn);

            Livro novoLivro = new Livro(isbn, nomeAutor, request.NomeLivro, request.Preço, request.DataPublicacao, request.ImagemDaCapa);

            AddNotifications(nomeAutor, isbn);

            _repositoryLivro.ToEdit(novoLivro);

            return((AlterarLivroResponse)livro);
        }
예제 #4
0
 public void AlterarLivro(AlterarLivroRequest request)
 {
     Titulo   = request.Titulo;
     Preco    = request.Preco;
     Estoque  = request.Estoque;
     Edicao   = request.Edicao;
     IdAutor  = request.IdAutor;
     IdGenero = request.IdGenero;
     ValidarEntidade();
 }
예제 #5
0
        public async Task <HttpResponseMessage> Alterar(AlterarLivroRequest request)
        {
            try
            {
                var response = _servicoLivro.AlterarLivro(request);

                return(await ResponseAsync(response, _servicoLivro));
            }
            catch (Exception ex)
            {
                return(await ResponseExceptionAsync(ex));
            }
        }
예제 #6
0
        public ActionResult Edita(AlterarLivroRequest alterarLivro)
        {
            AlterarLivroResponse response = null;

            try
            {
                response = _servicoLivro.AlterarLivro(alterarLivro);

                if (response != null)
                {
                    return(RedirectToAction("Consulta"));
                }
            }
            catch (System.Exception ex)
            {
                ControllerUtil.SetarErroModelState(ex.Message, ModelState);
            }

            ObterViewBag();

            return(View(alterarLivro));
        }