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>())); }
public void Execute(LoadQuestionnaireDefinitionsCommand command) { var definitions = m_definitionLoader.Load(command.Path); foreach (var definition in definitions) { m_questionnaireAstCreator.Create(definition); } }
public void Execute(CreateDefinitionFromTextCommand command) { m_astCreator.Create(command.DefinitionText); var questionnaireRef = m_domainItemLocator .GetAllRefs <IQuestionnaireRootNode>() .FirstOrDefault(); var isValid = m_questionnaireTypeChecker .Validate(questionnaireRef); if (!isValid) { var errorMessage = string.Join( Environment.NewLine, m_questionnaireTypeChecker .Results .Select(x => x.Message)); throw new QlValidationException(errorMessage, null); } m_outputCreator.CreateOrUpdate(questionnaireRef); }
public void Execute(CreateQuestionnaireCommandMessage command) { m_questionnaireAstCreator.Create(command.Text); }