public async Task <ActionResult> Indicadorpop(int indicadorid = 0, string tipo = "", string mensaje = "") { IndicadorsController controlIndicador = new IndicadorsController(db, userManager); ResponsablesController controlResponsable = new ResponsablesController(db, userManager); ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager); int ID = Convert.ToInt32(indicadorid); Indicador indicador = await controlIndicador.getFromId(ID); if (User.Identity.Name != null) { var userFull = await userManager.FindByEmailAsync(User.Identity.Name); // obtiene las categorias var idsx = controlResponsable.GetAllIdsFromResponsable(userFull.IDDependencia); var notasE = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Nota.Editar" && c.Value == "1")); var super = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Super" && c.Value == "1")); ViewBag.tipo = tipo; ViewBag.mensaje = mensaje; ViewBag.editar = controlConfiguracion.Editable(userFull.IDDependencia, indicador.Categoria, notasE, super); ViewBag.visible = true; ViewBag.configuracion = await controlConfiguracion.Get(); ViewBag.indicador = indicador; ViewBag.userFull = userFull; ViewBag.PermisoResponsable = idsx; } else { Configuracion config = await controlConfiguracion.Get(); ViewBag.tipo = tipo; ViewBag.mensaje = mensaje; ViewBag.editar = false; ViewBag.userFull = false; ViewBag.configuracion = config; ViewBag.visible = config.libre; ViewBag.PermisoResponsable = false; } var notas = await db.NotaIndicador.Include(n => n.Indicador).Include(n => n.User).Where(n => n.IdIndicador == ID).OrderByDescending(n => n.FechaCreacion).ToListAsync(); return(View(notas.ToList())); }
public async Task <ActionResult> Deletepop(int id) { IndicadorsController controlIndicador = new IndicadorsController(db, userManager); ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager); NotaIndicador nota = await db.NotaIndicador.FindAsync(id); Indicador indicador = await controlIndicador.getFromId(nota.Indicador.id); var userFull = await userManager.FindByEmailAsync(User.Identity.Name); var notasE = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Nota.Editar" && c.Value == "1")); var super = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Super" && c.Value == "1")); ViewBag.editar = controlConfiguracion.Editable(userFull.IDDependencia, indicador.Categoria, notasE, super); ViewBag.visible = true; ViewBag.configuracion = await controlConfiguracion.Get(); ViewBag.indicador = indicador; ViewBag.userFull = userFull; return(View(nota)); }
public async Task <ActionResult> Detailspop(int id) { CategoriasController controlCategoria = new CategoriasController(db, userManager); ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager); Nota nota = await db.Nota.FindAsync(id); Categoria categoria = await controlCategoria.getFromId(nota.Categoria.id); if (User.Identity.Name != null) { var userFull = await userManager.FindByEmailAsync(User.Identity.Name); var notasE = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Nota.Editar" && c.Value == "1")); var super = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Super" && c.Value == "1")); ViewBag.editar = controlConfiguracion.Editable(userFull.IDDependencia, categoria, notasE, super); ViewBag.visible = true; ViewBag.configuracion = await controlConfiguracion.Get(); ViewBag.categoria = categoria; ViewBag.userFull = userFull; } else { Configuracion config = await controlConfiguracion.Get(); ViewBag.editar = false; ViewBag.userFull = false; ViewBag.configuracion = config; ViewBag.visible = config.libre; } return(View(nota)); }
public async Task <bool> Evaluar() { ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager); var configuracion = await controlConfiguracion.Get(); if (configuracion.PonderacionTipo == "PonderacionRelativa") { //PonderacionRelativa ponderacion = new PonderacionRelativa(); // var casa = ponderacion.Calculo_total_categoria(configuracion); } if (configuracion.PonderacionTipo == "PonderacionAbsoluta") { PonderacionAbsoluta ponderacion = new PonderacionAbsoluta(db, userManager); var casa = await ponderacion.Calculo_total_categoria(configuracion); } if (configuracion.PonderacionTipo == "PonderacionAbsolutaVacios") { PonderacionAbsolutaVacios ponderacion = new PonderacionAbsolutaVacios(db, userManager); var casa = await ponderacion.Calculo_total_categoria(configuracion); } return(true); }
public async Task <ActionResult> IndicadoresCategoria(String numero, String id, String periodo, string alto, string ancho, string titulo, string tipo) { ConfiguracionsController controlConfiguración = new ConfiguracionsController(db, userManager); Configuracion config = await controlConfiguración.Get(); var Numero = Int32.Parse(numero); string IdCategoria = id; var IdPeriodo = Int32.Parse(periodo); ViewBag.id = IdCategoria; ViewBag.Numero = Numero; ViewBag.alto = alto; ViewBag.ancho = ancho; ViewBag.titulo = titulo; ViewBag.periodo = periodo; ViewBag.tipo = tipo; return(View("~/Views/Widget/IndicadoresCategoria.cshtml")); }
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)); }
public async Task <ActionResult> CategoriaInfo(String numero, String id, String periodo, string alto, string ancho, string titulo, string tipo) { ConfiguracionsController controlConfiguración = new ConfiguracionsController(db, userManager); CategoriasController controlCategoria = new CategoriasController(db, userManager); IndicadorsController controlIndicador = new IndicadorsController(db, userManager); PeriodosController controlPeriodo = new PeriodosController(db, userManager); Configuracion config = await controlConfiguración.Get(); var Numero = Int32.Parse(numero); var IdCategoria = Int32.Parse(id); var IdPeriodo = Int32.Parse(periodo); Categoria categoria = await controlCategoria.getFromId(IdCategoria); //hijos var hijos = await controlCategoria.getFromCategoria(categoria.id); if (hijos.Count > 0) { ViewBag.nombreHijos = hijos[0].Nivel.nombre; ViewBag.numeroHijos = hijos.Count; } //ponderador if (config.PonderacionTipo == "PonderacionAbsoluta") { PonderacionAbsoluta pond = new PonderacionAbsoluta(db, userManager); categoria.Ponderador = await pond.CategoriaPonderador(categoria.id); //80 } //indicadores var indi = await controlIndicador.getFromCategoria(categoria.id); var indicadores = indi.Where(n => n.ponderador > 0); if (indicadores.Count() > 0) { ViewBag.numeroIndicadores = indicadores.Count(); } else { ViewBag.numeroIndicadores = await controlCategoria.NumeroIndicadores(categoria.id); //81 } //numero de indicadores en cada evaluacion del último periodo reportado if (IdPeriodo != 0) { // var LastPeriodoReport = COntrolPeriodos.UltimoPeriodoRepFromSubtotal(IdPeriodo); ViewBag.periodo = await controlPeriodo.GetFromId(IdPeriodo); var periodoSubtotal = await controlPeriodo.GetSubtotalFromPeriodo(IdPeriodo); if (periodoSubtotal > 0) { ViewBag.periodoSubtotal = await db.Periodo.FindAsync(periodoSubtotal); } } ViewBag.Numero = Numero; ViewBag.alto = alto; ViewBag.ancho = ancho; ViewBag.titulo = titulo; //ViewBag.periodo = periodo; ViewBag.tipo = tipo; return(View(categoria)); }