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); } }
public async Task <CommandSubmitResult <SurveyEditDTO> > AddRatingQuestion(SurveyDefinitionAddRatingQuestionToSectionCmd cmd) { string url = $"{_baseUrl}addratingquestion"; return(await PostCmd(cmd, url)); }