コード例 #1
0
        public void Merge(AddToBasketViewModel item)
        {
            if (item.Id != Id) throw new InvalidOperationException();
            if (item.Description != Description) throw new InvalidOperationException();

            Quantity += item.Quantity;
        }
コード例 #2
0
        public void AddItem(AddToBasketViewModel item)
        {
            var existingItem = _items.SingleOrDefault(model => model.Id == item.Id);

            if (existingItem == null)
            {
                _items.Add(item);
                return;
            }

            existingItem.Merge(item);
        }
コード例 #3
0
        public void AddItem(AddToBasketViewModel item)
        {
            var existingItem = _items.SingleOrDefault(model => model.Id == item.Id);

            if (existingItem == null)
            {
                _items.Add(item);
                return;
            }

            existingItem.Merge(item);
        }
コード例 #4
0
        public void Merge(AddToBasketViewModel item)
        {
            if (item.Id != Id)
            {
                throw new InvalidOperationException();
            }
            if (item.Description != Description)
            {
                throw new InvalidOperationException();
            }

            Quantity += item.Quantity;
        }
コード例 #5
0
        public ActionResult AddToBasket(AddToBasketViewModel model)
        {
            var basket = HttpContext.Cache.Get("basket") as Basket;

            if (basket == null)
            {
                basket = new Basket();
                HttpContext.Cache.Add("basket", basket, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
            }

            basket.AddItem(model);

            return RedirectToAction("Index");
        }