示例#1
0
        public IEnumerable <ModelReference <IQuestionnaireOutputItem> > GetAll()
        {
            var existingQuestionnaires = m_domainItemLocator
                                         .GetAll <IQuestionnaireOutputItem>();

            if (!existingQuestionnaires.Any())
            {
                var examples = m_definitionLoader.Load();
                foreach (var example in examples)
                {
                    m_astCreator.Create(example);
                }

                var questionnaireRefs = m_domainItemLocator
                                        .GetAllRefs <IQuestionnaireRootNode>();

                foreach (var questionnaireRootNode in questionnaireRefs)
                {
                    if (m_modelCreator.Validate(questionnaireRootNode))
                    {
                        m_modelCreator.Create(questionnaireRootNode);
                    }
                }

                existingQuestionnaires = m_domainItemLocator
                                         .GetAll <IQuestionnaireOutputItem>();
            }

            return(existingQuestionnaires
                   .Select(x => x.ToModel <IQuestionnaireOutputItem>()));
        }
示例#2
0
        public void Execute(LoadQuestionnaireDefinitionsCommand command)
        {
            var definitions = m_definitionLoader.Load(command.Path);

            foreach (var definition in definitions)
            {
                m_questionnaireAstCreator.Create(definition);
            }
        }