public async Task <ActionResult> CategoriaTrimestral(String numero, String id, String periodo, string alto, string ancho, string titulo, string tipo) { EjecucionCategoriaController controlEjecucionCategoria = new EjecucionCategoriaController(db, userManager); EvaluacionsController controlEvaluacion = new EvaluacionsController(db); var Numero = Int32.Parse(numero); var Id = Int32.Parse(id); var IdPeriodo = Int32.Parse(periodo); var periodoO = await db.Periodo.Where(n => n.id == IdPeriodo).FirstOrDefaultAsync(); List <Object> respuesta = new List <object>(); List <EjecucionCategoria> datos = new List <EjecucionCategoria>(); // var numero = Int32.Parse(Request["posicion"]); // var id = Int32.Parse(Request["id"]); // var Periodo = Int32.Parse(Request["periodo"]); if (periodoO.tipo == "Total") { datos = await controlEjecucionCategoria.GetFromCategoriaYTotal(Id, IdPeriodo); } else { datos = await controlEjecucionCategoria.GetFromCategoriaYSubtotal(Id, IdPeriodo); } //======================================== obtiene los semanoforos=============================== List <Evaluacion> evaluaciones = await controlEvaluacion.Get(Id, "Categotia"); var semaforos = controlEvaluacion.SetEvaluacionCategoria(datos, evaluaciones); //======================================== obtiene los semanoforos=============================== int ndato = 0; foreach (EjecucionCategoria dato in datos) { object[] EjecucionconSemaforo = { dato, semaforos[ndato] }; respuesta.Add(EjecucionconSemaforo); ndato++; } ViewBag.Numero = Numero; ViewBag.alto = alto; ViewBag.ancho = ancho; ViewBag.titulo = titulo; ViewBag.periodo = periodo; ViewBag.tipo = tipo; ViewBag.Ejecuciones = respuesta; return(View()); }
public async Task <ActionResult> Resumen(int ID) { EjecucionCategoriaController controladorEjecuciones = new EjecucionCategoriaController(db, userManager); NotasController controlnotas = new NotasController(db, userManager); ConfiguracionsController controlconfigutacion = new ConfiguracionsController(db, userManager); Configuracion config = await controlconfigutacion.Get(); EvaluacionsController controlEvaluacion = new EvaluacionsController(db); List <Object> respuesta = new List <object>(); List <EjecucionCategoria> listaEjecuciones = new List <EjecucionCategoria>(); var categoria = await getFromId(ID); //retoma la categoria por id desde la base de datos //if (categoria == null) { return new HttpStatusCodeResult(404, "no se encuentran categoria"); } //error generado si no se encuentra la categoria if (config.PonderacionTipo == "PonderacionAbsoluta") { PonderacionAbsoluta pond = new PonderacionAbsoluta(db, userManager); categoria.Ponderador = await pond.CategoriaPonderador(ID); } int notasAbiertas = await controlnotas.NumeroNotasEstadoCategoriaId(ID, "Abierta"); int notasCerradas = await controlnotas.NumeroNotasEstadoCategoriaId(ID, "Cerrada"); ViewBag.notasAbiertas = notasAbiertas; ViewBag.notasCerradas = notasCerradas; listaEjecuciones = await controladorEjecuciones.GetFromCategoria(categoria.id); //======================================== obtiene los semanoforos=============================== List <Evaluacion> evaluaciones = await controlEvaluacion.Get(categoria.id, "Categotia"); var semaforos = controlEvaluacion.SetEvaluacionCategoria(listaEjecuciones, evaluaciones); //======================================== obtiene los semanoforos=============================== object[] CategoriaConejecuciones = { categoria, listaEjecuciones, semaforos }; respuesta.Add(CategoriaConejecuciones); ViewBag.categorias = respuesta; //-----------------------------Campos adicionales Inicio List <CampoValor> campos = new List <CampoValor>(); var Campos = db.Campo.Where(m => m.NivelPadre.id == categoria.Nivel.id || m.TodaCategoria == true).ToList(); foreach (Campo campon in Campos) { CampoValor cp = new CampoValor(); cp.Campo = campon; cp.Valor = db.ValorCampo.Where(m => m.CampoPadre.Id == campon.Id && m.CategoriaPadre.id == categoria.id).FirstOrDefault(); campos.Add(cp); } ViewBag.campos = campos; //-----------------------------Campos adicionales Fin return(View(respuesta)); }