Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Data;
- using System.Data.SqlClient;
- public partial class Account_Cart : System.Web.UI.Page
- {
- SqlConnection con = new SqlConnection(Helper.GetCon());
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- GetCart();
- GetOrderSummary();
- }
- }
- void GetCart()
- {
- con.Open();
- SqlCommand cmd = new SqlCommand();
- cmd.Connection = con;
- cmd.CommandText = @"SELECT od.DetailID, od.OrderNo, p.ProductID, p.Name, pi.Image, p.Code,
- b.BrandName, p.UnitPrice, od.Quantity, od.Amount
- FROM OrderDetails od INNER JOIN Product p
- ON od.ProductID = p.ProductID
- INNER JOIN ProductImages pi ON p.ProductID=pi.ProductID
- INNER JOIN Brands b ON p.BrandID = b.BrandID
- WHERE od.OrderNo=@OrderNo"; //AND od.UserID=@UserID
- cmd.Parameters.AddWithValue("@OrderNo", 0);
- //cmd.Parameters.AddWithValue("@UserID", 1); //Session["userid"].ToString();
- SqlDataReader dr = cmd.ExecuteReader();
- lvCart.DataSource = dr;
- lvCart.DataBind();
- con.Close();
- }
- double GetPrice(string ProductID)
- {
- using (SqlConnection con = new SqlConnection(Helper.GetCon()))
- {
- string query = @"SELECT UnitPrice FROM Product WHERE ProductID = @ProductID";
- con.Open();
- using (SqlCommand cmd = new SqlCommand(query, con))
- {
- cmd.Parameters.AddWithValue("@ProductID", ProductID);
- return Convert.ToDouble((decimal)cmd.ExecuteScalar());
- //decimal price = (decimal)cmd.ExecuteScalar();
- //return Convert.ToDouble(price);
- }
- }
- }
- protected void lvCart_ItemCommand(object sender, ListViewCommandEventArgs e)
- {
- if (e.CommandName == "cartupdate")
- {
- Literal ltProductID = (Literal)e.Item.FindControl("ltProductID");
- TextBox txtQty = (TextBox)e.Item.FindControl("txtQty");
- int qty = int.Parse(txtQty.Text);
- double price = Helper.GetPrice(ltProductID.Text);
- double discount = Helper.GetDiscount(ltProductID.Text) / 100;
- double discountedPrice = price * (1 - discount);
- using (SqlConnection con = new SqlConnection(Helper.GetCon()))
- {
- con.Open();
- string query = @"UPDATE OrderDetails SET Price=@Price, Quantity=@Quantity,
- Amount=@Amount WHERE OrderNo=0 AND ProductID=@ProductID";
- using (SqlCommand cmd = new SqlCommand(query, con))
- {
- cmd.Parameters.AddWithValue("@ProductID", ltProductID.Text);
- cmd.Parameters.AddWithValue("@Quantity", qty);
- if (Helper.AvailableDiscount(ltProductID.Text))
- cmd.Parameters.AddWithValue("@Price", discountedPrice);
- else
- cmd.Parameters.AddWithValue("@Price", price);
- if (Helper.AvailableDiscount(ltProductID.Text))
- cmd.Parameters.AddWithValue("@Amount", discountedPrice * qty);
- else
- cmd.Parameters.AddWithValue("@Amount", price * qty);
- cmd.ExecuteNonQuery();
- }
- }
- }
- else if (e.CommandName == "itemdelete")
- {
- Literal ltDetailID = (Literal)e.Item.FindControl("ltDetailID");
- using (SqlConnection con = new SqlConnection(Helper.GetCon()))
- {
- con.Open();
- string query = "DELETE FROM OrderDetails WHERE DetailID=@DetailID";
- using (SqlCommand cmd = new SqlCommand(query, con))
- {
- cmd.Parameters.AddWithValue("@DetailID", ltDetailID.Text);
- cmd.ExecuteNonQuery();
- }
- }
- }
- GetCart();
- GetOrderSummary();
- }
- void GetOrderSummary()
- { //AND UserID=@UserID
- double total = 0;
- con.Open();
- SqlCommand cmd = new SqlCommand();
- cmd.Connection = con;
- cmd.CommandText = @"SELECT SUM(Amount) FROM OrderDetails
- WHERE OrderNo=@OrderNo
- HAVING COUNT(OrderNo) > 0";
- cmd.Parameters.AddWithValue("@OrderNo", 0);
- cmd.Parameters.AddWithValue("@UserID", 1); // Session["userid"].ToString();
- SqlDataReader dr = cmd.ExecuteReader();
- if (dr.HasRows)
- {
- while (dr.Read())
- {
- total = double.Parse(dr[0].ToString());
- }
- con.Close();
- }
- else
- {
- total = 0;
- con.Close();
- }
- ltGross.Text = (total * .88).ToString("#,##0.00");
- ltVAT.Text = (total * .12).ToString("#,##0.00");
- //ltDelivery.Text = (total * .05).ToString("#,##0.00");
- ltTotal.Text = (total * 1.00).ToString("#,##0.00");
- }
- protected void btnDelete_Click(object sender, EventArgs e)
- {
- using (SqlConnection con = new SqlConnection(Helper.GetCon()))
- {
- con.Open();
- string query = @"DELETE FROM OrderDetails WHERE OrderNo=@OrderNo AND UserID=@UserID";
- using (SqlCommand cmd = new SqlCommand(query, con))
- {
- cmd.Parameters.AddWithValue("@OrderNo", "0");
- cmd.Parameters.AddWithValue("@UserID", "1");
- cmd.ExecuteNonQuery();
- }
- GetCart();
- GetOrderSummary();
- }
- }
- protected void lvCart_ItemDataBound(object sender, ListViewItemEventArgs e)
- {
- if (e.Item.ItemType == ListViewItemType.DataItem)
- {
- Literal ltProductID = (Literal)e.Item.FindControl("ltProductID");
- Literal ltPrice = (Literal)e.Item.FindControl("ltPrice");
- Literal ltDiscount = (Literal)e.Item.FindControl("ltDiscount");
- Literal ltAmount = (Literal)e.Item.FindControl("ltAmount");
- TextBox txtQty = (TextBox)e.Item.FindControl("txtQty");
- double price = Helper.GetPrice(ltProductID.Text);
- double discount = Helper.GetDiscount(ltProductID.Text) / 100;
- double discountedPrice = price * (1 - discount);
- int quantity = int.Parse(txtQty.Text);
- ltPrice.Text = Helper.AvailableDiscount(ltProductID.Text) ?
- "<s>" + price.ToString("#,###,##0.00") + "</s>" : price.ToString("#,###,##0.00");
- ltDiscount.Text = discountedPrice.ToString("#,###,##0.00");
- ltDiscount.Visible = Helper.AvailableDiscount(ltProductID.Text);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement