//8 public DatosResumen[] ReporteGeneralResumen(DateTime pFechaI, DateTime pFechaF) { Dictionary <DateTime, DatosResumen> TempDict = new Dictionary <DateTime, DatosResumen>(); List <DatosAgenda> TempList1 = Handler.ReporteGeneralDetalladoAE(pFechaI.Date, pFechaF.Date); List <DatosProcesos> TempList2 = Handler.ReporteGeneralDetalladoIP(pFechaI.Date, pFechaF.Date); foreach (DatosAgenda i in TempList1) { int Suma = i.Codi_Entidad + i.CodAntSucursal + i.CorreoElectronico + i.Direccion + i.Fax + i.Nombre + i.SitioWeb + i.Telefono; DatosResumen TemDat = new DatosResumen(this.Nombre, "Todos", 0, Suma, i.Fecha.Date); TempDict.Add(TemDat.Fecha.Date, TemDat); } foreach (DatosProcesos i in TempList2) { if (TempDict.ContainsKey(i.Fechap.Date)) { TempDict[i.Fechap.Date].Inf_procesos += i.Solicitudes; } else { DatosResumen TemDat = new DatosResumen(this.Nombre, "Todos", i.Solicitudes, 0, i.Fechap.Date); TempDict.Add(TemDat.Fecha.Date, TemDat); } } DatosResumen[] Result = new DatosResumen[TempDict.Count]; TempDict.Values.CopyTo(Result, 0); return(Result); }
public ActionResult Resumen(int?id = 0, string inicio = null, string fin = null) { var area = new Area(); area.id_area = 0; area.nombre = "--Seleccione un area--"; var areas = new List <Area>(); areas.Add(area); IndResumen lista_d; IndResumen lista_g; var datos = new DatosResumen(); datos.lista_desempeño = new List <IndResumen>(); datos.lista_gestion = new List <IndResumen>(); ViewBag.id = id; ViewBag.inicio = inicio; ViewBag.fin = fin; int total_g = 0; int total_d = 0; int v_g = 0; int a_g = 0; int r_g = 0; int v_d = 0; int a_d = 0; int r_d = 0; ViewBag.ruta = "/SIDEVIC/Content/img/profilepicture.jpg"; if (id != 0 && inicio != null && fin != null) { var dire = db.Area.Where(a => a.id_area == id).ToList().FirstOrDefault(); datos.titular = dire.Persona.nombre; datos.ubicacion = dire.direccion; datos.correo = dire.correo; datos.telefono = dire.telefono; if (dire.Persona.ruta_foto != null) { ViewBag.ruta = dire.Persona.ruta_foto; } var inda = db.Indicador_area.Where(i => i.id_area == id).ToList(); foreach (var i in inda) { var evs = db.Evaluacion.Where(e => e.id_indicador == i.id_indicador).ToList().FirstOrDefault(); if (evs != null && DateTime.Parse(evs.fecha.Day + "/" + evs.fecha.Month + "/" + evs.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(evs.fecha.Day + "/" + evs.fecha.Month + "/" + evs.fecha.Year) <= DateTime.Parse(fin)) { if (evs.Indicador.Tipo_indicador.nombre == "Gestion") { if (datos.lista_gestion.Where(lg => lg.tema == evs.Indicador.Tema.nombre).FirstOrDefault() == null) { lista_g = new IndResumen(); lista_g.eje = evs.Indicador.Tema.Eje.nombre; lista_g.tema = evs.Indicador.Tema.nombre; var tot = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_g.tema && e.Indicador.Tipo_indicador.nombre == "Gestion").ToList(); var totv = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_g.tema && e.Indicador.Tipo_indicador.nombre == "Gestion" && e.evaluacion1 == "VERDE").ToList(); var tota = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_g.tema && e.Indicador.Tipo_indicador.nombre == "Gestion" && e.evaluacion1 == "AMARILLO").ToList(); var totr = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_g.tema && e.Indicador.Tipo_indicador.nombre == "Gestion" && e.evaluacion1 == "ROJO").ToList(); var ctot = tot.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctotv = totv.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctota = tota.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctotr = totr.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); lista_g.total = ctot; lista_g.verdes = ctotv; lista_g.amarillos = ctota; lista_g.rojos = ctotr; datos.lista_gestion.Add(lista_g); } total_g++; if (evs.evaluacion1 == "VERDE") { v_g++; } if (evs.evaluacion1 == "AMARILLO") { a_g++; } if (evs.evaluacion1 == "ROJO") { r_g++; } } if (evs.Indicador.Tipo_indicador.nombre == "Desempeno") { if (datos.lista_desempeño.Where(lg => lg.tema == evs.Indicador.Tema.nombre).FirstOrDefault() == null) { lista_d = new IndResumen(); lista_d.eje = evs.Indicador.Tema.Eje.nombre; lista_d.tema = evs.Indicador.Tema.nombre; var tot = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_d.tema && e.Indicador.Tipo_indicador.nombre == "Desempeno").ToList(); var totv = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_d.tema && e.Indicador.Tipo_indicador.nombre == "Desempeno" && e.evaluacion1 == "VERDE").ToList(); var tota = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_d.tema && e.Indicador.Tipo_indicador.nombre == "Desempeno" && e.evaluacion1 == "AMARILLO").ToList(); var totr = db.Evaluacion.Where(e => e.Indicador.Tema.nombre == lista_d.tema && e.Indicador.Tipo_indicador.nombre == "Desempeno" && e.evaluacion1 == "ROJO").ToList(); var ctot = tot.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctotv = totv.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctota = tota.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); var ctotr = totr.Where(to => DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) >= DateTime.Parse(inicio) && DateTime.Parse(to.fecha.Day + "/" + to.fecha.Month + "/" + to.fecha.Year) <= DateTime.Parse(fin)).Count(); lista_d.total = ctot; lista_d.verdes = ctotv; lista_d.amarillos = ctota; lista_d.rojos = ctotr; datos.lista_desempeño.Add(lista_d); } total_d++; if (evs.evaluacion1 == "VERDE") { v_d++; } if (evs.evaluacion1 == "AMARILLO") { a_d++; } if (evs.evaluacion1 == "ROJO") { r_d++; } } } } datos.cantidad_gestion = total_g; datos.cantidad_desempeño = total_d; datos.cantidad_v_g = v_g; datos.cantidad_a_g = a_g; datos.cantidad_r_g = r_g; datos.cantidad_v_d = v_d; datos.cantidad_a_d = a_d; datos.cantidad_r_d = r_d; foreach (var ar in db.Area.ToList()) { areas.Add(ar); } ViewBag.id_area = new SelectList(areas, "id_area", "nombre", id); return(View(datos)); } foreach (var ar in db.Area.ToList()) { areas.Add(ar); } ViewBag.id_area = new SelectList(areas, "id_area", "nombre", id); return(View(datos)); }
public ActionResult Resumen(int?id = 0, string inicio = null, string fin = null) { var area = new Area(); area.id_area = 0; area.nombre = "--Seleccione un area--"; var areas = new List <Area>(); areas.Add(area); IndResumen lista_d; IndResumen lista_g; areasa_cargo aac; var datos = new DatosResumen(); datos.lista_desempeño = new List <IndResumen>(); datos.lista_gestion = new List <IndResumen>(); datos.areas = new List <areasa_cargo>(); ViewBag.id = id; ViewBag.inicio = inicio; ViewBag.fin = fin; int v_g = 0; int a_g = 0; int r_g = 0; int v_d = 0; int a_d = 0; int r_d = 0; ViewBag.ruta = "/SIDEVIC/Content/img/profilepicture.jpg"; if (id != 0) { var dire = db.Area.Where(a => a.id_area == id).ToList().FirstOrDefault(); datos.titular = dire.Persona.nombre; datos.ubicacion = dire.direccion; datos.correo = dire.correo; datos.telefono = dire.telefono; var dat_d = db.Area_Cargo.Where(aa => aa.id_persona == dire.id_persona).ToList(); if (dat_d != null) { foreach (var dat_dire in dat_d) { aac = new areasa_cargo(); aac.area = dat_dire.nombre; datos.areas.Add(aac); } } if (dire.Persona.ruta_foto != null) { ViewBag.ruta = dire.Persona.ruta_foto; } var gest = db.Indicador_area.Where(ar => ar.id_area == id && ar.Indicador.Tipo_indicador.nombre == "Gestion").ToList().Count(); datos.cantidad_gestion = gest; var desemp = db.Indicador_area.Where(ar => ar.id_area == id && ar.Indicador.Tipo_indicador.nombre == "Desempeno").ToList().Count(); datos.cantidad_desempeño = desemp; var indi_a = db.Indicador_area.Where(inda => inda.id_area == id).ToList(); if (indi_a != null) { foreach (var act in indi_a) { if (act.Indicador.Tipo_indicador.nombre == "Gestion") { lista_g = new IndResumen(); lista_g.eje = act.Indicador.Tema.Eje.nombre; lista_g.tema = act.Indicador.Tema.nombre; lista_g.indicador = act.Indicador.nombre; lista_g.total = 0; lista_g.verdes = 0; lista_g.amarillos = 0; lista_g.rojos = 0; var eva = db.Evaluacion.Where(ev_a => ev_a.id_indicador == act.id_indicador).FirstOrDefault(); if (eva != null) { lista_g.total = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador).ToList().Count(); lista_g.verdes = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "VERDE").ToList().Count(); lista_g.amarillos = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "AMARILLO").ToList().Count(); lista_g.rojos = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "ROJO").ToList().Count(); } if (act.Indicador.pmd == true) { lista_g.pmd = "Si"; } else { lista_g.pmd = "No"; } datos.lista_gestion.Add(lista_g); v_g += lista_g.verdes; a_g += lista_g.amarillos; r_g += lista_g.rojos; } if (act.Indicador.Tipo_indicador.nombre == "Desempeno") { lista_d = new IndResumen(); lista_d.eje = act.Indicador.Tema.Eje.nombre; lista_d.tema = act.Indicador.Tema.nombre; lista_d.indicador = act.Indicador.nombre; lista_d.total = 0; lista_d.verdes = 0; lista_d.amarillos = 0; lista_d.rojos = 0; var eva = db.Evaluacion.Where(ev_a => ev_a.id_indicador == act.id_indicador).FirstOrDefault(); if (eva != null) { lista_d.total = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador).ToList().Count(); lista_d.verdes = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "VERDE").ToList().Count(); lista_d.amarillos = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "AMARILLO").ToList().Count(); lista_d.rojos = db.Evaluacion.Where(ev_a => ev_a.id_indicador == eva.id_indicador && ev_a.evaluacion1 == "ROJO").ToList().Count(); } if (act.Indicador.pmd == true) { lista_d.pmd = "Si"; } else { lista_d.pmd = "No"; } datos.lista_desempeño.Add(lista_d); v_d += lista_d.verdes; a_d += lista_d.amarillos; r_d += lista_d.rojos; } } } datos.cantidad_v_g = v_g; datos.cantidad_a_g = a_g; datos.cantidad_r_g = r_g; datos.cantidad_v_d = v_d; datos.cantidad_a_d = a_d; datos.cantidad_r_d = r_d; foreach (var ar in db.Area.ToList()) { areas.Add(ar); } ViewBag.id_area = new SelectList(areas, "id_area", "nombre", id); return(View(datos)); } foreach (var ar in db.Area.ToList()) { areas.Add(ar); } ViewBag.id_area = new SelectList(areas, "id_area", "nombre", id); return(View(datos)); }