Esempio n. 1
0
        public IHttpActionResult Create(CreateQuizModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var category = this.categories.GetById(model.Category.Id);

            if (category == null)
            {
                return(this.BadRequest(this.ModelState));
            }

            var quiz = this.Mapper.Map <Quiz>(model);

            quiz.Category    = category;
            quiz.CreatedById = this.UserId;

            try
            {
                this.quizzes.Add(quiz);
                return(this.CreatedAtRoute(
                           "QuizApi", new { action = "Solve", id = quiz.Id }, new { id = quiz.Id }));
            }
            catch (QuizCreationException ex)
            {
                return(this.BadRequest(ex.Message));
            }
        }
        public IHttpActionResult Create(CreateQuizModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            var category = this.categories.GetById(model.Category.Id);
            if (category == null)
            {
                return this.BadRequest(this.ModelState);
            }

            var quiz = this.Mapper.Map<Quiz>(model);
            quiz.Category = category;
            quiz.CreatedById = this.UserId;

            try
            {
                this.quizzes.Add(quiz);
                return this.CreatedAtRoute(
                "QuizApi", new { action = "Solve", id = quiz.Id }, new { id = quiz.Id });
            }
            catch (QuizCreationException ex)
            {
                return this.BadRequest(ex.Message);
            }
        }
Esempio n. 3
0
        public async Task When_AddMethodIsCalledWithValidParameter_Then_ShouldReturnCreatedAt()
        {
            // Arrange
            CreateQuizModel entity = new CreateQuizModel
            {
                Name        = "valid name",
                Description = "valid description",
                Questions   = new List <CreateQuestionModel>
                {
                    new CreateQuestionModel()
                },
                IsRanked = false
            };

            var quizEntity = new QuizEntity
            {
                QuizCreatorId = Guid.NewGuid()
            };

            var quizModel = new QuizModel
            {
            };

            AddQuizMocking(quizEntity, quizModel);

            // Act
            var result = await SystemUnderTest.AddQuiz(entity);

            // Assert
            result.Should().BeOfType <CreatedAtRouteResult>();
            _mockQuizService.Verify(x => x.CreateAsync(It.IsAny <QuizEntity>()), Times.Exactly(1));
            _mockQuizService.Verify(x => x.GetQuizAsync(It.IsAny <Guid>()), Times.Exactly(1));
        }
Esempio n. 4
0
        public async Task <IActionResult> AddQuiz([FromBody] CreateQuizModel quiz)
        {
            var quizEntity = _mapper.Map <QuizEntity>(quiz);

            quizEntity.QuizCreatorId = GetUserIdFromToken();

            await _quizService.CreateAsync(quizEntity).ConfigureAwait(false);

            var quizResult = await _quizService.GetQuizAsync(quizEntity.Id).ConfigureAwait(false);

            return(CreatedAtRoute("GetQuizById", new { id = quizResult.Id }, _mapper.Map <QuizModel>(quizResult)));
        }
Esempio n. 5
0
        public ActionResult Edit(CreateQuizModel model)
        {
            if (ModelState.IsValid)
            {
                var quiz = UnitOfWork.GetRepository <Quiz>().GetById(model.Id);

                quiz.Title = model.Title;

                UnitOfWork.GetRepository <Quiz>().Update(quiz);
                UnitOfWork.Save();
                return(RedirectToAction("Details", new { id = quiz.Course.Id }));
            }
            return(View("Create", model));
        }
Esempio n. 6
0
 public ActionResult Create(CreateQuizModel model)
 {
     if (ModelState.IsValid)
     {
         var quiz = new Quiz()
         {
             Course      = UnitOfWork.GetRepository <Course>().GetById(model.CourseId),
             TimeCreated = DateTime.Now,
             Title       = model.Title
         };
         UnitOfWork.GetRepository <Quiz>().Add(quiz);
         UnitOfWork.Save();
         return(RedirectToAction("Details", "Course", new { id = quiz.Course.Id }));
     }
     return(View(model));
 }