/// <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; } }
private bool ItemAlreadyInBasket(BasketItemModel basketItem, out BasketItemModel existingBasketItem) { existingBasketItem = Basket.FirstOrDefault(b => string.Equals(b.ItemName, basketItem.ItemName, StringComparison.CurrentCultureIgnoreCase)); return(existingBasketItem != null); }