Private void ShopCar (int id, string name, double price, int numble, int tag) // If tag is equal to 1, the product is added, and 0 is subtracted.
{
System. Data. DataTable dt;
If (HttpContext. Current. Session ["shop_car"] = null)
{
Dt = new DataTable ();
Dt. Columns. Add (new DataColumn ("no.", typeof (int )));
Dt. Columns. Add (new DataColumn ("Product Name", typeof (string )));
Dt. Columns. Add (new DataColumn ("price", typeof (double )));
Dt. Columns. Add (new DataColumn ("quantity", typeof (int )));
Dt. Columns. Add (new DataColumn ("Total", typeof (double )));
Session ["shop_car"] = dt; // cache data tables. Views cannot be cached.
}
Else
{
Dt = (DataTable) Session ["shop_car"];
}
DataView dv = dt. DefaultView;
Dv. Sort = "no."; // Sort
Int I = dv. Find (id); // search for the store id in the car. If no store id exists,-1 is returned.
If (I =-1) // no such store
{
If (tag = 1) // Add
{
DataRow dr = dt. NewRow ();
Dr ["no."] = id;
Dr ["commodity name"] = name;
Dr ["price"] = price;
Dr ["quantity"] = numble;
Dr ["Total"] = numble * price;
Dt. Rows. Add (dr );
}
Else // remove
{
Response. Write ("<script language = 'javascript '> alert ('this item has been cleared! '); </Script> ");
}
}
Else // This item is available
{
If (tag = 1) // Add
{
Dv [I] ["quantity"] = (int) dv [I] ["quantity"] + numble;
Dv [I] ["Total"] = (double) dv [I] ["Total"] + (double) dv [I] ["price"] * numble;
Dv. Sort = null;
}
Else // remove
{
Int j = (int) dv [I] ["quantity"]-numble;
If (j <= 0) dv. Delete (I );
Else
{
Dv [I] ["quantity"] = j;
Dv [I] ["Total"] = (double) dv [I] ["Total"]-(double) dv [I] ["price"] * numble;
}
Dv. Sort = null;
}
}
}
// Call the session bound to the DataGrid on other pages. You may need to initialize the DataTable.