public IActionResult Generate() { var model = new GenerateQuizViewModel(); model.CategoriesItems = this.selectListsService.GetAllCategoriesAsSelectList(); model.DifficultsItems = this.selectListsService.GetAllDifficultsAsSelectList(); model.StagesItems = this.selectListsService.GetAllStagesAsSelectList(); return(this.View(model)); }
public async Task <IActionResult> Generate(GenerateQuizViewModel inputModel) { if (!this.ModelState.IsValid) { inputModel.CategoriesItems = this.selectListsService.GetAllCategoriesAsSelectList(); inputModel.DifficultsItems = this.selectListsService.GetAllDifficultsAsSelectList(); inputModel.StagesItems = this.selectListsService.GetAllStagesAsSelectList(); return(this.View(inputModel)); } inputModel.AddedByUserId = this.User.FindFirst(ClaimTypes.NameIdentifier).Value; await this.quizzesService.CreateAsync(inputModel); return(this.Redirect("/Quizzes/Index")); }
public async Task CreateAsync(GenerateQuizViewModel inputModel) { Quiz quiz = new Quiz(); this.mapper.Map <GenerateQuizViewModel, Quiz>(inputModel, quiz); inputModel.Questions = this.questionsService.GetRandomQuestionsForQuiz(inputModel.CategoryId, inputModel.DifficultId, inputModel.StageId, inputModel.Count); foreach (var question in inputModel.Questions) { quiz.Questions.Add(new QuizQuestion { QuestionId = question.Id }); } await this.quizisRepository.AddAsync(quiz); await this.quizisRepository.SaveChangesAsync(); }