public IHttpActionResult EditWord(WordsFullModel wordsModel) { if (wordsModel != null && wordsModel.Words.Any()) { var word = wordsModel.Words.First(); var enRuWord = new EnRuWord { RussianWord = new RussianWord { RuWord = word.Russian }, Example = word.Example, Id = word.Id, FailAnswerCount = word.FailAnswerCount, WordLevel = word.Level, AnswerCount = word.AnswerCount }; _repositoryFactory.EnRuWordsRepository.EditEnRuWord(enRuWord, wordsModel.UserId); return(Ok()); } return(NotFound()); }
private EnRuWord LevelUp(EnRuWord word, int maxLevel) { if (word.WordLevel < maxLevel) { _repositoryFactory.EnRuWordsRepository.ChangeWordLevel(word.Id, 1); } else { _repositoryFactory.EnRuWordsRepository.ChangeWordLevel(word.Id, 0); } return(word); }
public EnRuWord AddTranslate( string engWord, string ruWord, string example, int userId, DateTime?updateDate = null, int level = 0, int answerCount = 0, int failAnswerCount = 1) { int engId = AddEngWord(engWord); int ruId = AddRusWord(ruWord); var enRuWordFromDb = _context.EnRuWords .FirstOrDefault(r => r.EnglishWord.EnWord == engWord && r.UserId == userId); if (enRuWordFromDb != null) { enRuWordFromDb.RussianWordId = ruId; enRuWordFromDb.WordLevel = level; enRuWordFromDb.Example = example ?? string.Empty; enRuWordFromDb.UpdateDate = updateDate ?? new DateTime(1990, 5, 5); enRuWordFromDb.AnswerCount = answerCount; enRuWordFromDb.FailAnswerCount = failAnswerCount; _context.SaveChanges(); return(enRuWordFromDb); } var enRuWord = new EnRuWord { RussianWordId = ruId, EnglishWordId = engId, Example = example ?? string.Empty, UserId = userId, WordLevel = level, UpdateDate = updateDate ?? new DateTime(1990, 5, 5), AnswerCount = answerCount, FailAnswerCount = failAnswerCount }; _context.EnRuWords.Add(enRuWord); _context.SaveChanges(); return(enRuWord); }
public void EditEnRuWord(EnRuWord updateEnRuWord, int userId) { var enRuWord = _context.EnRuWords.FirstOrDefault(r => r.Id == updateEnRuWord.Id); if (enRuWord == null) { return; } int ruId = AddRusWord(updateEnRuWord.RussianWord.RuWord); enRuWord.RussianWordId = ruId; enRuWord.Example = updateEnRuWord.Example; enRuWord.UpdateDate = DateTime.Now; enRuWord.WordLevel = updateEnRuWord.WordLevel; enRuWord.FailAnswerCount = updateEnRuWord.FailAnswerCount; enRuWord.AnswerCount = updateEnRuWord.AnswerCount; _context.SaveChanges(); }
public EnRuWord AddTranslate(SimpleWordModel wordModel) { var engWord = wordModel.English; var ruWord = wordModel.Russian; var engId = AddEngWord(engWord); var ruId = AddRusWord(ruWord); var enRuWordFromDb = _context.EnRuWords .FirstOrDefault( r => r.EnglishWord.EnWord == engWord && r.UserId == wordModel.UserId); if (enRuWordFromDb != null) { enRuWordFromDb.RussianWordId = ruId; enRuWordFromDb.WordLevel = wordModel.Level; enRuWordFromDb.Example = wordModel.Example ?? string.Empty; enRuWordFromDb.UpdateDate = wordModel.UpdateDate ?? new DateTime(1990, 5, 5); enRuWordFromDb.AnswerCount = wordModel.AnswerCount; enRuWordFromDb.FailAnswerCount = wordModel.FailAnswerCount; _context.SaveChanges(); return(enRuWordFromDb); } var enRuWord = new EnRuWord { RussianWordId = ruId, EnglishWordId = engId, Example = wordModel.Example ?? string.Empty, UserId = wordModel.UserId, WordLevel = wordModel.Level, UpdateDate = wordModel.UpdateDate ?? new DateTime(1990, 5, 5), AnswerCount = wordModel.AnswerCount, FailAnswerCount = wordModel.FailAnswerCount }; _context.EnRuWords.Add(enRuWord); _context.SaveChanges(); return(enRuWord); }
public EnRuWord SetWordLevel(int wordId, bool isRight, TestType testType) { EnRuWord word = _repositoryFactory.EnRuWordsRepository.AllEnRuWords() .FirstOrDefault(r => r.Id == wordId); if (word == null) { return(null); } if (isRight) { switch (testType) { case TestType.EnRuTest: word = LevelUp(word, EnRuMaxLevel); break; case TestType.RuEnTest: word = LevelUp(word, RuEnMaxLevel); break; case TestType.SpellingWithHelpTest: word = LevelUp(word, SpelWithHelpMaxLevel); break; case TestType.SpellingTest: word = LevelUp(word, SpelMaxLevel); break; } } else { _repositoryFactory.EnRuWordsRepository.ChangeWordLevel(word.Id, -1); } return(word); }