Пример #1
0
        public async Task <string> Calculo_total_categoria(Configuracion configuracion)
        {
            //controladores
            EjecucionCategoriaController controlEjecucionCategoria = new EjecucionCategoriaController(db, userManager);                              //Instancia controlador de EjecucionesCategorias
            NivelsController             controlnivel      = new NivelsController(db, userManager);                                                  //Instancia controlador de Niveles
            CategoriasController         controlCategorias = new CategoriasController(db, userManager);                                              //Instancia controlador de Categorias
            PeriodosController           controlPeriodos   = new PeriodosController(db, userManager);                                                //Instancia controlador de Periodos

            // variables
            List <Periodo> periodos = await controlPeriodos.getAll();                           //Obtiene los periodos

            Nivel nivelMaximo = await controlnivel.getMain();                                   //obtienen la categoria principal

            int nivelaOperar    = System.Convert.ToInt32(configuracion.CalculoNivel);           //obtiene la categoria de la que se tomaran los indicadores a operar
            int MinNivelaOperar = nivelaOperar;

            //------------------------------------------------------------inicia con las categorias de l nivel en el que estan los indicadores

            var categoriasz = await controlCategorias.getFromNivel(nivelaOperar);               //obtiene categorias de menor nivel

            controlEjecucionCategoria.BorrarTodo();                                             //borra la base de datos
            var resp = await Calcular_categoria_menor(categoriasz, periodos);                   // calcula la categoria de menor nivel

            nivelaOperar = nivelaOperar - 1;

            while (nivelaOperar >= nivelMaximo.numero)
            {
                categoriasz = await controlCategorias.getFromNivel(nivelaOperar);
                await Calcular_categorias_nivel_n(categoriasz, periodos, MinNivelaOperar);

                nivelaOperar = nivelaOperar - 1;
            }



            var carro = "mio";

            return(carro);
        }