public static void SaveVirtualQty(object objReq) { iProductMasterClient productClient = new iProductMasterClient(); CustomProfile profile = CustomProfile.GetProfile(); DataTable dt = new DataTable(); decimal availbalance = 0m, virtualQty = 0m, AvailVirtyalQty = 0m; long storeID = 0; try { Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary = (Dictionary <string, object>)objReq; long Quantity = long.Parse(dictionary["quantity"].ToString()); long hdnskuid = long.Parse(dictionary["hdnskuid"].ToString()); DataSet ds = productClient.GetAvailQuantity(hdnskuid, profile.DBConnection._constr); dt = ds.Tables[0]; if (dt.Rows.Count > 0) { storeID = long.Parse(dt.Rows[0]["SiteID"].ToString()); availbalance = decimal.Parse(dt.Rows[0]["AvailableBalance"].ToString()); virtualQty = decimal.Parse(dt.Rows[0]["VirtualQty"].ToString()); AvailVirtyalQty = decimal.Parse(dt.Rows[0]["AvailVirtualQty"].ToString()); } if (virtualQty == 0) { AvailVirtyalQty = availbalance + Quantity; virtualQty = Quantity; } else { AvailVirtyalQty = availbalance + virtualQty + Quantity; virtualQty = virtualQty + Quantity; } productClient.UpdateVirtualBalance(hdnskuid, virtualQty, AvailVirtyalQty, profile.DBConnection._constr); productClient.InsertIntoInventry(hdnskuid, storeID, DateTime.Now, Quantity, profile.DBConnection._constr); } catch (System.Exception ex) { productClient.Close(); } finally { productClient.Close(); } }