private static void ProcessEditField( UPMQuestionnaireGroup questionnaireGroup, UPQuestionnaireQuestion currentQuestion, UPMEditField editField, IQuestionnaireEditFieldContext editFieldContext, UPQuestionnaireCatalogEditField catalogEditField, string surveyAnswer, IList <string> answerIds, bool multiSelect) { if (questionnaireGroup == null) { throw new ArgumentNullException(nameof(questionnaireGroup)); } if (currentQuestion == null) { throw new ArgumentNullException(nameof(currentQuestion)); } if (editFieldContext == null) { throw new ArgumentNullException(nameof(editFieldContext)); } if (answerIds == null) { throw new ArgumentNullException(nameof(answerIds)); } editField.LabelText = currentQuestion.Label; editField.DetailText = currentQuestion.AdditionalInfo; editField.RequiredField = currentQuestion.Mandatory; editFieldContext.Question = currentQuestion; if (multiSelect) { if (catalogEditField != null) { foreach (string a in answerIds) { catalogEditField.AddFieldValue(a); } } } else { editField.FieldValue = surveyAnswer; } editField.ContinuousUpdate = true; var questionnaireQuestion = new UPMQuestionnaireQuestion(editField) { Mandatory = currentQuestion.Mandatory }; questionnaireGroup.AddQuestion(questionnaireQuestion); }
/// <summary> /// Pages for overview. /// </summary> /// <param name="page">The page.</param> /// <returns></returns> public Page PageForOverview(Page page) { Page newPage = this.InstantiatePage(); if (this.portfolioGroup != null) { newPage.AddGroup(this.portfolioGroup); } foreach (UPMQuestionnaireGroup currentGroup in page.Groups) { UPMQuestionnaireGroup questionnaireGroup = new UPMQuestionnaireGroup(currentGroup.Identifier) { LabelText = currentGroup.LabelText }; bool insertGroup = false; foreach (UPMQuestionnaireQuestion currentQuestion in currentGroup.Questions) { if (currentQuestion.Field.Empty) { continue; } insertGroup = true; UPMEditField editField = (UPMEditField)currentQuestion.Field; UPMField field = new UPMStringField(editField.Identifier) { LabelText = editField.LabelText }; if (!editField.Empty) { field.FieldValue = editField.StringDisplayValue; } UPMQuestionnaireQuestion questionnaireQuestion = new UPMQuestionnaireQuestion(field); questionnaireGroup.AddQuestion(questionnaireQuestion); } if (insertGroup) { newPage.AddGroup(questionnaireGroup); } } return(newPage); }
/// <summary> /// Adds the question. /// </summary> /// <param name="question">The question.</param> public void AddQuestion(UPMQuestionnaireQuestion question) { this.AddChild(question); }