public WordsFullModel CreateWordsCloudModel( string userName, IEnumerable <EnRuWord> enRuWords, int totalWordsCount) { var wordsCloudModel = new WordsFullModel { UserName = userName }; var words = new List <SimpleWordModel>(); foreach (var word in enRuWords) { var viewModel = new SimpleWordModel { English = word.EnglishWord.EnWord, Russian = word.RussianWord.RuWord, Level = word.WordLevel, Example = word.Example, UpdateDate = word.UpdateDate, AnswerCount = word.AnswerCount, FailAnswerCount = word.FailAnswerCount, Id = word.Id }; words.Add(viewModel); } wordsCloudModel.Words = words; wordsCloudModel.TotalWords = totalWordsCount == 0 ?GetWordCount(userName) : totalWordsCount; return(wordsCloudModel); }
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); }