public async Task <bool> UpdateQuestion(Model.Input.Question question) { var survey = await _repository.GetSurveyById(question.SurveyId); if (survey.Questions != null && survey.Questions.Any()) { var ques = survey.Questions.FirstOrDefault(q => q.Id == question.QuestionId); if (ques != null) { ques.Text = question.Text; ques.UpdatedDateTime = DateTime.Now; ques.Answers = new List <Entity.Survey.Answer> { new Entity.Survey.Answer { Text = question.YesAnswerText, Value = true }, new Entity.Survey.Answer { Text = question.NoAnswerText, Value = false } }; return(await _repository.UpdateQuestion(question.SurveyId, ques)); } } return(false); }
public async Task <IActionResult> UpdateSurveyQuestion([FromBody] Model.Input.Question question) { if (!ModelState.IsValid) { return(BadRequest(ModelState.ToString())); } var result = await _surveyService.UpdateQuestion(question); return(Ok(result)); }
public async Task <IActionResult> CreateSurveyQuestion([FromBody] Model.Input.Question question) { if (!ModelState.IsValid) { return(BadRequest(ModelState.ToString())); } var result = await _surveyService.CreateSurveyQuestion(question); if (result != null) { return(Ok(result)); } return(NotFound()); }
public async Task <Model.Output.Question> CreateSurveyQuestion(Model.Input.Question question) { var survey = await _repository.GetSurveyById(question.SurveyId); if (survey != null) { var newQuestion = new Entity.Survey.Question { Text = question.Text, CreatedDateTime = DateTime.Now, UpdatedDateTime = DateTime.Now, Answers = new List <Entity.Survey.Answer> { new Entity.Survey.Answer { Text = question.YesAnswerText, Value = true }, new Entity.Survey.Answer { Text = question.NoAnswerText, Value = false } } }; newQuestion = await _repository.AddQuestionToSurvey(question.SurveyId, newQuestion); var result = new Model.Output.Question { QuestionId = newQuestion.Id, SurveyId = question.SurveyId, Text = newQuestion.Text, Answers = newQuestion.Answers.Select(a => new Model.Output.Answer { Text = a.Text, Value = a.Value }) }; return(result); } return(null); }