コード例 #1
0
        public void Produtos_InfraData_Deve_Atualizar_Produto()
        {
            //Cenário
            int     idPesquisa      = 1;
            Produto produto         = _repositorio.BuscarPorId(idPesquisa);
            string  descricaoAntiga = produto.Descricao;

            produto.Descricao = "DescricaoNova";

            //Ação
            Produto resultado = _repositorio.Editar(produto);

            //Verifica
            resultado.Should().NotBeNull();
            resultado.Descricao.Should().NotBe(descricaoAntiga);
        }
コード例 #2
0
        public void Persistir(Produto produto)
        {
            this.ValidarProduto(produto);

            if (produto.Id == 0)
            {
                bool produtoJaExiste = this.BuscarProdutoPeloNome(produto.Nome) != null;
                if (produtoJaExiste)
                {
                    throw new ProdutoException($"Não é possível cadastrar produtos com nome duplicado.");
                }

                produtoRepositorio.Inserir(produto);
            }
            else
            {
                produtoRepositorio.Editar(produto);
            }
        }
        public IActionResult Atualizar([FromBody] Produto produto)
        {
            var prod = _repositorio.Obter(produto.Id);

            if (prod == null)
            {
                return(NotFound());
            }

            if (produto.Codigo == "")
            {
                return(BadRequest("Codigo do produto não informado"));
            }

            if (string.IsNullOrEmpty(produto.Descricao))
            {
                return(BadRequest("Descrição do produto não informada"));
            }

            _repositorio.Editar(produto);
            return(NoContent());
        }
コード例 #4
0
 public void Salvar(Produto produto)
 {
     if (produto.Nome.Length < 2)
     {
         throw new ProdutoInvalidoException("O nome do produto deve ter no mínimo 3 caracteres.");
     }
     if (produtoRepositorio.BuscarProdutoPorNome(produto.Nome) != null)
     {
         throw new ProdutoInvalidoException($"Um produto de nome {produto.Nome} já foi cadastrado.");
     }
     if (produto.Valor > 0)
     {
         throw new ProdutoInvalidoException("O valor do produto deve ser definido.");
     }
     if (produto.Id == 0)
     {
         produtoRepositorio.Criar(produto);
     }
     else
     {
         produtoRepositorio.Editar(produto);
     }
 }
コード例 #5
0
        public Produto Atualizar(Produto produto)
        {
            produto.Validar();

            return(_produtoRepositorio.Editar(produto));
        }
コード例 #6
0
 public void Editar(Produto produto)
 {
     produtoRepositorio.Editar(produto);
 }