public async Task <bool> ConfirmaCompraCarrinhoUsuario(string userId)
        {
            try
            {
                using (var banco = new BaseContexto(_OptionsBuilder))
                {
                    var compraUsuario = new CompraUsuario();
                    compraUsuario.ListaProdutos = new List <Produto>();

                    var produtoCarrinho = await(from p in banco.Produto
                                                join c in banco.CompraUsuario on p.Id equals c.ProdutoId
                                                where c.UserId.Equals(userId) && c.Estado == EstadoCompra.Produto_Carrinho
                                                select c).AsNoTracking().ToListAsync();

                    produtoCarrinho.ForEach(p =>
                    {
                        compraUsuario.CompraId = p.CompraId;
                        p.Estado = EstadoCompra.Produto_Comprado;
                    });

                    var compra = await banco.Compra.AsNoTracking().FirstOrDefaultAsync(c => c.Id == compraUsuario.CompraId);

                    if (compra != null)
                    {
                        compra.Estado = EstadoCompra.Produto_Comprado;
                    }

                    banco.Update(compra);
                    banco.UpdateRange(produtoCarrinho);
                    await banco.SaveChangesAsync();

                    return(true);
                }
            }
            catch (Exception erro)
            {
                return(false);
            }
        }