Tuesday, April 26, 2011

Add To Cart funtionality

private void GetCartData()
{

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ProductId", typeof(int)));
dt.Columns.Add(new DataColumn("ProductName", typeof(string)));
dt.Columns.Add(new DataColumn("ProductOption3Value", typeof(string)));
dt.Columns.Add(new DataColumn("ProductOption2Value", typeof(string)));
dt.Columns.Add(new DataColumn("ProductOption1Value", typeof(string)));
dt.Columns.Add(new DataColumn("SalePrice", typeof(int)));
dt.Columns.Add(new DataColumn("TotalPrice", typeof(int)));
dt.Columns.Add(new DataColumn("Quantity", typeof(int)));
dt.Columns.Add(new DataColumn("Thumbnail", typeof(string)));

DataRow dr;
if (ViewState["ProductId"] != null)
productid = Convert.ToInt32(ViewState["ProductId"]);

if (Session["CartData"] == null)
{
dr = dt.NewRow();
//add the row to DataTable
var Pl = mse.ProductDesc.Where(c => c.ProductId == productid).FirstOrDefault();
if (Pl != null)
{
//add values to each rows
dr["Productid"] = Pl.ProductId;
dr["ProductName"] = Pl.ProductName;
dr["SalePrice"] = Pl.Saleprice;
dr["TotalPrice"] = Pl.Saleprice * 1; //Convert.ToInt32(ddlqty.SelectedItem.Value);
dr["Quantity"] = 1;// ddlqty.SelectedItem.Value;
dr["Thumbnail"] = Pl.Thumbnail;
dt.Rows.Add(dr);
}
}
else
{
var Pl = mse.ProductDesc.Where(c => c.ProductId == productid).FirstOrDefault();
if (Pl != null)
{
dt = (DataTable)Session["CartData"];

dr = dt.NewRow();
dr["Productid"] = Pl.ProductId;
dr["ProductName"] = Pl.ProductName;
//dr["ProductOption3Value"] = ddlsize.SelectedItem.Text;
//dr["ProductOption2Value"] = Pl.ProductOption2Value;
//dr["ProductOption1Value"] = Pl.ProductOption1Value;
dr["SalePrice"] = Pl.Saleprice;
dr["TotalPrice"] = Pl.Saleprice * 1;// Convert.ToInt32(ddlqty.SelectedItem.Value);
dr["Quantity"] = 1;// ddlqty.SelectedItem.Value;
dr["Thumbnail"] = Pl.Thumbnail;
dt.Rows.Add(dr);
}
}
Session["CartData"] = dt;
Response.Redirect("~/viewcart.aspx");

}


//second page
protected DataTable GetCartData()
{
DataTable dt;
dt = (DataTable)Session["CartData"];
for (int intC = 0; intC < dt.Rows.Count; intC++)
{
if (mgvBasket.Rows[intC].RowType == DataControlRowType.DataRow)
{
if (((CheckBox)mgvBasket.Rows[intC].FindControl("mchkRemove")).Checked)
{
dt.Rows[intC].Delete();

}
else if (((CheckBox)mgvBasket.Rows[intC].FindControl("mchkRemove")).Checked || ((TextBox)mgvBasket.Rows[intC].FindControl("mtxtQty")).Text != "")
{
string strqty = ((TextBox)mgvBasket.Rows[intC].FindControl("mtxtQty")).Text;
if (!string.IsNullOrEmpty(strqty))
{
int qty = Convert.ToInt32(strqty);
int saleprice = Convert.ToInt32(dt.Rows[intC]["SalePrice"]);
dt.Rows[intC]["Quantity"] = qty;
dt.Rows[intC]["TotalPrice"] = qty * saleprice;
}
}
else { }

}
else { }
}
dt.AcceptChanges();
GetTotal();
Session["CartData"] = dt;
return dt;
}
public void GetTotal()
{

double Rate = 0;
if (Session["ship"] != null)
{
ShippingInfo ship = (ShippingInfo)Session["Ship"];
// Rate = RateServices.GetRate(ship, 15);
}
DataTable dt = new DataTable();
if (Session["CartData"] != null)
{
dt = (DataTable)Session["CartData"];
int count = 0;

if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
count += Convert.ToInt32(dt.Rows[i]["Quantity"]);

TotalAmt = TotalAmt + Convert.ToInt32(dt.Rows[i]["Quantity"]) * Convert.ToInt32(dt.Rows[i]["SalePrice"]);


}
Session["Items"] = count;
subtotal = TotalAmt;
lblsubtotal.Text = subtotal.ToString("c");
Session["SubTotal"] = subtotal;
Rate = 0;
Session["Rate"] = Rate;
lblshiprate.Text = Rate.ToString("c");
TotalAmt = TotalAmt + Rate;
Session["Total"] = TotalAmt;
//lblrate.Text = Rate.ToString("c");
lblTotal.Text = Convert.ToDouble(TotalAmt).ToString("c");
Session["Total"] =TotalAmt;
}
else
{
Session["CartData"] = null;
Session.Clear();
Response.Redirect("~/index.aspx");
}
}
}

No comments:

Post a Comment