Exemplo n.º 1
0
        private async Task AddChoiceOptionsAnswerAndRowAnswerAsync(int surveyId, int surveyAnswerId,
                                                                   string select, QuestionAnswerToAdd questionAnswer)
        {
            var questionAnswerId = await AddQuestionAnswerToSurveyAnswerAsync(surveyId,
                                                                              surveyAnswerId,
                                                                              questionAnswer.QuestionPosition, questionAnswer.Content, questionAnswer.Select, questionAnswer.IsRequired);

            if (questionAnswer.FieldData == null)
            {
                throw new NullReferenceException("Question must contain FieldData");
            }
            foreach (var fieldDataAnswer in questionAnswer.FieldData)
            {
                var fieldDataAnswerId = await AddFieldDataAnswerToQuestionAnswerAsync(surveyId,
                                                                                      questionAnswerId,
                                                                                      fieldDataAnswer.Input,
                                                                                      fieldDataAnswer.MinLabel,
                                                                                      fieldDataAnswer.MaxLabel);

                if (fieldDataAnswer.ChoiceOptions != null)
                {
                    await AddChoiceOptionsAnswerAsync(surveyId, fieldDataAnswer, questionAnswer.Select,
                                                      fieldDataAnswerId,
                                                      questionAnswer);
                }
                if (fieldDataAnswer.Rows != null)
                {
                    await AddRowsAnswerAsync(surveyId, fieldDataAnswer, questionAnswer.Select, questionAnswer,
                                             fieldDataAnswerId);
                }
            }
        }
Exemplo n.º 2
0
        private async Task AddRowsAnswerAsync(int surveyId, FieldDataAnswerToAdd fieldDataAnswer,
                                              string select, QuestionAnswerToAdd questionAnswer, int fieldDataAnswerId)
        {
            if (fieldDataAnswer.Rows != null)
            {
                foreach (var rowAnswer in fieldDataAnswer.Rows)
                {
                    var rowAnswerId = await AddRowAnswerAsync(fieldDataAnswerId,
                                                              rowAnswer.RowPosition, rowAnswer.Input);

                    if (rowAnswer.ChoiceOptions != null)
                    {
                        await AddChoiceOptionAnswerToRow(surveyId, rowAnswer, rowAnswerId);
                    }
                }
            }
        }
Exemplo n.º 3
0
        private async Task AddChoiceOptionsAnswerAsync(int surveyId, FieldDataAnswerToAdd fieldDataAnswer,
                                                       string select, int fieldDataAnswerId, QuestionAnswerToAdd questionAnswer)
        {
            if (questionAnswer.Select == "single-choice" || questionAnswer.Select == "multiple-choice" ||
                questionAnswer.Select == "dropdown-menu" || questionAnswer.Select == "linear-scale")
            {
                var counter = 0;
                foreach (var choiceOption in fieldDataAnswer.ChoiceOptions)
                {
                    await AddChoiceOptionsAnswerToFieldDataAnswerAsync(surveyId, fieldDataAnswerId,
                                                                       counter,
                                                                       choiceOption.Value, choiceOption.ViewValue);

                    counter++;
                }
            }
        }