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