protected override void AfterRemovingFromLastPile(int Lasts)
 {
     if (Piles.HasCardInColumn(Lasts) || GlobalClass.MainModel !.Heel1.IsEndOfDeck())
     {
         return;
     }
     Piles.AddCardToColumn(Lasts, GlobalClass.MainModel.Heel1.DrawCard());
 }
 public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
 {
     if (Piles.HasCardInColumn(whichOne) == false && GlobalClass.MainModel !.Heel1.IsEndOfDeck())
     {
         return(true);
     }
     return(Piles.HasCardInColumn(whichOne) == false && GlobalClass.MainModel !.Heel1 !.CardsLeft() == 1);
 }
        public override bool CanAddSingleCard(int whichOne, SolitaireCard thisCard)
        {
            if (Piles.HasCardInColumn(whichOne) == false)
            {
                if (GlobalClass.MainModel !.Heel1.IsEndOfDeck() == false)
                {
                    throw new BasicBlankException("If its not at the end of the deck; a card needs to be placed");
                }
                return(true);
            }
            var prevCard = Piles.GetLastCard(whichOne);

            return(prevCard.Value - 1 == thisCard.Value && prevCard.Suit != thisCard.Suit);
        }