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