/// <summary> /// Executa a preparação dos parametros da calculadora. /// </summary> public void Preparar() { _variaveisIndicadoresFinanceiro = CriarIndicadoresFinanceiros(); _variaveisCalculo = CriarVariaveisCalculo(); var formula = Calculo.Formula; if (string.IsNullOrEmpty(formula)) { formula = "0"; } // Monta a formula do calculo com a soma das expressões _formulaCalculo = new Mathematical.Formula("f1", formula, _variaveisCalculo); _formulaCalculo.Compilar(); }
/// <summary> /// Cria as variáveis para as expressões de calculo. /// </summary> /// <returns></returns> private Mathematical.IVariavelCollection CriarVariaveisCalculo() { var agregador = new Mathematical.AggregateVariavelCollection(); agregador.Add(CriarIndicadoresFinanceiros()); agregador.Add(CriarVariaveisItem(new ItemRentabilidadeFake())); foreach (var i in Calculo.Expressoes.Select(f => new Mathematical.Constante(f.Nome, 0.0))) { agregador.Add(i); } var formulas = new List <Mathematical.Formula>(); foreach (var expressao in Calculo.Expressoes) { var formula = new Mathematical.Formula(expressao.Nome, expressao.Texto, agregador); formula.Compilar(); formulas.Add(formula); } return(new Mathematical.VariavelCollection(formulas)); }