Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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);
        }