標籤:http os io 資料 for art ar 時間
#region 添加購物車
public void GetShoppingCart(int skuId, int quanlity)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];//擷取cookie
var reg = Session["userInfo"] as Registration; 使用者登入狀態
#region 未登入狀態時
if(reg == null)
{
if(cookie == null) //cookie為null時
{
cookie = new HttpCookie("myCart");//建立cookie
cookie.Values.Add(skuId.ToString(), quanlity.ToString());//添加Cookie
cookie.Expires = DateTime.Today.AddDays(30);//設定Cookie的到期日期或時間
Response.Cookies.Add(cookie);//將指定的cookie添加到此Cookie集合中
}
else if(cookie != null)
{
if(cookie.Values.AllKeys.Contains(skuId.ToString()))//判斷cookie中是否存在此鍵
{
cookie.Values.Add(skuId.ToString(), quanlity.ToString());
cookie.Expires = DateTime.Today.AddDays(30);
Response.Cookies.Add(cookie);
}
else
{
cookie.Values[skuId.ToString()] = (Int32.Parse(cookie.Values[skuId.ToString()]) + quanlity).ToString();
cookie.Expires = DateTime.Today.AddDays(30);
Response.Cookies.Add(cookie);
}
}
}
#endregion
}
#endregion
#region 更新購物車
public void UpdateShoppingCart(int skuId, int quanlity)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];
Sku skuOne = CommodityInfoManager.GetSkuOneBySkuId(skuId.ToString());
var reg = Session["userInfo"] as Registration;
if(reg != null)//登入使用者帳號時,直接修改資料庫中的購物車的數量
{
ShoppingCarInfoManager.UpdateShoppingCartBySkuIdAndRegisterId(skuId, reg.RegisterId, quanlity);
}
else
{
cookie.Values[skuId.ToString()] = quanlity.ToString();//更新cookie中某一項的對應的cookie的值
cookie.Expires = DateTime.Today.AddDays(30);
Response.Cookies.Add(cookie);
}
}
#endregion
#region 刪除購物車某一個商品
public void DeleteSkuId(int skuId, out int cookiState)
{
cookiState = 1;
HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];
var reg = Session["userInfo"] as Registration;
#region 登入帳號
if (reg != null)
{
ShoppingCart shoppingCart = ShoppingCarInfoManager.GetShoppingCartById(skuId, reg.RegisterId);
if (shoppingCart != null)
{
ShoppingCarInfoManager.DeletedShoppingCartBySkuIdAndRegisertId(skuId, reg.RegisterId);
}
}
#endregion
#region 未登入帳號
else
{
if(cookie != null)
{
if(cookie.Values.AllKeys.Length != 1)//判斷cookie裡有很多的索引值對
{
if(cookie.Values.AllKeys.Contains(skuId.ToString()))
{
cookie.Values.Remove(skuId.ToString());//移除cookie中指定的某一項
cookie.Expires = DateTime.Today.AddDays(30);
Response.Cookies.Add(cookie);
}
}
else
{
cookie.Expires = DateTime.Now.AddDays(-1);//清除cookie
cookiState = 0;
Response.Cookies.Add(cookie);
}
}
}
#endregion
}
#endregion
#region 清空購物車
public void DeletedShoppingCart(out int cookiState)
{
cookiState = 1;
HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];
var reg = Session["userInfo"] as Registration;
if (reg != null)//清除購物車
{
List<ShoppingCart> shoppingCarts = ShoppingCarInfoManager.GetShoppingCartsByRegisterId(reg.RegisterId);
foreach (var r in shoppingCarts)
{
ShoppingCarInfoManager.DeletedShoppingCartBySkuIdAndRegisertId(r.SkuId, reg.RegisterId);
}
}
else //清除cookie
{
if (cookie != null)
{
cookie.Expires = DateTime.Now.AddDays(-1);
cookiState = 0;
Response.Cookies.Add(cookie);
}
}
}
#endregion