public async Task <IHttpActionResult> CreateAsync(AnswerRequestModel model) { try { // Validate our answer count await ValidateAnswerCountAsync(model.QuestionId); // Create our model var answer = ModelFactory.Create(model); // Add our images to our answer answer.Images = model.Images; // Save our model this._answerService.Create(answer); // Save the database changes await this._unitOfWork.SaveChangesAsync(); // Return our updated model return(this._actionWrapper.Ok(ModelFactory.Create(answer))); // If there is an error } catch (Exception ex) { // Return our error return(this._actionWrapper.BadRequest(ex.Message.ToString())); } }
// [Authorize] // [ValidateModel] public IHttpActionResult Post(AnswerRequestModel model) { var newAnswer = Mapper.Map <Answer>(model); var id = this.answers.AddNew(newAnswer, this.User.Identity.GetUserId()); var result = this.answers .GetById(id) .ProjectTo <AnswerResponseModel>() .FirstOrDefault(); return(this.Created($"/api/Answers/{id}", result)); }
// [Authorize] // [ValidateModel] public IHttpActionResult Post(AnswerRequestModel model) { var newAnswer = Mapper.Map<Answer>(model); var id = this.answers.AddNew(newAnswer, this.User.Identity.GetUserId()); var result = this.answers .GetById(id) .ProjectTo<AnswerResponseModel>() .FirstOrDefault(); return this.Created($"/api/Answers/{id}", result); }