Exemple #1
0
        public bool Remove(T item, int quantity = 1)
        {
            if (quantity < 0)
            {
                throw new ArgumentOutOfRangeException("Quantity cannot be less than 0");
            }
            else if (quantity == 0)
            {
                return(true);
            }

            if (itemDictionary.ContainsKey(item))
            {
                QuantityItem <T> quantItem = itemDictionary[item];
                quantItem.Quantity -= quantity;
                if (quantItem.Quantity < 1)
                {
                    itemDictionary.Remove(item);
                    base.Remove(quantItem);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #2
0
 public bool RemoveAll(T item)
 {
     if (itemDictionary.ContainsKey(item))
     {
         QuantityItem <T> quantityItem = itemDictionary[item];
         itemDictionary.Remove(item);
         base.Remove(quantityItem);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #3
0
        public void Add(T item, int quantity = 1)
        {
            if (quantity < 0)
            {
                throw new ArgumentOutOfRangeException("Quantity cannot be less than 0");
            }
            else if (quantity == 0)
            {
                return;
            }

            if (itemDictionary.ContainsKey(item))
            {
                itemDictionary[item].Quantity += quantity;
            }
            else
            {
                QuantityItem <T> quantItem = new QuantityItem <T>(item, quantity);
                quantItem.QuantityChanged += quantityChanged;
                itemDictionary.Add(item, quantItem);
                base.Add(quantItem);
            }
        }