The application were building has the following use-case:
1) Look up all active invoices for a customer, if an active invoice does not exist create one.
2) Add a line item to the active invoice (either found or newly created)
This functionality, is used to make a monthly invoices for the customers. Problem being that if no active invoices exist, and I go ahead an create a new one, by the time I'm done creating the new invoice another request may have already created one and committed a different one, resulting in two active invoices.
The only way I figure I can do this is by obtaining a table lock, or obtain a lock on the customer... are those my only two options?
_________________ David Launen
|