コード例 #1
0
        public async Task <CachedWordEntity> GetCachedWord(string phrase)
        {
            sqlConnection.Open();
            SqlCommand cmd = new SqlCommand
            {
                Connection  = sqlConnection,
                CommandType = CommandType.Text,
                CommandText = "select top 1 * from CachedWords " +
                              "where Phrase = @searchPhrase"
            };

            cmd.Parameters.Add(new SqlParameter("@searchPhrase", phrase));

            SqlDataReader reader = await cmd.ExecuteReaderAsync();

            CachedWordEntity result = null;

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    result = new CachedWordEntity()
                    {
                        ID          = int.Parse(reader["ID"].ToString()),
                        Phrase      = reader["Phrase"].ToString(),
                        AnagramsIds = reader["AnagramsIds"].ToString()
                    };
                    break;
                }
            }

            reader.Close();
            sqlConnection.Close();
            return(result);
        }
コード例 #2
0
        public async Task <CachedWordEntity> AddCachedWord(string word)
        {
            var cachedWord = new CachedWordEntity()
            {
                Word = word
            };
            await _context.CachedWord.AddAsync(cachedWord).ConfigureAwait(false);

            return(cachedWord);
        }
コード例 #3
0
        public async Task InsertCachedWord(CachedWord cachedWord)
        {
            var entity = new CachedWordEntity
            {
                AnagramsIds = cachedWord.AnagramsIds,
                Phrase      = cachedWord.SearchPhrase
            };

            await _context.CachedWords.AddAsync(entity);
        }
コード例 #4
0
        public void InsertCachedWords(string searchInput, List <int> anagramsIdList)
        {
            var cachedWordEntity = new CachedWordEntity();

            foreach (var item in anagramsIdList)
            {
                cachedWordEntity = new CachedWordEntity
                {
                    SearchWord    = searchInput,
                    AnagramWordId = item
                };
                _context.CachedWord.Add(cachedWordEntity);
            }
            //_context.CachedWord.Add(cachedWordEntity);
            _context.SaveChanges();
        }
コード例 #5
0
        public async Task AddToChaced(string searchWord, List <WordEntity> wordEntities, string connString)
        {
            using (var db = new AnagramContext(connString))
            {
                var cachedWordEntity = new CachedWordEntity {
                    SearchWord = searchWord,
                };

                foreach (var item in wordEntities)
                {
                    cachedWordEntity.WordEntities.Add(db.WordEntities.FirstOrDefault(m => m.WordId == item.WordId));
                }

                db.CachedWordEntities.Add(cachedWordEntity);
                await db.SaveChangesAsync();
            }
        }