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); }
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); } }