// GET: New Test public async Task <IActionResult> NewTest() { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var language = await _context.Languages.SingleOrDefaultAsync(p => p.LanguageCode == "zh_CN"); var vm = new NewTestViewModel { Test = new VocabularyAnalyser.Model.MyVocabularyTest { UserName = user.UserName, TestWordCount = 25, TestTime = DateTime.UtcNow, Language = language, LanguageId = language.LanguageId } }; vm.Test.VocabularyTestDetails = await GenerateTestDetailsAsync(vm.Test, new List <(int, int, int)> { (0, 3000, 15), (3001, 5000, 5), (5001, 10000, 5) });
public RedirectToRouteResult New(NewTestViewModel newTestViewModel) { //Validate viewModel //End test var finishedTestInfo = this.helperFactory.CreateFinishedTest(newTestViewModel.TestId); foreach (var question in newTestViewModel.Questions) { finishedTestInfo.AnsweredQuestions.Add(this.helperFactory.CreateAnsweredQuestion(question.QuestionId, question.SelectedAnswerId)); } var test = this.testService.EndTest(finishedTestInfo); var testViewModel = this.viewModelFactory.CreateTestViewModel(test.Id); return(this.RedirectToAction("Test", testViewModel)); }