private void ResolveCheckBoxes(object checkBoxNumber)
        {
            NumberOfPlayersEnum  myEnum   = (NumberOfPlayersEnum)checkBoxNumber;
            NumberOfPlayersClass theClass = NumberOfPlayersCollection.First <NumberOfPlayersClass>(t => t.Player == myEnum);

            // ok, they want to check this one, let them and uncheck all else
            foreach (NumberOfPlayersClass iter in NumberOfPlayersCollection)
            {
                iter.IsChecked = false;
            }
            theClass.IsChecked = true;
        }
        public CardGameViewModel()
        {
            //NumberOfPlayers = NumberOfPlayersEnum.Three;

            NumberOfPlayersCollection = new ObservableCollection <NumberOfPlayersClass>();
            foreach (NumberOfPlayersEnum value in Enum.GetValues(typeof(NumberOfPlayersEnum)))
            {
                NumberOfPlayersClass myClass = new NumberOfPlayersClass();
                myClass.Player    = value;
                myClass.IsChecked = value == NumberOfPlayersEnum.Two ? true : false; // default to using 2 players
                myClass.Title     = Enum.GetName(typeof(NumberOfPlayersEnum), value);
                NumberOfPlayersCollection.Add(myClass);
            }
        }
        private void StartGame()
        {
            NumberOfPlayersClass arg = NumberOfPlayersCollection.First <NumberOfPlayersClass>(t => t.IsChecked == true);

            if (arg == null)
            {
                // BIG problem.  Log and find out why
                throw new Exception("Could not resolve number of players in StartGame");
            }
            _game = new BlackJackGameModel(Convert.ToUInt16(arg.Player));
            _game.StartGame();
            OnPropertyChanged("DealerInfo");
            OnPropertyChanged("PlayersInfo");
            OnPropertyChanged("CanShowDealerScore");
        }