[WebMethod(EnableSession = true)] //啟用Session public static CCartVM GetCurrentCart(CMember member) //取得目前Session中的Cart物件 { //尚未送出的購物車 var mycart = CCartFactory.fn購物車查詢(member).Where(c => c.fSubmitTime == null).FirstOrDefault(); //如果為空,新增一個Cart物件 if (mycart == null) { CCart cart = new CCart() { fMemberId = member.fMemberId, fSubmitTime = null }; mycart = CCartFactory.fn購物車新增(member, cart); } ; //購物車內的商品(by cartid) var cartitem = CCartProductFactory.fn購物車商品查詢().Where(c => c.fCartId == mycart.fCartId).ToList(); //所有商品封面 var lsproduct = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null).DistinctBy(p => p.fProductId).ToList(); //CCartVM內的變數給值 CCartVM Cart = new CCartVM() { mycart = mycart, lscartprooduct = cartitem, productpic = lsproduct }; HttpContext.Current.Session["Cart"] = Cart; //回傳Session["Cart"] return((CCartVM)HttpContext.Current.Session["Cart"]); }
//GET:下次再買 public ActionResult PurchaseNextTime(int CartProductId) { CMember member = (CMember)Session[CMemberSession.Session_Login_User]; CCartVM currentCart = CCartVM.GetCurrentCart(member); CCartProduct CartProduct = currentCart.lscartprooduct.FirstOrDefault(p => p.fCartProductId == CartProductId); //新增購物車 CCart cart = new CCart() { fMemberId = member.fMemberId, fSubmitTime = null }; CCart mycart = CCartFactory.fn購物車新增(member, cart); //新增下次再買的商品到新的購物車 CProduct product = CProductFactory.fn商品查詢().FirstOrDefault(p => p.fProductId == CartProduct.fProductId); CCartProductFactory.fn購物車商品新增(product, mycart); //刪除現在購物車裡的商品 CCartProductFactory.fn購物車商品刪除(CartProduct); return(RedirectToAction("CartView")); }