/// <summary> /// 添加商品到购物车 /// </summary> protected void AddToCart() { int productId = RequestHelper.GetQueryString <int>("ProductId"); string productName = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("ProductName")); var cart = CartBLL.Read(productId, productName, base.UserId); if (cart.Id < 1) { int buyCount = RequestHelper.GetQueryString <int>("BuyCount"); string standardValueList = RequestHelper.GetQueryString <string>("StandardValueList"); var product = ProductBLL.Read(productId); cart.ProductId = productId; cart.ProductName = productName; cart.StandardValueList = standardValueList; cart.BuyCount = buyCount; cart.RandNumber = string.Empty; cart.UserId = base.UserId; cart.UserName = base.UserName; CartBLL.Add(cart, base.UserId); Sessions.ProductBuyCount += buyCount; } else { CartBLL.Update(new int[] { cart.Id }, ++cart.BuyCount, base.UserId); } ResponseHelper.Write("ok"); ResponseHelper.End(); }
/// <summary> /// 登陆情况下的购物车 /// </summary> private void OnlineCart() { int productId; if (Int32.TryParse(Request["item"], out productId)) { Books b = bookbll.QuerySingle(productId); if (b != null) { // db 判断购物车中是否已存在该商品 Cart exist = cartbll.QuerySingle(new { BookId = productId, __o = "and", UserId = CurrentUser.Id }); if (exist != null) { // 如果已经存在 exist.Count += 1; cartbll.Update(exist); } else { // 创建一个购物车对象加入到购物车表中 exist = new Cart(); exist.BookId = b.Id; // cart是否可能已经存在 exist.UserId = CurrentUser.Id; exist.Count = 1; cartbll.Insert(exist); } } } CartList = cartbll.GetCartInfos(CurrentUser.Id); }
/// <summary> /// 改变购买数量 /// </summary> private void ChangeBuyCount() { string strCartId = StringHelper.SearchSafe(RequestHelper.GetQueryString <string>("StrCartId")); int buyCount = RequestHelper.GetQueryString <int>("BuyCount"); int oldCount = RequestHelper.GetQueryString <int>("OldCount"); decimal price = RequestHelper.GetQueryString <decimal>("Price"); int[] ids = Array.ConvertAll <string, int>(strCartId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), k => Convert.ToInt32(k)); CartBLL.Update(ids, buyCount, base.UserId); var totalCount = CartBLL.ReadList(base.UserId).Where(k => k.Id.ToString() == strCartId).Sum(k => k.BuyCount); var totalPrice = totalCount * price; ResponseHelper.Write(strCartId + "|" + totalCount + "|" + totalPrice); ResponseHelper.End(); }