コード例 #1
0
        public async Task <IActionResult> Edit(EditQuizInputModel input, string id)
        {
            if (input.CreatorId != this.userManager.GetUserId(this.User))
            {
                this.Redirect("/Home/Index");
            }

            if (!this.ModelState.IsValid)
            {
                return(this.RedirectToAction("Edit", "Quizes", new { id }));
            }

            var quizId = await this.quizService.UpdateQuizAsync(input, id);

            return(this.RedirectToAction("AllQuizInfo", "Quizes", new { id = quizId }));
        }
コード例 #2
0
ファイル: QuizesService.cs プロジェクト: GeorgiSv/QuizItUp
        public async Task <string> UpdateQuizAsync(EditQuizInputModel input, string quizId)
        {
            var quiz = await this.quizesRepo
                       .All()
                       .Where(x => x.Id == quizId)
                       .FirstOrDefaultAsync();

            quiz.Name                = input.Name;
            quiz.Description         = input.Description;
            quiz.TotalTimeToComplete = input.TotalTimeToComplete;

            this.quizesRepo.Update(quiz);
            await this.quizesRepo.SaveChangesAsync();

            return(quiz.Id);
        }
コード例 #3
0
        public async Task UpdateQuizShouldUpdateCorectly()
        {
            var input = new EditQuizInputModel()
            {
                Name                = "TestQuiz",
                Description         = "Dummy",
                TotalTimeToComplete = 1,
            };

            await this.Service.UpdateQuizAsync(input, this.quiz.Id);

            var result = await this.DbContext.Quizes.FirstOrDefaultAsync();

            Assert.Equal(input.Name, result.Name);
            Assert.Equal(input.Description, result.Description);
            Assert.Equal(input.TotalTimeToComplete, result.TotalTimeToComplete);
            Assert.Equal(this.quiz.Id, result.Id);
        }