public void addStoreItemOffer(String itemName, int itemsInOffer, int vaitemsPaidForlue) { if (!storeOffers.ContainsKey(itemName)) { StoreOffer storeOffer = StoreOffer.create(itemsInOffer, vaitemsPaidForlue); storeOffers.Add(itemName, storeOffer); } else { throw new Exception("Offer already added for this item"); } }
public decimal checkout() { if (_items.Count <= 0) { throw new Exception("No item in shopping cart"); } decimal totalPrice = 0; //Updated checkout functions accordingly Dictionary <string, StoreOffer> itemOffers = _store.GetStoreOffers(); foreach (StockItem item in _items) { StoreOffer offer = itemOffers.FirstOrDefault(t => t.Key == item.getItemName()).Value; if ((offer == null) || (!offer.isItemFree())) { totalPrice += item.getPrice(); } } return(totalPrice); }