public void StoreIntoWarehouse(EntityData insertForm)
{
insertForm.SetCurrentTable("FormDetail");
TransactionManager transManager=new TransactionManager();
ProductEntityDAO productDAO=new ProductEntityDAO(true);
FormEntityDAO formDAO=new FormEntityDAO(true);
try
{
if(insertForm.CurrentTable.Rows.Count>0)
do
{
string productID=insertForm["ProductID"].ToString();
decimal inCount=insertForm.GetDecimal("InCount");
EntityData product=productDAO.FindByPrimaryKey(productID);
product["CurrentCount"]=product.GetDecimal("CurrentCount")+inCount;
transManager.AddMethod(
new TransactionManagedFunction(productDAO.UpdateEntity),product);
}while(insertForm.Next());
transManager.AddMethod(
new TransactionManagedFunction(formDAO.InsertEntity),insertForm);
transManager.ExecuteMethods();
}
catch(Exception ee)
{
throw ee;
}
finally
{
productDAO.Dispose();
insertForm.Dispose();
}
} |