public static WordModel GetBestSynonym(WordModel word, ICollection<WordModel> synonyms, WordTrait desired = null) { if (!synonyms.Any()) { return word; } if (synonyms.Count() == 1) { return synonyms.First(); } return BestSynonymMatchByTrait(synonyms, desired); }
private static WordModel BestSynonymMatchByTrait(IEnumerable<WordModel> data, WordTrait desiredTraits) { //Todo: Lots of logic based on Synonym traits //Defaulting to Longest return data.OrderByDescending(s => s.Word.Length).First(); }