public static List <DEPARTAMENTO> ListadoPlanGobierno(int?iDepartamentoId) { int iLegislaturaId = LEGISLATURA.GetActualLegislatura(); List <DEPARTAMENTO> list = new List <DEPARTAMENTO>(); using (Entities c = new Entities()) { c.Configuration.LazyLoadingEnabled = false; if (iDepartamentoId.HasValue) { list = c.DEPARTAMENTO.Include("CONTENIDO").Where(st => st.LEGISLATURA_ID == iLegislaturaId && st.DEPARTAMENTO_ID == iDepartamentoId && st.VISIBLE == true).ToList(); } else { list = c.DEPARTAMENTO.Include("CONTENIDO").Where(st => st.LEGISLATURA_ID == iLegislaturaId && st.VISIBLE == true).ToList(); } return(list); } }
public static decimal GetPorcentajeGlobalCumplimiento() { using (Entities c = new Entities()) { c.Configuration.ProxyCreationEnabled = false; int iLegActual = LEGISLATURA.GetActualLegislatura(); var results = c.DEPARTAMENTO.Where(d => d.LEGISLATURA_ID == iLegActual && d.VISIBLE == true).ToList().OrderBy(d => d.ORDEN); decimal dPorcentajeAvanceAcumulado = 0; int iNumDptos = 0; foreach (DEPARTAMENTO dep in results) { if (dep.PORCENTAJE_AVANCE_CALCULADO.HasValue) { dPorcentajeAvanceAcumulado += dep.PORCENTAJE_AVANCE_CALCULADO.Value; } iNumDptos++; } return(Math.Round(Decimal.Divide(dPorcentajeAvanceAcumulado, iNumDptos), 0)); } }
public static DataSet Informe(int?iDepartamentoId, string pathXmlSchema, int?iLegislaturaId) { using (Entities c = new Entities()) { List <DEPARTAMENTO> dptos = null; if (iDepartamentoId.HasValue) { dptos = c.DEPARTAMENTO.Where(st => st.DEPARTAMENTO_ID == iDepartamentoId.Value).ToList(); } else { if (iLegislaturaId.HasValue) { dptos = c.DEPARTAMENTO.Where(st => st.LEGISLATURA_ID == iLegislaturaId.Value).OrderBy(st => st.ORDEN).ToList(); } else { int iLegActual = LEGISLATURA.GetActualLegislatura(); dptos = c.DEPARTAMENTO.Where(st => st.LEGISLATURA_ID == iLegActual).OrderBy(st => st.ORDEN).ToList(); } } DataSet ds = new DataSet(); ds.ReadXmlSchema(pathXmlSchema); foreach (DEPARTAMENTO dep in dptos) { List <OBJETIVO> objetivos; objetivos = c.CONTENIDO.OfType <OBJETIVO>().Where(st => st.DEPARTAMENTO_ID == dep.DEPARTAMENTO_ID && st.VISIBLE == true).OrderBy(st => st.OBJETIVO_ESTRATEGICO).ToList(); foreach (OBJETIVO obj in objetivos) { List <ACCION> acciones; acciones = c.CONTENIDO.OfType <ACCION>().Where(st => st.DEPARTAMENTO_ID == dep.DEPARTAMENTO_ID && st.OBJETIVO_CONTENIDO_ID == obj.CONTENIDO_ID && st.VISIBLE == true).OrderBy(st => st.INSTRUMENTOS_ACT).ToList(); foreach (ACCION acc in acciones) { DataRow dr = ds.Tables[0].NewRow(); dr[0] = dep.DESCRIPCION; dr[1] = obj.OBJETIVO_ESTRATEGICO; dr[2] = acc.INSTRUMENTOS_ACT; dr[3] = acc.ORGANO_RESPONSABLE; dr[4] = acc.RECURSOS_HUMANOS; dr[5] = acc.COSTE_ECONOMICO; dr[6] = acc.MEDIOS_OTROS; dr[7] = acc.TEMPORALIDAD; dr[8] = acc.SEGUIMIENTO; //dr[9] = acc.ESTADOS_SEGUIMIENTO.DESCRIPCION; dr[9] = ""; if (acc.FECHA_MODIFICACION.HasValue) { dr[10] = acc.FECHA_MODIFICACION.Value.ToShortDateString(); } else { dr[10] = acc.FECHA_CREACION.ToShortDateString(); } dr[11] = dep.ORDEN; if (acc.PORCENTAJE_AVANCE.HasValue) { dr[12] = acc.PORCENTAJE_AVANCE; } else if (acc.ESTADOS_SEGUIMIENTO != null) { dr[12] = acc.ESTADOS_SEGUIMIENTO.DESCRIPCION; } ds.Tables[0].Rows.Add(dr); } } } return(ds); } }