示例#1
0
        /// <summary>
        /// Checks to see if the basketItem is already in the basket. If it is it will update
        /// the existing item, otherwise it will create a new item in the basket. Either way
        /// it will update the basket total.
        /// </summary>
        /// <param name="basketItem"></param>
        public void AddOrUpdateBasket(BasketItemModel basketItem)
        {
            BasketItemModel existingBasketItem;

            if (ItemAlreadyInBasket(basketItem, out existingBasketItem))
            {
                existingBasketItem.ItemQuantity++;
                Total += existingBasketItem.ItemPrice;
            }
            else
            {
                Basket.Add(basketItem);
                Total += basketItem.ItemPrice;
            }
        }
示例#2
0
 private bool ItemAlreadyInBasket(BasketItemModel basketItem, out BasketItemModel existingBasketItem)
 {
     existingBasketItem = Basket.FirstOrDefault(b => string.Equals(b.ItemName, basketItem.ItemName, StringComparison.CurrentCultureIgnoreCase));
     return(existingBasketItem != null);
 }