[firebase-br] Problema para controlar saldo de produtos

Marcelo Siqueira marcelo em bredas.com.br
Sex Dez 3 17:38:11 -03 2004


Boa tarde,

Preciso controlar o saldo de produtos durante uma operação de venda e 
estou em duvida sobre qual a melhor maneira de fazer isso.

Meu plano é fazer uma tela de vendas onde pego todas as informações do 
usuário e gravo tudo em estruturas de memória, para só no final abrir 
uma transação e gravar o pedido efetivamente no banco.

Porém existe uma exceção nessa idéia de gravar toda venda em memória: o 
saldo do produto. Assim que o usuário escolhe um produto eu decremento o 
seu saldo da tabela para evitar que outro usuário faça um pedido do 
mesmo produto caso este tenha saldo zero.

Por fim, se o usuário confirmar a venda, o saldo do estoque já vai estar 
certo, caso ele cancele o pedido eu incremento os saldos dos produtos 
para que eles fiquem com o valor original. Mas ai existe um problema. Se 
a maquina cliente travar antes do cliente confirmar ou cancelar o pedido 
eu perco os meus dados que estavam em memória e o banco vai ficar com 
informações inconsistentes.

Enfim, gostaria de saber sobre a experiência de outros programadores no 
modo como controlam o saldo de produtos durante telas de venda. Alguém 
poderia me dar algumas dicas sobre como é maneira correta de se fazer 
isso dentro de um ambiente cliente/servidor?

Marcelo





Mais detalhes sobre a lista de discussão lista