public void Deal() { Bindings.HasWinner = false; Blackjack.PlayerHands.ForEach(hand => Blackjack.RemovePlayerHand(hand)); Blackjack.Players.ForEach(player => Blackjack.AddPlayerHand(player)); Blackjack.Shuffle(); DealerHand = Blackjack.PlayerHands.FirstOrDefault(hand => hand.Player == Dealer); Bindings.DealerHand = DealerHand; Bindings.PlayerHands = Blackjack.PlayerHands.Where(hand => hand != DealerHand).ToList(); Blackjack.PlayerHands.ForEach(hand => Blackjack.DealToPlayer(2, hand)); CheckForWinner(); if (!Bindings.HasWinner) { DealerHand.Cards.Last().IsVisible = false; } //hide the dealers 2nd card(in a real implementation this wouldn't go to the client) }