private void AcceptCard(CardTransferRequestEventArgs request)
        {
            var foundation = Foundations[request.Card.Suit];
            var accepted   = foundation.AddCard(request.Card);

            //lets us transffer cards
            var result = new CardTransferResponseEventArgs
            {
                Card     = request.Card,
                Accepted = accepted
            };

            _eventAggregator.GetEvent <CardTransferResponseEvent>().Publish(result);
        }
        private void SendCardToFoundation()
        {
            if (DealtCards.Count < 0)
            {
                return;
            }
            var card = DealtCards[DealtCards.Count - 1];

            // Transfer?
            var request = new CardTransferRequestEventArgs
            {
                Card = card
            };


            _eventAggregator.GetEvent <CardTransferResponseEvent>().Subscribe(
                SendCardToFoundationResult);

            //actual transfer  request
            _eventAggregator.GetEvent <CardTransferRequestEvent>().Publish(request);
        }