示例#1
0
        [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"));
        }