[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"]); }
public ActionResult RemoveCartProduct(int CartProductId) { CMember member = (CMember)Session[CMemberSession.Session_Login_User]; CCartVM currentCart = CCartVM.GetCurrentCart(member); CCartProduct CartProduct = currentCart.lscartprooduct.FirstOrDefault(p => p.fCartProductId == CartProductId); CCartProductFactory.fn購物車商品刪除(CartProduct); return(RedirectToAction("CartView")); }
public ActionResult CartClear(int CartId) { CMember member = (CMember)Session[CMemberSession.Session_Login_User]; CCartVM currentCart = CCartVM.GetCurrentCart(member); foreach (var item in currentCart.lscartprooduct.Where(p => p.fCartId == CartId)) { CCartProductFactory.fn購物車商品刪除(item); } return(RedirectToAction("CartView")); }
public ActionResult RemoveFromCart(int CartProductId) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //目前購物車Session的項目 CCartVM currentCart = CCartVM.GetCurrentCart(member); //商品資訊,給fn購物車商品刪除()使用 CCartProduct CartProduct = currentCart.lscartprooduct.FirstOrDefault(p => p.fCartProductId == CartProductId); CCartProductFactory.fn購物車商品刪除(CartProduct); return(PartialView("_CartPartial")); }
public ActionResult AddToCart(int ProductId) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //目前購物車Session的項目 CCartVM currentCart = CCartVM.GetCurrentCart(member); //商品資訊,給fn購物車商品新增()使用 CProduct product = CProductFactory.fn商品查詢().FirstOrDefault(p => p.fProductId == ProductId); //判斷商品是否已在Cart內 if (currentCart.lscartprooduct.Any(p => p.fProductId == product.fProductId)) { return(View("Index", "ShoppingHome")); } else { //不存在購物車內,則新增一筆 CCartProductFactory.fn購物車商品新增(product, currentCart.mycart); } return(PartialView("_CartPartial")); }
//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")); }
public void ToOrder(int totalprice, int remain, int cartId) { CMember member = (CMember)Session[CMemberSession.Session_Login_User];//會員 COrder o = new COrder(); o.fPurchaseDate = DateTime.UtcNow.AddHours(08); o.fTotalPrice = totalprice; o.fMemberId = member.fMemberId; COrderFactory.fn訂單新增(o); CMemberFactory.fn會員更新點數(member, remain); CNotice c = new CNotice(); c.fCategoryType = "系統"; c.fLink = "超連結"; c.fNoticeDatetime = DateTime.UtcNow.AddHours(08); c.fMemberId = member.fMemberId; c.fNoticeContent = "您的訂單已完成了"; CNoticeFactory.fn通知訂單訊息新增(c); List <CCartProduct> CP = CCartProductFactory.fn購物車商品個人查詢(cartId).ToList(); var f = CNoteFolderFactory.fn筆記資料夾查詢(member).Where(q => q.fFolderName == "未分類筆記").ToList(); int orderid = COrderFactory.fn訂單查詢(member).LastOrDefault().fOrderId; foreach (var a in CP) { CDetailOrderFactory.fn訂單明細新增(orderid, a.fProductId); CNotice c1 = new CNotice(); c1.fCategoryType = "銷售"; c1.fLink = "超連結"; c1.fNoticeDatetime = DateTime.UtcNow.AddHours(08); c1.fMemberId = a.fMemberSellerId; c1.fNoticeContent = "您的" + a.fName + "已被購買"; CNoticeFactory.fn通知訂單訊息新增(c1); CIncome i1 = new CIncome(); i1.fIncome = a.fPrice; i1.fPaymentDateTime = DateTime.UtcNow.AddHours(08); i1.fIncomeCategory = "獲利"; i1.fMemberId = a.fMemberSellerId; CIncomeFactory.fn公司獲利新增(i1); var point = CMemberFactory.fn會員查詢().Where(z => z.fMemberId == a.fMemberSellerId); int point1 = (point.Single().fMoneyPoint) + a.fPrice; CMember cm1 = new CMember(); cm1.fMemberId = point.Single().fMemberId; CMemberFactory.fn會員更新點數(cm1, point1); var t = CNoteFactory.fn私人筆記全部查詢().Where(q => q.fFolderId == f.Single().fFolderId).ToList(); int t1 = t.Count(); CNote n = new CNote(); n.fNoteListName = a.fName; n.fCreateDateTime = DateTime.UtcNow.AddHours(08); n.fEditDateTime = DateTime.UtcNow.AddHours(08); n.fNoteListLevel = t1; n.fIsMyFavourite = false; n.fIsTrash = false; n.fFolderId = f.Single().fFolderId; n.fJsonContent = a.fContent; n.fTheShareLink = null; n.fTheContactPerson = null; n.fHTMLContent = ""; CNoteFactory.fn訂單私人筆記新增(n); } CCartFactory.fn購物車個人更新(cartId); }