Example #1
0
        public IHttpActionResult Salvar(Produto produto)
        {
            EstoqueService estoqueService = new EstoqueService();

            estoqueService.SalvarProduto(produto);

            return(Ok(produto));
        }
        public void Checkout(Carrinho carrinho, DetalhePagamento detalhePagamento)
        {
            EstoqueService estoqueService = new EstoqueService();

            if (estoqueService.Verifica(carrinho))
            {
                CartaoService cartaoService = new CartaoService();
                cartaoService.Pagar(carrinho, detalhePagamento);

                NotificacaoService notificaoService = new NotificacaoService();
                notificaoService.EnviaEmail(carrinho);
            }
        }
        public void TestaCalculaImpostoProdutosCarrinho()
        {
            decimal valorTotalImposto    = 40M;
            decimal valorTotalImpostoAux = 0M;

            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            List <Produto> listaProdutos = carrinhoService.CalculaImpostoProdutosCarrinho(carrinho.Produtos);

            foreach (Produto produto in listaProdutos)
            {
                valorTotalImpostoAux += produto.ValorImposto;
            }

            Assert.AreEqual(valorTotalImposto, valorTotalImpostoAux);
        }
Example #4
0
        public IHttpActionResult ListarTipos()
        {
            List <ProdutoTipo> listaTipos = new List <ProdutoTipo>();

            EstoqueService estoqueService = new EstoqueService();

            listaTipos = estoqueService.ListarTiposDeProdutos();

            if (listaTipos == null)
            {
                return(NotFound());
            }
            return(Ok(listaTipos));
        }
        public void TestaCalculaValorTotalCarrinho()
        {
            decimal valorTotalPedidoEsperado = 1020.00M;

            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            carrinho.Produtos = carrinhoService.CalculaImpostoProdutosCarrinho(carrinho.Produtos);

            carrinho.ValorTotalPedido = carrinhoService.CalculaValorTotalCarrinho(carrinho.Produtos);

            Assert.AreEqual(valorTotalPedidoEsperado, carrinho.ValorTotalPedido);
        }
        public void TestaChamadaBaixarEstoqueCarrinho()
        {
            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            carrinhoService.BaixarEstoqueCarrinho(carrinho);
        }
        public bool VerificaEstoque(Carrinho carrinho)
        {
            foreach (var produto in carrinho.Produtos)
            {
                try
                {
                    //Violação do Dependency Inversion Principle
                    var estoqueService = new EstoqueService();

                    if (!estoqueService.Verifica(produto.Nome, produto.Quantidade))
                    {
                        return(false);
                    }
                    ;
                }
                catch (EstoqueService.InsufficientInventoryException ex)
                {
                    throw new OrderException("Produto Insuficiente " + produto.Nome, ex);
                }
            }
            return(true);
        }
Example #8
0
 public EstoquesController(EstoqueService context)
 {
     _estoqueService = context;
 }
Example #9
0
 public EstoqueControllerBase(EstoqueService service, EstoqueRepository rep, ILoggerFactory logger)
 {
     this._service = service;
     this._rep     = rep;
     this._logger  = logger.CreateLogger <EstoqueController>();
 }
 public VendasController()
 {
     estoqueService = new EstoqueService(db);
 }
Example #11
0
        public void TestaEfetuarPedido()
        {
            try
            {
                bool notificarClienteEmail = false;
                bool notificarClienteSms   = true;

                IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
                IEstoque        estoqueService        = new EstoqueService();

                ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

                IGatewayPagamento gatewayPagamentoService = new GatewayPagamentoService();

                IPagamento pagamentoService = new PagamentoService(gatewayPagamentoService);

                IMail mailService = new MailService();

                ISms smsService = new SmsService();

                IPedido pedidoService = new PedidoService(carrinhoService, pagamentoService, estoqueService,
                                                          mailService, smsService);

                Cliente cliente = new Cliente
                {
                    Cpf     = "443",
                    Nome    = "ADRIAN",
                    Email   = "*****@*****.**",
                    Celular = "900000000"
                };

                Carrinho carrinho = new Carrinho
                {
                    Produtos         = new List <Produto>(),
                    Cliente          = cliente,
                    FoiEntregue      = false,
                    FoiPago          = false,
                    ValorTotalPedido = 0M
                };

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Alimentos
                });

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Eletronico
                });

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Superfulos
                });

                DetalhePagamento detalhePagamento = new DetalhePagamento
                {
                    FormaPagamento     = FormaPagamento.CartaoDebito,
                    NumeroCartao       = "12453",
                    MesExpiracao       = 4,
                    AnoExpiracao       = 2022,
                    NomeImpressoCartao = "ADRIAN"
                };

                pedidoService.EfetuarPedido(carrinho, detalhePagamento, notificarClienteEmail, notificarClienteSms);
            }
            catch (Exception ex)
            {
                Assert.Fail("Exceção não esperada: " + ex.Message);
            }
        }
Example #12
0
 public EstoqueController(EstoqueService service, EstoqueRepository rep, ILoggerFactory logger)
     : base(service, rep, logger)
 {
 }
Example #13
0
 public MovimentosEstoqueController(CantinaContext context)
 {
     db      = context;
     service = new EstoqueService(db);
 }
Example #14
0
 public MovimentosEstoqueController()
 {
     db      = new CantinaContext();
     service = new EstoqueService(db);
 }
 public EstoquesController(EstoqueService estoqueService, SetorService setorService)
 {
     _estoqueService = estoqueService;
     _setorService   = setorService;
 }
Example #16
0
 //teste
 public LivrosController(LivroService livro_services, EstoqueService estoque_services, ClienteService cliente_service)
 {
     _livroService   = livro_services;
     _estoqueService = estoque_services;
     _clienteService = cliente_service;
 }