예제 #1
0
 public void SetWordLevelForWriteTest(WriteTestModel model)
 {
     if (model.IsAnswered)
     {
         _repositoryFactory.EnRuWordsRepository.ChangeWordLevel(model.EnRuWordId, 3);
     }
     else
     {
         _repositoryFactory.EnRuWordsRepository.ChangeWordLevel(model.EnRuWordId, -3);
     }
 }
예제 #2
0
        public IEnumerable <WriteTestModel> BuildPickerTest(ITestTypes testType)
        {
            var testData           = GetTestData(new WriteTest());
            var writeTestModelList = new List <WriteTestModel>();

            if (!testData.Any())
            {
                return(writeTestModelList);
            }

            foreach (var testDataItem in testData)
            {
                var ruWord = _repositoryFactory.EnRuWordsRepository
                             .AllRussianWords()
                             .FirstOrDefault(r => r.Id == testDataItem.RussianWordId)
                             .RuWord;

                var answerWord = _repositoryFactory.EnRuWordsRepository
                                 .AllEnglishWords()
                                 .FirstOrDefault(r => r.Id == testDataItem.EnglishWordId)
                                 .EnWord;

                if (ruWord == null || answerWord == null)
                {
                    throw new Exception("russian or english word is null");
                }

                var writeTestModel = new WriteTestModel
                {
                    Word       = ruWord,
                    TrueAnswer = answerWord,
                    EnRuWordId = testDataItem.Id,
                    Example    = testDataItem.Example
                };
                writeTestModelList.Add(writeTestModel);
            }

            return(writeTestModelList);
        }
예제 #3
0
        public IEnumerable <WriteTestModel> WriteTest(int userId)
        {
            var enRuWordsForTest = Get10EnRuWords(userId, WordCount);

            var writeTestModelList = new List <WriteTestModel>();

            if (!enRuWordsForTest.Any())
            {
                return(writeTestModelList);
            }

            foreach (var enRuWord in enRuWordsForTest)
            {
                var ruWord = _repositoryFactory.EnRuWordsRepository
                             .AllRussianWords().FirstOrDefault(r => r.Id == enRuWord.RussianWordId)
                             .RuWord;

                var answerWord = _repositoryFactory.EnRuWordsRepository
                                 .AllEnglishWords().FirstOrDefault(r => r.Id == enRuWord.EnglishWordId)
                                 .EnWord;

                if (ruWord == null || answerWord == null)
                {
                    throw new Exception("russian or english word is null");
                }

                var writeTestModel = new WriteTestModel
                {
                    Word       = ruWord,
                    TrueAnswer = answerWord,
                    EnRuWordId = enRuWord.Id,
                    Example    = enRuWord.Example
                };
                writeTestModelList.Add(writeTestModel);
            }

            return(writeTestModelList);
        }