public void CarroDeComprasNaoPodeSerFinalizadoSeTodosOsItensDoPedidosNaoExistemNoEstoque()
        {
            var produto = new Produto() { QuantidadeEmEstoque = 0 };
            var quantidade = produto.QuantidadeEmEstoque + 1;

            var carroDeCompras = new CarroDeCompras();
            carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade });

            var result = carroDeCompras.CompraPodeSerFinalizada();

            result.Should().BeFalse();
        }
        public ActionResult FinalizarCompra(CarroDeCompras carroDeCompras, string idFormaPagamento)
        {
            if (carroDeCompras.CompraPodeSerFinalizada())
            {
                var pedido = carroDeCompras.FinalizarCompra(FormaPagamento.ObterPorId(idFormaPagamento));
                _pedidoService.IncluirPedido(pedido);
                TempData["Mensagem"] = "Pedido realizado com sucesso.";
            } else
            {
                TempData["Mensagem"] = "Estoque insuficiente para sua compra.";
            }

            return RedirectToAction("Index");
        }