public int AddCoin(Guid id)
        {
            CoinEntity         coinEntity   = _coinRepository.Get(id);
            CurrentStateEntity currentState = _stateRepository.GetFirst();

            _logger.Info(" before add coin");
            _printer.CoinAndStateInfo(coinEntity, currentState);

            _vengineMachine.AddCoin(coinEntity, currentState);

            _logger.Info(" after add coin");
            _printer.CoinAndStateInfo(coinEntity, currentState);

            _logger.Info(" before _db.SaveChanges()...");
            _coinRepository.SaveChanges();

            return(currentState.Deposit);
        }