Пример #1
0
        public void IndicadorMasCuentaPorValor()
        {
            Indicador indicadorTest = new Indicador();

            indicadorTest.Formula = "cuenta * 10";
            indicadorTest.Nombre  = "ind";
            Cuenta cuenta = new Cuenta();

            cuenta.Nombre = "cuenta";
            cuenta.Valor  = 50;
            Indicador indicador2 = new Indicador();

            indicador2.Formula = "ind + 25";
            Empresa empresa = new Empresa();
            Balance bal     = new Balance();

            bal.Empresa = empresa;
            bal.Periodo = 2017;
            bal.Cuentas.Add(cuenta);
            empresa.Balances.Add(bal);

            List <ComponenteOperando> lista = new List <ComponenteOperando>();

            lista.Add(cuenta);
            lista.Add(indicadorTest);
            int    periodo = 2017;
            double result  = indicador2.ObtenerValor(empresa, periodo, lista);

            Assert.AreEqual(result, 525);
        }
Пример #2
0
        public void SumaSoloCuenta()
        {
            Indicador indicadorTest = new Indicador();

            indicadorTest.Formula = "18 + terd";
            indicadorTest.Nombre  = "ind";
            Cuenta cuenta = new Cuenta();

            cuenta.Nombre = "terd";
            cuenta.Valor  = 50;

            Empresa empresa = new Empresa();
            Balance bal     = new Balance();

            bal.Empresa = empresa;
            bal.Periodo = 2017;
            bal.Cuentas.Add(cuenta);
            empresa.Balances.Add(bal);

            List <ComponenteOperando> lista = new List <ComponenteOperando>();

            lista.Add(cuenta);
            lista.Add(indicadorTest);
            int    periodo = 2017;
            double result  = indicadorTest.ObtenerValor(empresa, periodo, lista);

            Assert.AreEqual(result, 68);
        }
Пример #3
0
        public double EvaluarIndicadorParaEmpresa(int idIndicador, string cuit, int periodo, List <Indicador> indicadoresDelUsuario)
        {
            //Obtengo el indicador y empresa solicitada
            Indicador       indicador = GetById(idIndicador);
            EmpresasService empSv     = new EmpresasService(db);
            Empresa         empresa   = empSv.GetByCUIT(cuit);
            //Aplico el indicador, es decir, hay que parsear la formula
            List <ComponenteOperando> listaOperandos = new List <ComponenteOperando>();

            listaOperandos.AddRange(db.Operandos.OfType <Cuenta>());
            listaOperandos.AddRange(indicadoresDelUsuario);
            double valorTrasAplicarIndicador = indicador.ObtenerValor(empresa, periodo, listaOperandos);

            return(valorTrasAplicarIndicador);
        }