private void HandleStatements(IEnumerable <DomainId <IStatementNode> > statements) { foreach (var statement in statements) { if (m_domainItemLocator.Exists <IUserInputQuestionNode>(statement.Id)) { Visit(new DomainId <IUserInputQuestionNode>(statement.Id)); } else if (m_domainItemLocator.Exists <ICalculatedQuestionNode>(statement.Id)) { Visit(new DomainId <ICalculatedQuestionNode>(statement.Id)); } else if (m_domainItemLocator.Exists <IConditionalStatementNode>(statement.Id)) { Visit(new DomainId <IConditionalStatementNode>(statement.Id)); } } }
public Reference <IQuestionnaireOutputItem> Visit( Reference <IQuestionnaireRootNode> questionnaireNode) { var node = questionnaireNode .ToDomainItem(m_domainItemLocator); var questions = new List <Reference <IQuestionOutputItem> >(); foreach (var statement in node.Statements) { if (m_domainItemLocator.Exists <IUserInputQuestionNode>(statement.Id)) { var domainItem = m_domainItemLocator .GetRef <IUserInputQuestionNode>(statement.Id); var questionRef = Visit(domainItem); questions.Add(questionRef); } } return(m_outputItemFactory.CreateQuestionnaireOutputItem( node.QuestionnaireName, questions)); }