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也可以实现购物车。

你可能感兴趣的:(ping)