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