Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
        /// <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));
        }