async Task AddQuestion()
        {
            CommandSubmitResult <SurveyEditDTO> result = null;

            switch ((QuestionTypeEnum)QuestionTypeId)
            {
            case QuestionTypeEnum.Text:
                var cmd = new SurveyDefinitionTextQuestionAddToSectionCmd(survey.SurveyId, section.SectionId, QuestionText, QuestionHelp);
                result = await SurveyClient.AddTextQuestion(cmd);

                break;

            case QuestionTypeEnum.Rating:
                //int min = int.Parse(RatingMin);
                var cmd1 = new SurveyDefinitionAddRatingQuestionToSectionCmd(
                    survey.SurveyId,
                    section.SectionId,
                    RatingMin,
                    RatingMax,
                    QuestionText,
                    QuestionHelp);
                result = await SurveyClient.AddRatingQuestion(cmd1);

                break;

            case QuestionTypeEnum.MultiChoice:
                var cmd2 = new SurveyDefinitionMultiOptionQuestionAddToSectionCmd(survey.SurveyId, section.SectionId, QuestionText, QuestionHelp);
                result = await SurveyClient.AddMultiOptionQuestion(cmd2);

                if (result.Result == CommandSubmitExecutionResult.OK)
                {
                    Guid addedQId = result.UpdatedId;
                    foreach (var item in Options)
                    {
                        var cmd3 = new AddOptionToMultiOptionQuestionCmd(survey.SurveyId, addedQId, item.Text, item.Value);
                        result = await SurveyClient.AddOptionToMultiOptionQuestion(cmd3);
                    }
                }
                break;

            case QuestionTypeEnum.SingleChoice:
                var cmd4 = new SurveyDefinitionSingleOptionQuestionAddToSectionCmd(survey.SurveyId, section.SectionId, QuestionText, QuestionHelp);
                result = await SurveyClient.AddSingleOptionQuestion(cmd4);

                if (result.Result == CommandSubmitExecutionResult.OK)
                {
                    Guid addedQId = result.UpdatedId;
                    foreach (var item in Options)
                    {
                        var cmd5 = new AddOptionToSingleOptionQuestionCmd(survey.SurveyId, addedQId, item.Text, item.Value);
                        result = await SurveyClient.AddOptionToSingleOptionQuestionCmd(cmd5);
                    }
                }
                break;
            }
            if (result.Result == CommandSubmitExecutionResult.OK)
            {
                UriHelper.NavigateTo($"editsurvey/");
            }
            else
            {
                ValidationMessage = result.Messages.FirstOrDefault();
                Console.WriteLine(ValidationMessage);
            }
        }
Exemple #2
0
        public async Task <CommandSubmitResult <SurveyEditDTO> > AddOptionToMultiOptionQuestion(AddOptionToMultiOptionQuestionCmd cmd)
        {
            string url = $"{_baseUrl}addoptiontomultioptionquestion";

            return(await PostCmd(cmd, url));
        }