ShoppingCart
1:Cookie
using System;
using System.Web;

namespace Gtide.ShoppingMall.Common
{
/**/
/// <summary>
/// Cookie 的摘要说明
/// </summary>
public class Cookie
{
/**/
/// <summary>
/// 创建Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <param name="strValue">Cookie 键值</param>
/// <param name="strDay">Cookie 天数</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.setCookie("主键","键值","天数");</code>
public bool setCookie(string strName, string strValue, int strDay)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
Cookie.Expires = DateTime.Now.AddDays(strDay);
Cookie.Value = strValue;
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}

/**/
/// <summary>
/// 读取Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.getCookie("主键");</code>
public string getCookie(string strName)
{
HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
if (Cookie != null)
{
return Cookie.Value.ToString();
}
else
{
return null;
}
}

/**/
/// <summary>
/// 删除Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.delCookie("主键");</code>
public bool delCookie(string strName)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
Cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
}
}



2:HashTable
using System;
using System.Collections;

[Serializable]
public class ShoppingCart
{
public Hashtable _CartItems = new Hashtable();
// 创建属性CartItems,用于获取购物车中所有商品
public ICollection CartItems
{
get { return _CartItems.Values; }
}

// 创建属性Total,用于获取购物车中商品总价
public decimal Total
{
get
{
decimal sum = 0;
foreach (CartItem item in _CartItems.Values)
{
sum += item.Price * item.Quantity;
}
return sum;
}
}
// 实现将商品添加到购物车中
public void AddItem(int ID, string Name, decimal Price)
{
CartItem item = (CartItem)_CartItems[ID];
if (item == null)
{
_CartItems.Add(ID, new CartItem(ID, Name, Price));
}
else
{
item.Quantity++;
_CartItems[ID] = item;
}
}
// 从购物车中删除商品
public void RemoveItem(int ID)
{
CartItem item = (CartItem)_CartItems[ID];
if (item == null)
{
return;
}
item.Quantity--;
if (item.Quantity == 0)
{
_CartItems.Remove(ID);
}
else
{
_CartItems[ID] = item;
}
}
}

//实现表示商品的业务实体类
[Serializable]
public class CartItem
{
private int _ID;
private string _Name;
private decimal _Price;
private int _Quantity = 1;
// 创建属性ID
public int ID
{
get { return _ID; }
}
// 创建属性Name
public string Name
{
get { return _Name; }
}
// 创建属性Price
public decimal Price
{
get { return _Price; }
}
// 创建属性Quantity
public int Quantity
{
get { return _Quantity; }
set { _Quantity = value; }
}
// 创建类构造函数
public CartItem(int ID, string Name, decimal Price)
{
_ID = ID;
_Name = Name;
_Price = Price;
}
}
Session结合Hashtable也可以实现购物车。
using System;
using System.Web;
namespace Gtide.ShoppingMall.Common
{
/**/
/// <summary>
/// Cookie 的摘要说明
/// </summary>
public class Cookie
{
/**/
/// <summary>
/// 创建Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <param name="strValue">Cookie 键值</param>
/// <param name="strDay">Cookie 天数</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.setCookie("主键","键值","天数");</code>
public bool setCookie(string strName, string strValue, int strDay)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
Cookie.Expires = DateTime.Now.AddDays(strDay);
Cookie.Value = strValue;
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
/**/
/// <summary>
/// 读取Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.getCookie("主键");</code>
public string getCookie(string strName)
{
HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
if (Cookie != null)
{
return Cookie.Value.ToString();
}
else
{
return null;
}
}
/**/
/// <summary>
/// 删除Cookies
/// </summary>
/// <param name="strName">Cookie 主键</param>
/// <code>Cookie ck = new Cookie();</code>
/// <code>ck.delCookie("主键");</code>
public bool delCookie(string strName)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
Cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
}
}



2:HashTable
using System;
using System.Collections;
[Serializable]
public class ShoppingCart
{
public Hashtable _CartItems = new Hashtable();
// 创建属性CartItems,用于获取购物车中所有商品
public ICollection CartItems
{
get { return _CartItems.Values; }
}
// 创建属性Total,用于获取购物车中商品总价
public decimal Total
{
get
{
decimal sum = 0;
foreach (CartItem item in _CartItems.Values)
{
sum += item.Price * item.Quantity;
}
return sum;
}
}
// 实现将商品添加到购物车中
public void AddItem(int ID, string Name, decimal Price)
{
CartItem item = (CartItem)_CartItems[ID];
if (item == null)
{
_CartItems.Add(ID, new CartItem(ID, Name, Price));
}
else
{
item.Quantity++;
_CartItems[ID] = item;
}
}
// 从购物车中删除商品
public void RemoveItem(int ID)
{
CartItem item = (CartItem)_CartItems[ID];
if (item == null)
{
return;
}
item.Quantity--;
if (item.Quantity == 0)
{
_CartItems.Remove(ID);
}
else
{
_CartItems[ID] = item;
}
}
}
//实现表示商品的业务实体类
[Serializable]
public class CartItem
{
private int _ID;
private string _Name;
private decimal _Price;
private int _Quantity = 1;
// 创建属性ID
public int ID
{
get { return _ID; }
}
// 创建属性Name
public string Name
{
get { return _Name; }
}
// 创建属性Price
public decimal Price
{
get { return _Price; }
}
// 创建属性Quantity
public int Quantity
{
get { return _Quantity; }
set { _Quantity = value; }
}
// 创建类构造函数
public CartItem(int ID, string Name, decimal Price)
{
_ID = ID;
_Name = Name;
_Price = Price;
}
}



浙公网安备 33010602011771号