private void RaiseCardSelectorView(ICardCollectionContainer container, CardSelectorType selectorType)
        {
            IsCalculateEquityError = false;

            CardSelectorRequest.Raise(
                new CardSelectorNotification
            {
                Source               = this,
                Title                = string.Empty,
                CardsContainer       = container,
                SelectorType         = selectorType,
                UsedCards            = GetProhibitedCardsFor(container),
                BoardCards           = Board.Cards.Where(x => x.Rank != RangeCardRank.None && x.Suit != RangeCardSuit.None).ToList(),
                EquityCalculatorMode = equityCalculatorMode
            },
                returned =>
            {
                if (returned != null && returned.Confirmed)
                {
                    if (returned.ReturnType.Equals(CardSelectorReturnType.Cards))
                    {
                        container.SetCollection(returned.CardsContainer.Cards);
                    }
                    else if (returned.ReturnType.Equals(CardSelectorReturnType.Range))
                    {
                        container.SetRanges(returned.CardsContainer.Ranges);
                        (container as PlayerModel)?.CheckBluffToValueBetRatio(CountOpponents(), SelectedStreet);
                    }

                    ClearEquity();
                }
            });
        }
        private List <CardModel> GetProhibitedCardsFor(ICardCollectionContainer container)
        {
            var usedCards = new List <CardModel>();

            foreach (var player in PlayersList.Where(x => x != container))
            {
                usedCards.AddRange(player.Cards.Where(x => x.Rank != RangeCardRank.None && x.Suit != RangeCardSuit.None));
            }

            if (Board != container)
            {
                usedCards.AddRange(Board.Cards.Where(x => x.Rank != RangeCardRank.None && x.Suit != RangeCardSuit.None));
            }

            return(usedCards);
        }