public virtual void InsertCoin(Coin coin) { if (!coin.IsAccepted) { ReturnedCoins.Add(coin); } else { InsertedCoins.Add(coin); } }
public override void InsertCoins(IEnumerable <Coin> coins) { InsertedCoins.AddRange(coins); var productCost = PricesProvider.GetPrice(SelectedProduct); var diff = productCost - InsertedCoins.Sum(x => (int)x); if (diff > 0) { throw new NotSufficientAmountException("Insufficient amount!", string.Format("{0:N2} Euro", (decimal)diff / 100)); } VendingMachine.State = new ReadyToProcessOrder(this); }
public int GetCurrentBalance() { return(InsertedCoins.Select(x => x.Value).Sum()); }
public void InsertCoin(Coin coin) { InsertedCoins.Add(coin); TotalValue += coin.Value; Display = $"${TotalValue.ToString("0.00")}"; }