void UpdatePlayerStatistics()
 {
     PlayerOverlays.ForEach(po => {
         var playerStatisticsViewModel = PokerTableStatisticsViewModel.GetPlayerStatisticsViewModelFor(po.PlayerName);
         po.UpdateStatisticsWith(playerStatisticsViewModel);
     });
 }
        void RegisterEvents()
        {
            PokerTableStatisticsViewModel.PlayersStatisticsWereUpdated += UpdatePlayerStatistics;
            PokerTableStatisticsViewModel.UserSelectedStatisticsSet    += _ => {
                ShowOverlayDetails           = true;
                DetailedStatisticsIsSelected = true;
            };

            PokerTableStatisticsViewModel.UserBrowsedAllHands += _ => {
                ShowOverlayDetails           = true;
                DetailedStatisticsIsSelected = true;
            };

            GameHistory.PopMeIn += () => {
                GameHistoryIsPoppedIn = true;
                ShowOverlayDetails    = true;
                GameHistoryIsSelected = true;

                UpdateLiveTrackerSettings();
            };

            GameHistory.PopMeOut += () => {
                ShowGameHistoryWindow();
                DetailedStatisticsIsSelected = true;
                GameHistoryIsPoppedIn        = false;

                UpdateLiveTrackerSettings();
            };

            PlayerOverlays.ForEach(po => po.FilterAdjustmentRequested +=
                                       playerStatisticsViewModel =>
                                       PokerTableStatisticsViewModel.DisplayFilterAdjustmentPopup(playerStatisticsViewModel));
        }
 void ShowBoardAndHoleCards(string board)
 {
     if (!string.IsNullOrEmpty(board) && _convertedPokerPlayers.Any(p => !string.IsNullOrEmpty(p.Holecards) && p.Name != _heroName))
     {
         Board.UpdateWith(board);
         Board.HideBoardAfter(_showHoleCardsDuration);
         PlayerOverlays.ForEach(po => {
             if (po.PlayerName != _heroName)
             {
                 po.ShowHoleCardsFor(_showHoleCardsDuration);
             }
         });
     }
 }
 public ITableOverlayViewModel HideAllPlayers()
 {
     PlayerOverlays.ForEach(po => po.UpdateStatusWith(null));
     return(this);
 }