//載入購物車 public ActionResult LoadCart() { //會員 if (Session["IsLogin"] != null || Request.Cookies["IsLogin"] != null) { List <CartItem> cart; int uid = int.Parse(Request.Cookies["upid"].Value); var usercart = db.Carts.Where(c => c.UserID == uid); if (usercart.Count() > 0) { //把db.cart內容回傳cart> cart = ProductMethod.Cart(uid).ToList(); return(Json(cart, JsonRequestBehavior.AllowGet)); } else { return(Json(0, JsonRequestBehavior.AllowGet)); } } //非會員 else { if (Session["cart"] != null) { return(Json((List <CartItem>)Session["cart"], JsonRequestBehavior.AllowGet)); } else { List <CartItem> empty = new List <CartItem>(); return(Json(empty, JsonRequestBehavior.AllowGet)); } } }
public ActionResult Detail() { if (Session["recent"] != null) { List <int> recent = (List <int>)Session["recent"]; List <CartItem> citems = new List <CartItem>(); CartItem citem; foreach (var pd in recent) { decimal sprice; string activityname; if (db.ActivityProducts.Where(a => a.ProductID == pd).Count() > 0) { sprice = db.ActivityProducts.Where(a => a.ProductID == pd && a.Activity.EndDate >= DateTime.Now).FirstOrDefault().Activity.DiscountMethod.Discount; activityname = db.ActivityProducts.Where(a => a.ProductID == pd && a.Activity.EndDate >= DateTime.Now).FirstOrDefault().Activity.ActivityName; } else { sprice = 0; activityname = null; } citem = new CartItem() { ProductID = pd, ProductName = db.Products.Find(pd).ProductName, UnitPrice = db.Products.Find(pd).UnitPrice, SUnitPrice = Convert.ToInt32(Math.Floor(sprice * db.Products.Find(pd).UnitPrice)), ActivityName = activityname }; citems.Add(citem); } ViewBag.recent = citems.ToList(); } ViewBag.paymethod = db.PayMethods.ToList(); if (Session["IsLogin"] != null || Request.Cookies["IsLogin"] != null) { List <CartItem> cart; int uid = int.Parse(Request.Cookies["upid"].Value); var usercart = db.Carts.Where(c => c.UserID == uid).ToList(); if (usercart.Count() > 0) { cart = ProductMethod.Cart(uid); Session.Add("check", cart); return(View(cart)); } else { cart = new List <CartItem>(); return(View(cart)); } } else { return(RedirectToAction("Index", "Login", new { area = "Members" })); } }
public ActionResult ChangeQty(int id, int cid, int sid, int qty) { List <CartItem> cart; int uid = int.Parse(Request.Cookies["upid"].Value); var sameitem = db.Carts.Where(c => c.UserID == uid && c.ProductID == id && c.ProductColorID == cid && c.ProductSizeID == sid).First(); sameitem.Quantity = qty; db.Entry(sameitem).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); cart = ProductMethod.Cart(uid); return(Json(cart, JsonRequestBehavior.AllowGet)); }
public ActionResult RemoveCart(int id, int cid, int sid) { List <CartItem> cart; int uid = int.Parse(Request.Cookies["upid"].Value); var cartitem = db.Carts.Where(c => c.UserID == uid && c.ProductID == id && c.ProductColorID == cid && c.ProductSizeID == sid).First(); db.Carts.Remove(cartitem); db.SaveChanges(); var usercart = db.Carts.Where(c => c.UserID == uid).ToList(); if (usercart.Count() > 0) { //把db.cart內容回傳cart> cart = ProductMethod.Cart(uid); return(Json(cart, JsonRequestBehavior.AllowGet)); } else { return(Json(0, JsonRequestBehavior.AllowGet)); } }
//加入購物車 public ActionResult AddCart(CartItem item) { List <CartItem> cart; item.ProductName = db.Products.Find(item.ProductID).ProductName; item.ColorName = db.Colors.Find(item.ColorID).ColorName; item.SizeName = db.Sizes.Find(item.SizeID).SizeName; //會員 if (Session["IsLogin"] != null || Request.Cookies["IsLogin"] != null) { int uid = int.Parse(Request.Cookies["upid"].Value); int pcid = db.ProductColors.Where(c => c.ProductID == item.ProductID && c.ColorID == item.ColorID).First().ProductColorID; int psid = db.ProductSizes.Where(c => c.ProductID == item.ProductID && c.SizeID == item.SizeID).First().ProductSizeID; var sameitem = db.Carts.Where(c => c.UserID == uid && c.ProductID == item.ProductID && c.ProductColorID == pcid && c.ProductSizeID == psid).ToList(); //購物車內已有相同款式商品 if (sameitem.Count() > 0) { sameitem.First().Quantity += item.OrderQTY; db.Entry(sameitem.First()).State = System.Data.Entity.EntityState.Modified; } //購物車內無相同款式 else { Cart cartitem = new Cart() { UserID = uid, ProductID = item.ProductID, ProductColorID = pcid, ProductSizeID = psid, Quantity = item.OrderQTY, UnitPrice = item.UnitPrice }; db.Carts.Add(cartitem); } db.SaveChanges(); //把db.cart內容回傳cart> cart = ProductMethod.Cart(uid); return(Json(cart, JsonRequestBehavior.AllowGet)); } //非會員 else { ////已有購物車(非購買第一件商品) //if (Session["cart"] != null) //{ // cart = (List<CartItem>)Session["cart"]; // var incart = cart.Where(c => c.ProductID == item.ProductID && c.ColorID == item.ColorID && c.SizeID == item.SizeID).ToList(); // //購物車內已有相同款式商品 // if (incart.Count() > 0) // { // incart.First().OrderQTY += item.OrderQTY; // } // //購物車內無相同款式 // else // { // cart.Add(item); // } // Session.Add("cart", cart); //} ////尚未產生購物車(購買第一項商品) //else //{ // //建立購物車 // cart = new List<CartItem>(); // //加入商品 // cart.Add(item); // Session.Add("cart", cart); //} return(Json("notmember", JsonRequestBehavior.AllowGet)); } }