public bool IsOfKindCategory(LetterKindCategory category) { var isIt = false; switch (category) { case LetterKindCategory.Base: isIt = IsBaseLetter(); break; case LetterKindCategory.LetterVariation: isIt = IsVariationLetter(); break; case LetterKindCategory.Symbol: isIt = IsSymbolLetter(); break; case LetterKindCategory.DiacriticCombo: isIt = IsDiacriticComboLetter(); break; case LetterKindCategory.Real: isIt = IsRealLetter(); break; case LetterKindCategory.BaseAndVariations: isIt = IsBaseOrVariationLetter(); break; } return(isIt); }
public List <LetterData> GetLettersNotInWord(WordData wordData, LetterKindCategory category = LetterKindCategory.Real, LetterEqualityStrictness equalityStrictness = LetterEqualityStrictness.LetterBase) { var comparer = new StrictLetterDataComparer(equalityStrictness); var lettersInWord = GetLettersInWord(wordData); var lettersNotInWord = dbManager.FindLetterData(x => !lettersInWord.Contains(x, comparer) && x.IsOfKindCategory(category)); return(lettersNotInWord); }
public List <LetterData> GetLettersNotInWord(string wordId, LetterKindCategory category = LetterKindCategory.Real) { WordData wordData = dbManager.GetWordDataById(wordId); var letter_ids_list = new List <string>(wordData.Letters); List <LetterData> list = dbManager.FindLetterData(x => !letter_ids_list.Contains(x.Id) && x.IsOfKindCategory(category)); return(list); }
public List <LetterData> GetLettersNotInWords(LetterKindCategory category = LetterKindCategory.Real, params WordData[] tabooArray) { var letter_ids_list = new HashSet <string>(); foreach (var tabooWordData in tabooArray) { letter_ids_list.UnionWith(tabooWordData.Letters); } List <LetterData> list = dbManager.FindLetterData(x => !letter_ids_list.Contains(x.Id) && x.IsOfKindCategory(category)); return(list); }
public List <LetterData> GetLettersNotInWords(LetterKindCategory category = LetterKindCategory.Real, LetterEqualityStrictness equalityStrictness = LetterEqualityStrictness.LetterBase, params WordData[] tabooArray) { var comparer = new StrictLetterDataComparer(equalityStrictness); var lettersInWords = new HashSet <LetterData>(comparer); foreach (var tabooWordData in tabooArray) { var tabooWordDataLetters = GetLettersInWord(tabooWordData); lettersInWords.UnionWith(tabooWordDataLetters); } var lettersNotInWords = dbManager.FindLetterData(x => !lettersInWords.Contains(x, comparer) && x.IsOfKindCategory(category)); return(lettersNotInWords); }