Exemple #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>()));
        }
Exemple #2
0
        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);
            }
        }
Exemple #4
0
        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);
        }