public Coinbox() { CoinsInBox = new HandfulOfCoins(0, 0, 0, 0); }
public void Remove(HandfulOfCoins handfulOfCoins) { CoinsOne.Remove(handfulOfCoins.CoinsOne.Amount); CoinsTwo.Remove(handfulOfCoins.CoinsTwo.Amount); CoinsFive.Remove(handfulOfCoins.CoinsFive.Amount); CoinsTen.Remove(handfulOfCoins.CoinsTen.Amount); }
public void Add(HandfulOfCoins handfulOfCoins) { CoinsOne.Add(handfulOfCoins.CoinsOne.Amount); CoinsTwo.Add(handfulOfCoins.CoinsTwo.Amount); CoinsFive.Add(handfulOfCoins.CoinsFive.Amount); CoinsTen.Add(handfulOfCoins.CoinsTen.Amount); }
/// <summary> /// Расчет сдачи /// </summary> /// <param name="summToBack"></param> /// <returns></returns> public HandfulOfCoins GetChange(ref int summToBack) { //var summToBackDynamic = summToBack; var change = new HandfulOfCoins ( coinsTen: GetChangeForCoins(ref summToBack, _machineCoins.CoinsTen), coinsFive: GetChangeForCoins(ref summToBack, _machineCoins.CoinsFive), coinsTwo: GetChangeForCoins(ref summToBack, _machineCoins.CoinsTwo), coinsOne: GetChangeForCoins(ref summToBack, _machineCoins.CoinsOne) ); // возможен вариант когда в аппарате закончаться деньги для сдачи, но мы хотим зарабатывать, поэтому дадим что набрали //if (summToBack != 0) //{ // throw new MachineException("В автомате недостаточно монет для сдачи"); //} return change; }
/// <summary> /// /// </summary> /// <param name="coinBox"></param> public void AddCoinsToMachine(HandfulOfCoins coinBox) { _machineCoins.Add(coinBox); }
public MachineCash(HandfulOfCoins coins) { _machineCoins = coins; }