コード例 #1
0
        /// <summary>
        /// Construtor padrão.
        /// </summary>
        /// <param name="indicadoresFinanceiros"></param>
        /// <param name="variaveisItem"></param>
        /// <param name="expressoesCalculo"></param>
        /// <param name="custoTotal"></param>
        /// <param name="item"></param>
        internal ResultadoRentabilidade(
            Mathematical.IVariavelCollection indicadoresFinanceiros,
            Mathematical.IVariavelCollection variaveisItem,
            Mathematical.IVariavelCollection expressoesCalculo,
            double custoTotal, IItemRentabilidade item)
        {
            item.Require(nameof(item)).NotNull();

            IndicadoresFinanceiros = new Dictionary <string, decimal>();
            VariaveisItem          = new Dictionary <string, decimal>();
            ExpressoesCalculo      = new Dictionary <string, decimal>();

            foreach (var i in indicadoresFinanceiros)
            {
                IndicadoresFinanceiros.Add(i.Nome, (decimal)i.ObterValor());
            }

            foreach (var i in variaveisItem)
            {
                VariaveisItem.Add(i.Nome, (decimal)i.ObterValor());
            }

            foreach (var i in expressoesCalculo)
            {
                ExpressoesCalculo.Add(i.Nome, (decimal)i.ObterValor());
            }

            CustoTotal = (decimal)custoTotal;
            Item       = item;
        }
コード例 #2
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();
        }