示例#1
0
        public void Produto_InfraData_Adicionar_Sucesso()
        {
            Produto produto = ObjectMother.ObterProdutoValido();

            Produto produtoAdicionado = _repositorio.Adicionar(produto);

            produtoAdicionado.Id.Should().BeGreaterThan(0);
        }
示例#2
0
 public IActionResult Novo(Produto produto)
 {
     try
     {
         SetLogado();
         produto.Validate();
         if (!produto.MensagemValidacao.Any())
         {
             _produtoRepositorio.Adicionar(produto);
             _estoqueRepositorio.Adicionar(new Estoque
             {
                 Quantidade = produto.Quantidade,
                 ProdutoId  = produto.Id
             });
             return(RedirectToAction("Index"));
         }
         else
         {
             ViewBag.Errors = produto.MensagemValidacao;
             return(View());
         }
     }
     catch (Exception ex)
     {
         ViewBag.Errors = new List <string>();
         ViewBag.Errors.Add(ex.Message);
         return(View());
     }
 }
示例#3
0
        public IActionResult Post([FromBody] Produto produto)
        {
            try
            {
                produto.Validate();

                if (!produto.IsValid)
                {
                    return(BadRequest(produto.ObterMensagensValidacao()));
                }

                if (produto.Id > 0)
                {
                    _produtoRepositorio.Atualizar(produto);
                }
                else
                {
                    _produtoRepositorio.Adicionar(produto);
                }

                return(Created("api/produto", produto));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#4
0
        public IActionResult Post([FromBody] Produto obj)
        {
            try
            {
                obj.Validate();
                if (!obj.EhValido)
                {
                    return(BadRequest(obj.ObterMensagensValidação()));
                }

                if (obj.Id > 0)
                {
                    _repositorio.Atualizar(obj);
                }
                else
                {
                    _repositorio.Adicionar(obj);
                }
                return(Created("produto", obj));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#5
0
 public IActionResult Post([FromBody] Produto produto) //frombody significa q vai receber a instancia com td as propiedades preenchidas q vem por requisição
                                                       //ou seja, percorre td o corpo e na requisicao transforma essa formação q veio por json num objeto reconhecido
 {
     try
     {
         produto.Validate();
         if (!produto.EhValido)
         {
             return(BadRequest(produto.ObterMensagemValidacao()));
         }
         if (produto.Id > 0) //aqui o produto ja é cadastrado
         {
             _produtoRepositorio.Atualizar(produto);
         }
         else
         {
             _produtoRepositorio.Adicionar(produto);     //adicionando no banco de dados
         }
         return(Created("api/produto", produto));        //significa q foi adicionado sem erro e devolve um created q  devolve a api e o produto criado
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
        public IActionResult Post(ProdutoLista produto)
        {
            try
            {
                //var produtoDom = new Produto()
                //{
                //    Descricao = produto.Descricao,
                //    Id = produto.Id,
                //    Nome = produto.Nome,
                //    Preco = produto.Preco,
                //};

                var produtoMap = mapper.Map <Produto>(produto);
                produtoMap.Validate();
                if (!produtoMap.EhValido)
                {
                    return(BadRequest(produtoMap.ObterMensagensValidacao()));
                }
                produtoRepositorio.Adicionar(produtoMap);
                produto = this.mapper.Map <ProdutoLista>(produtoMap);
                return(Created("produto", produto));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
示例#7
0
        public IActionResult Post([FromBody] Produto produto)
        {
            try
            {
                produto.Validate();
                if (!produto.EhValido)
                {
                    return(BadRequest(produto.RetornarListaMensagem()));
                }

                if (produto.Id > 0)
                {
                    _produtoRepositorio.Atualizar(produto);
                }
                else
                {
                    _produtoRepositorio.Adicionar(produto);
                }

                return(Json(_produtoRepositorio.ObterTodos()));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#8
0
        /*[FromBody]-> transforma objeto JSON enviado pela requisão em um objeto produto,
         * com isso não precisa fazer o mapeamento manualmente.*/
        public IActionResult Post([FromBody] Produto produto)
        {
            try
            {
                produto.Validate();

                if (!produto.EhValidado)
                {
                    return(BadRequest(produto.obterMensagemValidacao()));
                }

                // se o produto já existir, ele vai atualizar
                if (produto.id > 0)
                {
                    _produtoRepositorio.Atualizar(produto);
                }
                else
                {
                    _produtoRepositorio.Adicionar(produto);
                }

                return(Created("api/produto", produto));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#9
0
        public IActionResult Post([FromServices] IProdutoRepositorio produtoRepositorio,
                                  [FromBody] Produto produto, [FromServices] IHttpContextAccessor httpContextAccessor, [FromHeader] string Authorization)
        {
            try
            {
                var x = httpContextAccessor.HttpContext.Request.Headers["Authorization"];
                //var formFile = httpContextAccessor.HttpContext.Request.Headers["Authorization"];
                produto.Validate();
                if (!produto.EhValido)
                {
                    return(BadRequest(produto.ObterMensagensValidacao()));
                }
                if (produto.Id > 0)
                {
                    produtoRepositorio.Atualizar(produto);
                }
                else
                {
                    produtoRepositorio.Adicionar(produto);
                }

                return(Created("api/produto", produto));
            }
            catch (Exception erro)
            {
                return(BadRequest(erro.ToString()));
            }
        }
示例#10
0
        public IActionResult Post([FromBody] Produto produto)
        {
            try
            {
                produto.Validate();
                if (!produto.EhValido)
                {
                    return(BadRequest(produto.ObterMensagensValidacao()));
                }

                if (produto.Id > 0)
                {
                    produto.ProdutoCategoria = null;
                    _produtoRepositorio.Atualizar(produto);
                }
                else
                {
                    produto.ProdAtivo    = true;
                    produto.DataCadastro = System.DateTime.Now;
                    _produtoRepositorio.Adicionar(produto);
                }

                return(Created("api/produto", produto));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
        public IActionResult Post([FromBody] Produto produto)
        {
            try
            {
                produto.Validate();
                if (!produto.EhValido)
                {
                    return(BadRequest(produto.ObterMensageValidacao()));
                }

                if (produto.Id > 0)
                {
                    _produtoRepositorio.Atualizar(produto);
                    return(Ok(produto));
                }
                else
                {
                    _produtoRepositorio.Adicionar(produto);
                    return(Created("api/produto", produto));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ObterListaErros(ex)));
            }
        }
示例#12
0
        public Produto Adicionar(Produto produto)
        {
            if (!produto.EhValido(_produtoRepositorio))
            {
                return(produto);
            }

            return(_produtoRepositorio.Adicionar(produto));
        }
示例#13
0
 // produto (instancia) vem da pagina da web atraves de JSON => [FromBody]
 public IActionResult Post([FromBody] Produto produto)
 {
     try {
         _produtoRepositorio.Adicionar(produto);
         return(Created("api/produto", produto));
     } catch (Exception ex) {
         return(BadRequest(ex.ToString()));
     }
 }
        public async Task Adicionar(Produto produto)
        {
            if (!ExecutarValidacao(new ProdutoValidacao(), produto))
            {
                return;
            }

            await _produtoRepositorio.Adicionar(produto);
        }
示例#15
0
 public IActionResult CriarProduto(Produto model)
 {
     try
     {
         _produtoRepositorio.Adicionar(model);
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
     return(Ok("Criado com sucesso"));
 }
 public IActionResult Post([FromBody] Produto produto)
 {
     try
     {
         _produtoRepositorio.Adicionar(produto);
         return(Created("api/[Controller]", produto));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#17
0
 public IActionResult Post([FromBody] Produto produto)
 {
     try
     {
         _produtoRepositorio.Adicionar(produto);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.GetBaseException().Message.ToString()));
     }
 }
示例#18
0
 public async Task <IActionResult> Post([FromBody] Produto produto)
 {
     try
     {
         _produtoRepositorio.Adicionar(produto);
         return(Ok(produto));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
示例#19
0
        public ActionResult Adicionar(Produto produto)
        {
            try
            {
                produtoRepositorio.Adicionar(produto);

                return(Created("api/produto", produto));
            }
            catch (System.Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#20
0
 public virtual void AdicionarProduto(Produto Produto)
 {
     try
     {
         Produto.inclusao = DateTime.Now;
         _ProdutoRepositorio.Adicionar(Produto);
         _ProdutoRepositorio.Commit();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#21
0
        public async Task <bool> Adicionar(Produto produto)
        {
            if (!ExecutarValidacao(new ProdutoValidacao(), produto))
            {
                return(false);
            }

            produto.DataCadastro = DateTime.Now;

            await _produtoRepositorio.Adicionar(produto);

            await Uow.Save();

            return(true);
        }
示例#22
0
 public IActionResult Post([FromBody] Produto produto)// transforma a informacao vinda de json em objeto conhecido
 {
     try
     {
         produto.Validate();
         if (!produto.Validade)
         {
             return(BadRequest(produto.ObterMensagemValidacao()));
         }
         _produtoRepositorio.Adicionar(produto);
         return(Created("api/produto", produto)); // retorna se conseguiu criar produto
     }catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#23
0
 public IActionResult Post([FromBody] Produto produto)
 {
     try
     {
         produto.Validate();
         if (!produto.EhValido)
         {
             return(BadRequest(produto.ObterMensagensValidacao()));
         }
         _produtoRepositorio.Adicionar(produto);  // envia uma lista de produto
         return(Created("api/produto", produto)); // o produto foi creato em banco sem nenhum erro
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
示例#24
0
 public IActionResult Post([FromBody] Produto produto)
 {
     try
     {
         produto.Validate();
         if (!produto.EhValido)
         {
             return(BadRequest(produto.ObterMensagemValidacao()));
         }
         _produtoRepositorio.Adicionar(produto);
         return(Created("api/produto", produto));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
示例#25
0
        public bool Adicionar(Produto model)
        {
            if (!ExecutarValidacao(new ProdutoValidation(), model))
            {
                return(false);
            }

            try
            {
                _repository.Adicionar(model);
                return(true);
            }
            catch (Exception ex)
            {
                Notificar("Não foi possível adicionar o registro. Motivo: {0}", ex.Message);
                return(false);
            }
        }
示例#26
0
        public ActionResult Post([FromBody] Produto produto)
        {
            try
            {
                var produtoInformado = _produtoRepositorio.Obter(produto.Descricao, produto.Preco);
                if (produtoInformado != null)
                {
                    return(BadRequest("Usuário já cadastrado no sistema"));
                }

                _produtoRepositorio.Adicionar(produto);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#27
0
 public bool cadastroProduto(Produto produto)
 {
     try
     {
         if (produto.Id == 0)
         {
             _produtoRepositorio.Adicionar(produto);
             return(true);
         }
         else
         {
             this.atualizarProduto(produto);
             return(true);
         }
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#28
0
        public void Handle(RegistrarProdutoComando mensagem)
        {
            var produto = Produto.FabricaProduto.NovoProdutoCompleto(mensagem.Id, mensagem.Nome, mensagem.Descricao,
                                                                     mensagem.Preco);

            if (!ProdutoValido(produto))
            {
                return;
            }

            // TODO:
            //Validações de Negocio !

            //Persistencia
            _produtoRepositorio.Adicionar(produto);

            if (Commit())
            {
                Console.WriteLine("Produto registrado com sucesso");
                _mediator.PublicarEvento(new RegistradoProdutoEvento(produto.Id, produto.Nome, produto.Preco, produto.Codigo));
            }
        }
示例#29
0
        public Produto Adicionar(Produto produto)
        {
            produto.Validar();

            return(_produtoRepositorio.Adicionar(produto));
        }
示例#30
0
 public void Adicionar(Produto produto)
 {
     _produtoRepositorio.Adicionar(produto);
 }