public void addItemToCart(int Id, ItemOrderEntity model) { ViewBag.CustomerDetail = objSession.GetSessionCustomer(this); ITEMDETAILS = _DataFactory.GetItemDetail().Where(t => t.ID == Id).FirstOrDefault(); model.ItemId = Id; model.NAME_EN = ITEMDETAILS.NAME_EN; model.NAME_TH = ITEMDETAILS.NAME_TH; model.PRICE = ITEMDETAILS.PRICE; model.SHORT_DESCR_EN = ITEMDETAILS.SHORT_DESCR_EN; model.SHORT_DESCR_TH = ITEMDETAILS.SHORT_DESCR_TH; model.IMAGES = ITEMDETAILS.IMAGES; List<ItemOrderEntity> objOrderDetail = new List<ItemOrderEntity>(); if (Session["Orders"] == null) { objOrderDetail.Add(model); Session["Orders"] = objOrderDetail; var json = JsonConvert.SerializeObject(objOrderDetail); var orderCookie = new HttpCookie("OrdersCookie", json); orderCookie.Expires.AddDays(365); this.ControllerContext.HttpContext.Response.SetCookie(orderCookie); } else { objOrderDetail = (List<ItemOrderEntity>)Session["Orders"]; //Check items var currentItem = objOrderDetail.Where(p => p.ItemId == Id && p.Color == model.Color && p.Size == model.Size).FirstOrDefault(); if (currentItem != null) { // currentItem.ForEach(p => p.Amount += model.Amount); objOrderDetail.Where(p => p.ItemId == Id && p.Color == model.Color && p.Size == model.Size).ToList().ForEach(p => p.Amount += model.Amount); } else { objOrderDetail.Add(model); } Session["Orders"] = objOrderDetail; var json = JsonConvert.SerializeObject(objOrderDetail); var orderCookie = new HttpCookie("OrdersCookie", json); orderCookie.Expires.AddDays(365); this.ControllerContext.HttpContext.Response.SetCookie(orderCookie); } }
public ActionResult Detail(int Id, ItemDetailEntity Model) { ViewBag.CustomerDetail = objSession.GetSessionCustomer(this); ViewBag.OrderDetail = objSession.GetSessionOrder(this); ViewBag.IsAddwishList = Session["IsAddWishlist"]; Session["IsAddWishlist"] = null; ITEMDETAILS = _DataFactory.GetItemDetail().Where(t => t.ID == Id).FirstOrDefault(); ITEMRELATES = _DataFactory.GetProductRelate().Where(t => t.ID == Id).Take(3).ToList(); ITEMPROPERTY = _DataFactory.GetItemProperty(Id); ViewBag.ITEMRECENTVIEW = Session["RecentView"]; ViewBag.ITEMDETAILS = ITEMDETAILS; ViewBag.ITEMRELATES = ITEMRELATES; ViewBag.ITEMPROPERTY = ITEMPROPERTY; ViewBag.ITEMIMGS = _DataFactory.GetItemImgs(ITEMDETAILS.ID); ViewBag.CATEGORY = _DataFactory.GetCategories().Where(p => p.ID == ITEMDETAILS.CATEGORIES_ID).FirstOrDefault(); ViewBag.CurentPage = "Cart"; ViewBag.Id = Id; ViewBag.Title = "SHOP A HORIC By Jiffy | Item | " + ITEMDETAILS.NAME_EN; if (Session["RecentView"] == null) { Queue<ItemDetailEntity> RecentViewList = new Queue<ItemDetailEntity>(); RecentViewList.Enqueue(ITEMDETAILS); Session["RecentView"] = RecentViewList; } else { Queue<ItemDetailEntity> RecentViewList = (Queue<ItemDetailEntity>)Session["RecentView"]; if (RecentViewList.Count(p => p.ID == Id) == 0) { if (RecentViewList.Count < 3) { RecentViewList.Enqueue(ITEMDETAILS); } else { RecentViewList.Dequeue(); RecentViewList.Enqueue(ITEMDETAILS); Session["RecentView"] = RecentViewList; } } } return View(); }