示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#5
0
        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);
        }