public async Task <IActionResult> PostOption(Guid formId, Guid questionId, [FromBody] QuestionOption option) { var subject = _httpContextAccessor.HttpContext.User.GetSubject().AsGuid(); var form = await _formService.GetByIdAsync(formId); if (form.AuthorId != subject) { return(Unauthorized()); } var question = await _questionService.GetByIdAsync(form, questionId); var created = await _questionService.AddOption(question, option); return(new JsonResult(created, JsonSerializationConstants.SerializerOptions)); }
public async Task <IActionResult> AddOption(Option option) { if (option == null) { return(BadRequest($"{option} is null")); } var opn = await _questionService.AddOption(option); if (!string.IsNullOrEmpty(opn)) { return(NotFound(opn)); } return(Created("option/add", opn)); }
public async Task <ActionResult> PostOptionAsync([FromBody] QuestionOption questionOption, int id) { try { var entity = _questionService.GetQuestionById(id); if (entity == null) { return(NotFound()); } if (questionOption.ValidationErrors().Any()) { return(StatusCode((int)HttpStatusCode.PreconditionFailed, string.Join(" | ", questionOption.ValidationErrors()))); } var newQuestionOption = new QuestionOption { QuestionId = id, // Question = entity, Content = questionOption.Content, OptionLetter = questionOption.OptionLetter, IsCorrect = questionOption.IsCorrect, IsDeleted = false, IsDisplayed = true, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now }; var result = await _questionService.AddOption(newQuestionOption); if (result) { return(StatusCode((int)HttpStatusCode.Created, "Option added successfully !!!")); } return(StatusCode((int)HttpStatusCode.OK, "Option not added !!!")); } //catch (Exception ex) { return this.custom_error(ex); } // TODO catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }