Пример #1
0
        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);
        }
Пример #2
0
        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);
        }