public Balance Subtract(Amount amount) { if (amount == null || !amount.Quantity.HasValue) { throw new BalanceError(BalanceError.ErrorMessageCannotSubtractUninitializedAmountFromBalance); } if (amount.IsRealZero) { return(this); } if (Amounts.ContainsKey(amount.Commodity)) { Amount existingAmount = Amounts[amount.Commodity]; existingAmount.InPlaceSubtract(amount); if (existingAmount.IsRealZero) { Amounts.Remove(amount.Commodity); } } else { Amounts.Add(amount.Commodity, amount.Negated()); } return(this); }
public void DeleteFromCart(Food food, int amount) { Items.Remove(food); Amounts.Remove(amount); }