/// <summary> /// 保存购物车数据 /// </summary> /// <param name="entity">购物车数据</param> public static void SaveShoppingCart(ShoppingCartPersistent shoppingCart) { DataCommand cmd = DataCommandManager.GetDataCommand("ShoppingPersistent_SaveShoppingCart"); cmd.SetParameterValue("@Key", ""); cmd.SetParameterValue("@KeyAscii", 0); cmd.SetParameterValue("@CustomerSysNo", shoppingCart.CustomerSysNo); cmd.SetParameterValue("@ShoppingCart", shoppingCart.ShoppingCart); cmd.SetParameterValue("@ShoppingCartMini", shoppingCart.ShoppingCartMini); cmd.ExecuteNonQuery(); }
public static ShoppingCart GetShoppingCartByCustomer(int userSysNo) { ShoppingCart shoppingCart = GetShoppingCartFromCookieOrCreateNew(); if (shoppingCart == null) { shoppingCart = new ShoppingCart(); } string key = CookieHelper.GetCookie <string>(MY_SHOPPINGCART_SIGN_KEY); if (String.IsNullOrEmpty(key)) { key = Guid.NewGuid().ToString("N"); CookieHelper.SaveCookie <string>(MY_SHOPPINGCART_SIGN_KEY, key); } shoppingCart.ShoppingCartID = key; if (userSysNo > 0) { //获取数据库最新数据购物车 ShoppingCartPersistent shoppingCartPersistent = ShoppingPersistentDA.GetShoppingCartByCustomer(userSysNo); ShoppingCart newShoppingCart = new ShoppingCart(); if (shoppingCartPersistent != null && !string.IsNullOrEmpty(shoppingCartPersistent.ShoppingCart)) { newShoppingCart = SerializationUtility.JsonDeserialize2 <ShoppingCart>(shoppingCartPersistent.ShoppingCart); } //判断购物车是否发生变化 if (newShoppingCart.ShoppingCartID != shoppingCart.ShoppingCartID) { newShoppingCart.ShoppingCartID = shoppingCart.ShoppingCartID; //合并购物车 MergeShoppingCart(shoppingCart, newShoppingCart); } //写入DB ShoppingPersistentDA.SaveShoppingCart(new ShoppingCartPersistent() { CustomerSysNo = userSysNo, ShoppingCart = SerializationUtility.JsonSerialize2(shoppingCart), ShoppingCartMini = "" }); } else { shoppingCart = GetShoppingCartFromCookie(); } //写入Cookie CookieHelper.SaveCookie <ShoppingCart>(MY_SHOPPINGCART_COOKIE_NAME, shoppingCart); return(shoppingCart); }