예제 #1
0
        public void AddCacheToRepository(IList <string> list, string word)
        {
            var resultList  = new List <int>();
            var anagramList = ReadAnagramIDS(list);
            var sortedword  = string.Concat(word.OrderBy(c => c));

            for (int i = 0; i < anagramList.IDList.Count(); i++)
            {
                if (string.Concat(anagramList.WordList[i].OrderBy(c => c)) == sortedword)
                {
                    resultList.Add(anagramList.IDList[i]);
                }
            }

            foreach (var item in resultList)
            {
                var cachedWords = new CachedWords()
                {
                    AnagramWordId = item,
                    SearchedWord  = word,
                };
                _dbContext.CachedWords.Add(cachedWords);
                _dbContext.SaveChanges();
            }
        }
예제 #2
0
        private void StartNewRound()
        {
            foreach (var lettervm in LettersCollection)
            {
                lettervm.UpdateState(LetterState.NoGuess);
            }

            RoundManager.Start(CachedWords.Pop(), Tries);
            InitializeMaskedWord();
            InitializeProgressImages();
        }
예제 #3
0
        public void SetCachedAnagrams(List <string> anagrams, string requestWord)
        {
            Words word = new Words();

            foreach (string anagram in anagrams)
            {
                CachedWords cachedWord = new CachedWords();
                cachedWord.RequestWord  = requestWord;
                cachedWord.ResponseWord = _em.Words.Where(w => w.Word == anagram).Single().Id;
                _em.CachedWords.Add(cachedWord);
            }

            _em.SaveChanges();
        }
예제 #4
0
        public void AddCacheToRepository(IList <string> list, string word)
        {
            var resultList = _anagramCache.GetAnagramIDs(list);

            if (resultList.Count == 0) //adds to searched word list so userlog can display even if it's not in the dictionary
            {
                SearchedWordID(word);
            }
            foreach (var item in resultList)
            {
                var cachedWords = new CachedWords()
                {
                    WordID         = item,
                    SearchedWordID = SearchedWordID(word)
                };
                _anagramCache.AddCachedWords(cachedWords);
            }
        }
예제 #5
0
        public void WriteCachedWord(string word, List <string> anagrams)
        {
            var wordToSave = new CachedWords {
                Word = word
            };

            _anagramEntities.CachedWords.Add(wordToSave);
            _anagramEntities.SaveChanges();
            var wordId = wordToSave.Id;

            foreach (var anagram in anagrams)
            {
                var anagramToSave = new CachedAnagrams {
                    WordId = wordId, Anagram = anagram
                };
                _anagramEntities.CachedAnagrams.Add(anagramToSave);
            }
            _anagramEntities.SaveChanges();
        }
예제 #6
0
 public void AddCachedWords(CachedWords cachedWords)
 {
     _dbContext.CachedWords.Add(cachedWords);
     _dbContext.SaveChanges();
 }