private Pedido ProcessarPedido(List <ProdutoItem> produtos, Transaction transaction)
        {
            TransacaoPagarMe transacaoPagarMe;
            Pedido           pedido;

            SalvarPedido(produtos, transaction, out transacaoPagarMe, out pedido);

            SalvarPedidoSituacao(produtos, transacaoPagarMe, pedido);

            DarBaixaNoEstoque(produtos);

            _cookieCarrinhoCompra.RemoverTodos();

            _gerenciarEmail.EnviarDadosDoPedido(_loginCliente.GetCliente(), pedido);

            return(pedido);
        }