private string CalculateStrongestOpponent(HandHistories.Objects.Hand.HandHistory CurrentGame, Street CurrentStreet) { try { IEnumerable <EquityRangeSelectorItemViewModel> oponnentHands = new List <EquityRangeSelectorItemViewModel>(); var opponentName = string.Empty; MainAnalyzer.GetStrongestOpponent(CurrentGame, CurrentStreet, out opponentName, out oponnentHands); if (AutoGenerateHandRanges) { if (!string.IsNullOrEmpty(opponentName) && oponnentHands.Any() && PlayersList.Any(x => x.PlayerName == opponentName && x.Cards.All(c => !c.Validate()))) { oponnentHands.ForEach(r => r.UsedCards = _board.Cards); var player = PlayersList.FirstOrDefault(x => x.PlayerName == opponentName); player?.SetRanges(oponnentHands); } } return(opponentName); } catch (Exception ex) { LogProvider.Log.Error(this, "Could not determine the strongest opponent", ex); } return(string.Empty); }