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