Esempio n. 1
0
        public void Update(DomainId <IQuestionNode> node, dynamic value)
        {
            m_symbolTable.Update(node.Id, value);
            m_calculationService.UpdateCalculations();
            var root = m_domainItemLocator.GetRoot(node);

            m_questionnaireOutputCreator.CreateOrUpdate(root);
        }
Esempio n. 2
0
        public void UpdateCalculations()
        {
            var calculationQuestions = m_domainItemLocator
                                       .GetAll <ICalculatedQuestionNode>()
                                       .ToList();

            foreach (var calculatedQuestion in calculationQuestions)
            {
                var calculation = calculatedQuestion.CalculatedValue;
                var result      = m_calculationVisitor.Calculate(calculation);
                m_symbolTable.Update(calculatedQuestion.Id, result);
            }
        }