public void Find() { if (string.IsNullOrWhiteSpace(Theme)) { IsGenerating = false; return; } IsGenerating = true; PunList = null; RevealedWords.Clear(); Console.WriteLine(@"Getting Puns"); var puns = SynSets.Except(CrossedOffSynsets) .SelectMany(synSet => PunHelper.GetPuns(PunCategory, Theme, synSet, WordNetEngine.Value, PronunciationEngine.Value)); PunList = puns .Distinct() .GroupBy(x => x.Word, StringComparer.OrdinalIgnoreCase) .OrderByDescending(x => x.Count()) .ToList(); Console.WriteLine($@"{PunList.Count} Puns Got"); IsGenerating = false; }
public bool IsDefinded(string word, PartOfSpeech pos) { SynSetGroup[] synSetGrp; return(SynSets.TryGetValue(word, out synSetGrp) && synSetGrp.Any(grp => grp.PosSymbol == pos.symbol.First())); }