public void StoreIntoWarehouse(Form insertForm)
{
FormDetail detail=insertForm.FormDetail;
detail.First();
PersistenceManager pm = PersistenceManagerFactory.Instance().CreatePersistenceManager();
Transaction tm=pm.CurrentTransaction;
tm.Begin();
try
{
if(detail.ObjectCount>0)
{
do
{
Product product=(Product)pm.FindObjectByPrimaryKey
(detail.ProductID,Type.GetType
("LogisticsDemo.EntityDefinitions.Product"));
product.CurrentCount+=detail.InCount;
pm.UpdateObject(product);
}while(detail.Next());
}
pm.PersistNewObject(insertForm);
tm.Commit();
}
catch(Exception e)
{
tm.Rollback();
throw e;
}
finally
{
pm.Close();
}
} |