public HttpResponseMessage BuyDrink(WendingDrinks drink)
 {
     return Invoke(() => {
         var change = WendingMachine.Instance.BuyDrink(drink);
         return change.ToArray();
     });
 }
        /// <summary>
        /// Купить напиток
        /// </summary>      
        public Wallet BuyDrink(WendingDrinks drinkType)
        {
            if (Store[drinkType] < 1) throw new Exception("К сожалению данный напиток закончился. Приносим извинения!");

            var price = (int)drinkType;
            if (_EscrowSum < price)
                throw new Exception("Недостаточно средств");

            var allCoins = new Wallet();
            allCoins.Flush(Wallet, false);
            allCoins.Flush(Escrow, false);

            var change = CountChange(allCoins, price);

            Store[drinkType] -= 1;

            // Обнуляем кошелек
            Escrow.Flush(Wallet);
            //Высыпаем в кошелек все оставшиеся после сдачи монеты 
            Wallet.Flush(allCoins);
            //Обнуляем escrow с помощью временного allCoins кошелька
            allCoins.Flush(Escrow);
            _EscrowSum = 0;

            //Возвращаем сдачу
            return change;
        }