public void Checkout(Carrinho carrinho) { if (_estoqueService.Verifica(carrinho)) { _cartaoService.Pagar(carrinho); _notificaoService.EnviaEmail(carrinho); } }
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 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); }