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 DomainId <IStyledQuestionnaireOutputItem> Build( DomainId <IStyleSheetRootNode> node) { dynamic d = node; this.Visit(d); return(m_domainItemLocator .GetAllRefs <IStyledQuestionnaireOutputItem>() .FirstOrDefault()); }
public void Execute(UpdateValuesCommand command) { foreach (var question in command.Questionnaire.Questions) { if (question.ReadOnly) { continue; } if (question.Value == null) { continue; } var questionRef = m_domainItemLocator .GetAllRefs <IQuestionNode>() .FirstOrDefault(x => x.Id == question.QuestionVariableId); m_variableUpdater.Update(questionRef, question.Value); } }
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); }