Ejemplo n.º 1
0
        private IActionResult IncluirProduto(Produto produto, bool validaEstoque)
        {
            try
            {
                if (!produto.ValidaQuantidadeEstoque() && validaEstoque)
                {
                    return(BadRequest("A quantidade não pode ser negativa ou zero."));
                }

                produto.Situacao = true;
                _produtoRepositorio.Incluir(produto);

                if (produto.QuantidadeEstoque > 0)
                {
                    Estoque estoque = new Estoque()
                    {
                        Produto     = produto,
                        Data        = DateTime.Now,
                        Quantidade  = produto.QuantidadeEstoque,
                        TipoEstoque = EnumTipoEstoque.ENTRADA
                    };

                    _estoqueRepositorio.Incluir(estoque);
                }

                return(Ok("Produto incluído com sucesso."));
            }
            catch
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Ejemplo n.º 2
0
        public async Task CriarProdutoRetornoComSucesso()
        {
            // Arrange
            _produtoRepositorio.Incluir(_produto);

            // Act
            var resultado = await _produtoServico.Adicionar(_produto);

            // Assert
            Assert.False(resultado.HasErrors());
        }
Ejemplo n.º 3
0
        public async Task <Resultado> Adicionar(Produto produto)
        {
            var resultado = new Resultado();

            produto.Validar();
            if (!produto.IsValid)
            {
                AddNotifications(produto.Notifications);
            }

            if (IsValid)
            {
                _produtoRepositorio.Incluir(produto);
                await _unitOfWork.Commit();
            }
            else
            {
                resultado.AddErrors(Notifications);
            }

            return(resultado);
        }
Ejemplo n.º 4
0
 public long Incluir(IProdutoRepositorio repositorio)
 {
     return(repositorio.Incluir(this));
 }
Ejemplo n.º 5
0
 public Produto Incluir(Produto produto)
 {
     _repositorio.Incluir(produto);
     _repositorio.Commit();
     return(ObterPorId(produto.Id.ToString()));
 }