/// <summary> /// 购买商品 /// </summary> /// <returns></returns> public ActionResult BuyProduct() { int pid = WebHelper.GetQueryInt("pid"); //商品id string note = WebHelper.GetQueryString("note"); //备注 int buyCount = WebHelper.GetQueryInt("buyCount"); //购买数量 //当商城不允许游客使用购物车时 if (WorkContext.ShopConfig.IsGuestSC == 0 && WorkContext.Uid < 1) { return(AjaxResult("nologin", "请先登录")); } //判断商品是否存在 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } //购买数量不能小于1 if (buyCount < 1) { return(AjaxResult("buycountmin", "请填写购买数量")); } //商品库存 int stockNumber = Products.GetProductStockNumberByPid(pid); if (stockNumber < buyCount) { return(AjaxResult("stockout", "商品库存不足")); } //购物车中已经存在的商品列表 List <OrderProductInfo> orderProductList = Carts.GetCartProductList(WorkContext.Uid, WorkContext.Sid); OrderProductInfo orderProductInfo = Carts.GetCommonOrderProductByPid(pid, orderProductList); if (orderProductInfo == null) { if ((WorkContext.Uid > 0 && orderProductList.Count >= WorkContext.ShopConfig.MemberSCCount) || (WorkContext.Uid < 1 && orderProductList.Count >= WorkContext.ShopConfig.GuestSCCount)) { return(AjaxResult("full", "购物车已满")); } } buyCount = orderProductInfo == null ? buyCount : orderProductInfo.BuyCount + buyCount; //将商品添加到购物车 Carts.AddProductToCart(ref orderProductList, buyCount, partProductInfo, WorkContext.Sid, WorkContext.Uid, DateTime.Now, WorkContext.IsMember, note); //将购物车中商品数量写入cookie Carts.SetCartProductCountCookie(Carts.SumOrderProductCount(orderProductList)); return(AjaxResult("success", Url.Action("confirmorder", "order", new RouteValueDictionary { { "selectedCartItemKeyList", "0_" + pid } }))); }
/// <summary> /// 添加商品到购物车 /// </summary> public ActionResult AddProduct() { int pid = WebHelper.GetQueryInt("pid"); //商品id int buyCount = WebHelper.GetQueryInt("buyCount"); //购买数量 int scSubmitType = WorkContext.ShopConfig.SCSubmitType; //购物车的提交方式 //当商城不允许游客使用购物车时 if (WorkContext.ShopConfig.IsGuestSC == 0 && WorkContext.Uid < 1) { return(AjaxResult("nologin", "请先登录")); } //判断商品是否存在 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } //购买数量不能小于1 if (buyCount < 1) { return(AjaxResult("buycountmin", "请填写购买数量")); } //商品库存 int stockNumber = Products.GetProductStockNumberByPid(pid); if (stockNumber < buyCount) { return(AjaxResult("stockout", "商品库存不足")); } //购物车中已经存在的商品列表 List <OrderProductInfo> orderProductList = Carts.GetCartProductList(WorkContext.Uid, WorkContext.Sid); OrderProductInfo orderProductInfo = Carts.GetCommonOrderProductByPid(pid, orderProductList); if (orderProductInfo == null) { if ((WorkContext.Uid > 0 && orderProductList.Count >= WorkContext.ShopConfig.MemberSCCount) || (WorkContext.Uid < 1 && orderProductList.Count >= WorkContext.ShopConfig.GuestSCCount)) { return(AjaxResult("full", "购物车已满")); } } buyCount = orderProductInfo == null ? buyCount : orderProductInfo.BuyCount + buyCount; //将商品添加到购物车 Carts.AddProductToCart(ref orderProductList, buyCount, partProductInfo, WorkContext.Sid, WorkContext.Uid, DateTime.Now); //将购物车中商品数量写入cookie Carts.SetCartProductCountCookie(Carts.SumOrderProductCount(orderProductList)); return(AjaxResult("success", "添加成功")); }
/// <summary> /// 添加商品到购物车 /// </summary> public ActionResult AddProduct() { int pid = WebHelper.GetQueryInt("pid"); //商品id int buyCount = WebHelper.GetQueryInt("buyCount"); //购买数量 int scSubmitType = WorkContext.ShopConfig.SCSubmitType; //购物车的提交方式 //当商城不允许游客使用购物车时 if (WorkContext.ShopConfig.IsGuestSC == 0 && WorkContext.Uid < 1) { switch (scSubmitType) { case 0: return(Redirect(Url.Action("login", "account", new RouteValueDictionary { { "returnUrl", Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }) } }))); case 1: return(Redirect(Url.Action("login", "account", new RouteValueDictionary { { "returnUrl", Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }) } }))); case 2: return(AjaxResult("nologin", "请先登录")); default: return(Redirect(Url.Action("login", "account", new RouteValueDictionary { { "returnUrl", Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }) } }))); } } //判断商品是否存在 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { switch (scSubmitType) { case 0: return(PromptView("/", "商品不存在")); case 1: return(PromptView("/", "商品不存在")); case 2: return(AjaxResult("noproduct", "请选择商品")); default: return(PromptView("/", "商品不存在")); } } //购买数量不能小于1 if (buyCount < 1) { switch (scSubmitType) { case 0: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "购买数量不能小于1")); case 1: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "购买数量不能小于1")); case 2: return(AjaxResult("buycountmin", "请填写购买数量")); default: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "购买数量不能小于1")); } } //商品库存 int stockNumber = Products.GetProductStockNumberByPid(pid); if (stockNumber < buyCount) { switch (scSubmitType) { case 0: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "商品已售空")); case 1: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "商品已售空")); case 2: return(AjaxResult("stockout", "商品库存不足")); default: return(PromptView(Url.Action("product", "catalog", new RouteValueDictionary { { "pid", pid } }), "商品已售空")); } } //购物车中已经存在的商品列表 List <OrderProductInfo> orderProductList = Carts.GetCartProductList(WorkContext.Uid, WorkContext.Sid); OrderProductInfo orderProductInfo = Carts.GetCommonOrderProductByPid(pid, orderProductList); if (orderProductInfo == null) { if ((WorkContext.Uid > 0 && orderProductList.Count >= WorkContext.ShopConfig.MemberSCCount) || (WorkContext.Uid < 1 && orderProductList.Count >= WorkContext.ShopConfig.GuestSCCount)) { switch (scSubmitType) { case 2: return(AjaxResult("full", "购物车已满")); default: return(PromptView(Url.Action("index", "cart"), "购物车已满,请先结账")); } } } buyCount = orderProductInfo == null ? buyCount : orderProductInfo.BuyCount + buyCount; //将商品添加到购物车 Carts.AddProductToCart(ref orderProductList, buyCount, partProductInfo, WorkContext.Sid, WorkContext.Uid, DateTime.Now); //将购物车中商品数量写入cookie Carts.SetCartProductCountCookie(Carts.SumOrderProductCount(orderProductList)); switch (scSubmitType) { case 0: return(RedirectToAction("addsuccess", new RouteValueDictionary { { "type", 0 }, { "id", pid } })); case 1: return(RedirectToAction("index")); case 2: return(AjaxResult("success", "添加成功")); default: return(RedirectToAction("addsuccess", new RouteValueDictionary { { "type", 0 }, { "id", pid } })); } }