Пример #1
0
        public async Task <IHttpActionResult> PutWord(int id, Word word)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != word.WordID)
            {
                return(BadRequest());
            }

            db.Entry(word).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!WordExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #2
0
        // Create method
        public async Task <Word> Create(Word word)
        {
            // Use add method of DB set to add new instance of word class
            _context.Words.Add(word);
            // Save changes async method will insert data into database
            await _context.SaveChangesAsync();

            return(word);
        }
Пример #3
0
        public async Task <ActionResult <WordEntry> > PostWord([FromBody] WordEntry word)
        {
            _context.Words.Add(word);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(
                       "GetWord",
                       new { id = word.Id },
                       word
                       ));
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("ID,Email,Points")] Rank rank)
        {
            if (ModelState.IsValid)
            {
                _context.Add(rank);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(rank));
        }
Пример #5
0
        // Action created to support create new rank value when user lose 3 chances and the game.
        public async Task <IActionResult> CreateRank([Bind("ID,Email,Points")] Rank rank)
        {
            // If model that we get as a parameter is valid, we can add new record to database table.
            if (ModelState.IsValid)
            {
                _context.Add(rank);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Fiszki"));
        }
Пример #6
0
        public async Task <IActionResult> Create([Bind("Id,content,secret")] Word word)
        {
            int[] Alien = gereate_public(5, 17);
            word.secret = Encrypt(Alien, word.content);

            if (ModelState.IsValid)
            {
                _context.Add(word);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(word));
        }
Пример #7
0
        /// <summary>
        /// очистка словаря
        /// </summary>
        /// <returns></returns>
        public async Task <string> ClearDictionary()
        {
            using (WordContext db = new WordContext())
            {
                var exist = db.Words;
                db.Words.RemoveRange(exist);
                await db.SaveChangesAsync();

                return("\r\nСловарь очищен.");
            }
        }
Пример #8
0
        public async Task <int> RecordWords(IEnumerable <string> words)
        {
            var alreadyKnownWords = await _wordContext.SeenWords.Where(seenWord => words.Contains(seenWord.Word)).Select(seenWord => seenWord.Word).ToListAsync();

            words = words.Where(word => !alreadyKnownWords.Contains(word));

            await _wordContext.SeenWords.AddRangeAsync(words.Select(word => new SeenWord {
                Word = word
            }));

            return(await _wordContext.SaveChangesAsync());
        }
Пример #9
0
        public async Task Add(Word word)
        {
            if (word == null)
            {
                return;
            }

            await _wordContext.Words.AddAsync(word);

            try
            {
                await _wordContext.SaveChangesAsync();

                _logger.LogInformation("Word succesfully added");
            }
            catch (DbUpdateException e)
            {
                _logger.LogError(e.Message);
                throw;
            }
        }
Пример #10
0
        public async Task <ActionResult <Word> > Post(Word word)
        {
            if (word.EnglWord == "admin")
            {
                ModelState.AddModelError("EnglWord", "Недопустимое имя пользователя - admin");
            }

            if (ModelState.IsValid)
            {
                if (word == null)
                {
                    return(BadRequest());
                }
                db.Words.Add(word);
                await db.SaveChangesAsync();
            }
            else
            {
                return(BadRequest(ModelState));
            }
            return(Ok(word));
        }
Пример #11
0
        /// <summary>
        /// Add a new word entry to the database.
        /// </summary>
        /// <param name="word">A word to add</param>
        /// <returns>Asynchronous operation to add a word</returns>
        public static async Task <Word> NewWord(WordContext ctx, string word)
        {
            if (string.IsNullOrWhiteSpace(word))
            {
                throw new ArgumentNullException(word);
            }

            var new_word = new Word()
            {
                Content = word, LastReferenced = DateTime.Now
            };

            ctx.Words.Add(new_word);
            await ctx.SaveChangesAsync();

            return(new_word);
        }
Пример #12
0
        /// <summary>
        /// дополнение словаря
        /// </summary>
        /// <returns></returns>
        public async Task <string> UpdateDictionary()
        {
            using (WordContext db = new WordContext())
            {
                Console.WriteLine("\r\n");
                var exist = db.Words.ToList();
                var words = await WordsFromFile();

                if (!words.Any())
                {
                    return("Файл не был выбран или в файле не было подходящих слов");
                }
                var  group = words.GroupBy(g => g);
                long i     = 0;
                var  list  = new List <Word>();
                var  count = group.Where(w => w.LongCount() >= 3).Count();
                foreach (var word in group.Where(w => w.LongCount() >= 3))
                {
                    var wordTitle = word.FirstOrDefault().ToLowerInvariant();
                    if (exist.Exists(x => x.Title == wordTitle))
                    {
                        var existWord = db.Words.FirstOrDefault(x => x.Title == wordTitle);
                        existWord.Count += word.LongCount();
                    }
                    else
                    {
                        list.Add(new Word
                        {
                            Title = wordTitle,
                            Count = word.LongCount()
                        });
                    }
                    var l = Console.CursorLeft;
                    var t = Console.CursorTop;
                    Console.Write(i * 100 / count + " %");
                    Console.SetCursorPosition(l, t);
                    i++;
                }
                db.Words.AddRange(list);
                await db.SaveChangesAsync();

                return("Словарь дополнен.");
            }
        }
Пример #13
0
        /// <summary>
        /// создание словаря
        /// </summary>
        /// <returns></returns>
        public async Task <string> CreateDictionary()
        {
            using (WordContext db = new WordContext())
            {
                Console.WriteLine("\r\n");
                var exist = db.Words.ToList();
                if (exist != null && exist.Any())
                {
                    return("Словарь не пуст. Для создания нового словаря сперва очистите старый.");
                }
                var words = await WordsFromFile();

                if (!words.Any())
                {
                    return("Файл не был выбран или в файле не было подходящих слов");
                }
                var  group = words.GroupBy(g => g);
                long i     = 0;
                var  list  = new List <Word>();
                foreach (var word in group.Where(w => w.LongCount() >= 3))
                {
                    list.Add(new Word
                    {
                        Title = word.FirstOrDefault(),
                        Count = word.LongCount()
                    });
                    var l = Console.CursorLeft;
                    var t = Console.CursorTop;
                    Console.Write(i * 100 / group.Where(w => w.LongCount() >= 3).Count() + " %");
                    Console.SetCursorPosition(l, t);
                    i++;
                }
                db.Words.AddRange(list);
                await db.SaveChangesAsync();

                return("Словарь создан.");
            }
        }
Пример #14
0
    public async Task Add(IEnumerable <Word> words)
    {
        await _wordContext.Words.AddRangeAsync(words);

        await _wordContext.SaveChangesAsync();
    }
Пример #15
0
 private async Task Flush()
 {
     await _wordContext.SaveChangesAsync();
 }