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); } }
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)); }
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))); }
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)); }
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)); }