public ActionResult SetCartQuantity(Cart cart) { ResultInfo resultInfo = new ResultInfo(1, "传递的参数有误"); if (ModelState.IsValid) { //User user = new User(); //user.UserId = 1; //user.GuestId = ""; cart.UserId = 1; cart.GuestId = ""; resultInfo = _cartService.SetCartQuantity(cart); } return Json(resultInfo); }
public void DeleteCart(User user, Cart cart) { _cartRepository.Delete(cart); }
/// <summary> /// 添加或修改购物车项 /// </summary> /// <param name="user"></param> /// <param name="cart"></param> /// <returns></returns> public ResultInfo SetCartQuantity(Cart cart) { //保证UserId或GuestId至少有个值 if (cart.UserId == 0 && cart.GuestId == "") { return new ResultInfo("无效用户"); } var skuQuery = from s in _skuRepository.Table where s.Attr == cart.Attr && s.ProductId == cart.ProductId select s; var sku = skuQuery.FirstOrDefault(); if (sku == null) { return new ResultInfo("该商品已下架或者库存不足"); } cart.SkuId = sku.SkuId; cart.PhotoId = sku.PhotoId; var cartQuery = from c in _cartRepository.Table where c.SkuId==cart.SkuId && c.ProductId==cart.ProductId && c.UserId==cart.UserId && c.GuestId==cart.GuestId select c; var oldCart = cartQuery.FirstOrDefault(); if (oldCart == null) { if (cart.Quantity > sku.Quantity) { cart.Quantity = sku.Quantity; } _cartRepository.Add(cart); } else { oldCart.Quantity += cart.Quantity; if (cart.Quantity > sku.Quantity) { cart.Quantity = sku.Quantity; } _cartRepository.Update(oldCart); } return new ResultInfo("添加成功"); }