public void CreaLegislatura() { using (Entities c = new Entities()) { l = new LEGISLATURA() { DESCRIPCION = "Legislatura Desde Test" }; c.LEGISLATURA.Add(l); } }
protected void Page_Load(object sender, EventArgs e) { StringBuilder htmlText = new StringBuilder(); if (!IsPostBack) { bool bSinMarcoEnDrupal = false; //Si especificamos el parametro d cargaremos los enlaces para apuntar directamente a la página de Drupal if (Request["d"] != null) { bSinMarcoEnDrupal = true; } // Check to see if the startup script is already registered. //if (!cs.IsStartupScriptRegistered(cstype, csname1)) { 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); string sProgBarId = ""; string sLinkDep = ""; decimal decProg; decimal decTL; int iObjetivosSinIniciar = 0; int iObjetivosIniciados = 0; int iObjetivosTerminados = 0; int iNumAcciones = 0; int iNumObjetivos = 0; int iSumaPorcenajesAvanceAcciones = 0; decimal dPorcSinIniciar = 0; decimal dPorcIniciados = 0; decimal dPorcTerminados = 0; decimal dPorcIndiceGlobalCumplimiento = 0; //decimal dObjetivosEnMarcha; LEGISLATURA.GetDatosCuadroMando(out decTL, out iObjetivosSinIniciar, out iObjetivosIniciados, out iObjetivosTerminados, out iSumaPorcenajesAvanceAcciones, out iNumAcciones, out iNumObjetivos, out dPorcSinIniciar, out dPorcIniciados, out dPorcTerminados, out dPorcIndiceGlobalCumplimiento); htmlText.Append("<div class='cont-progress-bar-sinmarco' style='width:99%' title='" + dPorcIndiceGlobalCumplimiento + "% índice global de cumplimiento. " + decTL + "% Legislatura completada'>Índice global de cumplimiento"); htmlText.Append("<div class='progress'>"); if (dPorcIndiceGlobalCumplimiento >= decTL) { htmlText.Append("<div class='progress-bar-marca-leg-sup' style='width: " + decTL + "%' title='" + dPorcIndiceGlobalCumplimiento + "% Índice global de cumplimiento. " + decTL + "% Legislatura completada'></div>"); htmlText.Append("<div class='progress-bar progress-bar-striped active-sup' style='background-color: #a2c451; width: " + dPorcIndiceGlobalCumplimiento + "%;'>" + dPorcIndiceGlobalCumplimiento + "%</div>"); } else { htmlText.Append("<div class='progress-bar-marca-leg' style='width: " + decTL + "%' title='" + decTL + "% Legislatura completada'></div>"); htmlText.Append("<div class='progress-bar progress-bar-striped active' style='background-color: #a2c451; width: " + dPorcIndiceGlobalCumplimiento + "%;'>" + dPorcIndiceGlobalCumplimiento + "%</div>"); } htmlText.Append("</div></div>"); int i = 1; foreach (DEPARTAMENTO dep in results) { if (i == 1) { htmlText.Append("<div class='row'>"); } htmlText.Append("<div class='col-sm-4'>"); sProgBarId = "progbar" + dep.DEPARTAMENTO_ID; sLinkDep = "a" + dep.DEPARTAMENTO_ID; decProg = dep.GetEvolucion(); htmlText.Append("<div class='cont-progress-bar' title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. Haga clic para ver el detalle.' onclick='document.getElementById(\"" + sLinkDep + "\").click()'>"); if (bSinMarcoEnDrupal) { htmlText.Append("<a title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. Haga clic para ver el detalle.' class='apg' id=" + sLinkDep + " style='cursor: pointer;' onclick='return handleOnclick(event);' target='_parent' href='//transparencia.aragon.es/content/plan-de-gobierno-detalle-departamento?id=" + dep.DEPARTAMENTO_ID + "'>" + dep.DESCRIPCION + "</a>"); } else { htmlText.Append("<a title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. Haga clic para ver el detalle.' class='apg' id=" + sLinkDep + " style='cursor: pointer;' onclick='return handleOnclick(event);' target='_blank' href='DetalleDepartamento?id=" + dep.DEPARTAMENTO_ID + "'>" + dep.DESCRIPCION + "</a>"); } htmlText.Append("<div class='progress'>"); if (decProg >= decTL) { //Si sobrepasa el % cambiamos el estilo para que se vea la barra htmlText.Append("<div class='progress-bar-marca-leg-sup' style='width: " + decTL + "%' title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. " + decTL + "% Legislatura completada. Haga clic para ver el detalle.'></div>"); htmlText.Append("<div class='progress-bar progress-bar-striped active-sup' title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. Haga clic para ver el detalle.' style='width: " + decProg + "%;'>" + decProg + "%</div>"); } else { htmlText.Append("<div class='progress-bar-marca-leg' style='width: " + decTL + "%' title='" + decTL + "% Legislatura completada'></div>"); htmlText.Append("<div class='progress-bar progress-bar-striped active' title='Plan de Gobierno del Departamento de " + dep.DESCRIPCION + ": " + decProg + "% índice global de cumplimiento. Haga clic para ver el detalle.' style='width: " + decProg + "%;'>" + decProg + "%</div>"); } htmlText.Append("</div></div></div>"); if (i == 3) { i = 1; htmlText.Append("</div>"); } else { i++; } } } this.litBarrasDep.Text = htmlText.ToString(); } } }
protected void Page_Load() { if (Request["id"] == null) { Response.Redirect("AdminPlan.aspx?id=" + getDptoId().ToString(), true); } if (!IsPostBack) { int?iDptoId = null; iDptoId = getDptoId(); //Comprobamos lo primero de todo que la entidad a administrar es la del usuario o es un administrador try { if (!User.IsInRole(AspNetRoles.ADMINISTRADOR) && !User.IsInRole(AspNetRoles.VALIDADOR)) { if (Request["id"] != null) { if (iDptoId != Convert.ToInt32(Request["id"])) { //No autorizado logger.Info("No autorizado en AdminPlan.aspx. Usuario: " + User.Identity.GetUserId() + " Departamento: " + Request["id"]); Response.Redirect("../Default.aspx", true); } } } } catch (Exception ex) { logger.Warn("Error en AdminPlan.aspx (2). Error: " + ex.Message + " " + ex.InnerException); Notificaciones.NotifySystemOps(ex); Response.Redirect("../Default.aspx", true); } using (Entities c = new Entities()) { DEPARTAMENTO dep = c.DEPARTAMENTO.Find(iDptoId); if (dep != null) { LEGISLATURA leg = c.LEGISLATURA.Find(dep.LEGISLATURA_ID); if (!dep.VISIBLE) { if (!User.IsInRole(AspNetRoles.ADMINISTRADOR) && !User.IsInRole(AspNetRoles.VALIDADOR)) { ////No se puede editar un departamento no visible //logger.Info("Editando un departamento no visible. Usuario: " + User.Identity.GetUserId() + " Departamento: " + iDptoId); //Response.Redirect("../Default.aspx", true); } } else if (!leg.ACTUAL) { //if (!User.IsInRole(AspNetRoles.ADMINISTRADOR)) //{ // logger.Info("Editando un departamento de una legislatura no actual. Usuario: " + User.Identity.GetUserId() + " Departamento: " + iDptoId); // Response.Redirect("../Default.aspx", true); //} } //List<ESTADOS_SEGUIMIENTO> tipos = c.ESTADOS_SEGUIMIENTO.ToList(); //tipos.Add(new ESTADOS_SEGUIMIENTO() { ESTADO_SEGUIMIENTO_ID = -1, DESCRIPCION = "Seleccione..." }); //this.ddlEstadoSeguimiento.DataTextField = "DESCRIPCION"; //this.ddlEstadoSeguimiento.DataValueField = "ESTADO_SEGUIMIENTO_ID"; //this.ddlEstadoSeguimiento.DataSource = tipos; //this.ddlEstadoSeguimiento.DataBind(); //this.ddlEstadoSeguimiento.ClearSelection(); //this.ddlEstadoSeguimiento.Items.FindByText("Seleccione...").Selected = true; this.litLegislatura.Text = leg.DESCRIPCION; this.litNombredDEP.Text = dep.DESCRIPCION; this.Title = dep.DESCRIPCION; } else { logger.Info("El departamento no existe (Planes/AdminPlan.aspx)."); Response.Redirect("../Default.aspx", true); } } if (!String.IsNullOrEmpty(Request["e"])) { ErrorMessage = Request["e"]; errorMessage.Visible = true; } else if (!String.IsNullOrEmpty(Request["m"])) { SuccessMessage = Request["m"]; successMessage.Visible = true; } else { ErrorMessage = ""; errorMessage.Visible = false; SuccessMessage = ""; successMessage.Visible = false; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (!String.IsNullOrEmpty(Request["t"])) { string sInforme = Request["t"].ToString(); bool exportacionDirecta = false; bool bFormatoCorrecto = false; string sFormato = ""; if (!String.IsNullOrEmpty(Request["f"])) { sFormato = Request["f"].ToString().ToUpper(); exportacionDirecta = true; } Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; string contentType = string.Empty; string nombreArchivo = string.Empty; byte[] bytes = null; ReportViewer1.ProcessingMode = ProcessingMode.Local; ReportViewer1.AsyncRendering = false; ReportViewer1.SizeToReportContent = true; ReportViewer1.Width = Unit.Percentage(100); ReportViewer1.Height = Unit.Percentage(100); ReportViewer1.LocalReport.EnableHyperlinks = true; ReportViewer1.ZoomMode = ZoomMode.PageWidth; if (sInforme == "plan") { int?id = null; int?LegislaturaId = null; if (!String.IsNullOrEmpty(Request["id"])) { int i; Int32.TryParse(Request["id"], out i); id = i; } if (!String.IsNullOrEmpty(Request["lid"])) { int i; Int32.TryParse(Request["lid"], out i); LegislaturaId = i; } if (id.HasValue) { ReportViewer1.LocalReport.ReportPath = Server.MapPath(@"PlanGobiernoXdpto.rdlc"); } else { ReportViewer1.LocalReport.ReportPath = Server.MapPath(@"PlanGobierno.rdlc"); // ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LegPlanSubreportProcessingEventHandler); } ds = LEGISLATURA.Informe(id, Server.MapPath("informePLGO.xsd"), LegislaturaId); ReportDataSource datasource = new ReportDataSource("DataSetPLGO", ds.Tables["DataTable1"]); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(datasource); nombreArchivo = "PlanDeGobierno"; } if (sFormato == "PDF") { bytes = ReportViewer1.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings); contentType = "application/pdf"; bFormatoCorrecto = true; } else if (sFormato == "XLSX") { bytes = ReportViewer1.LocalReport.Render("EXCELOPENXML", null, out mimeType, out encoding, out extension, out streamIds, out warnings); contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; bFormatoCorrecto = true; } else if (sFormato == "DOCX") { bytes = ReportViewer1.LocalReport.Render("WORDOPENXML", null, out mimeType, out encoding, out extension, out streamIds, out warnings); contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"; bFormatoCorrecto = true; } if (exportacionDirecta && bFormatoCorrecto) { Response.Buffer = true; Response.Clear(); Response.ContentType = contentType; Response.AddHeader("content-disposition", "attachment; filename=" + nombreArchivo + "." + extension); Response.AddHeader("content-length", bytes.Length.ToString()); Response.BinaryWrite(bytes); Response.Flush(); } } } }
protected void Page_Load(object sender, EventArgs e) { if (!(User.IsInRole(AspNetRoles.ADMINISTRADOR)) && !(User.IsInRole(AspNetRoles.VALIDADOR))) { //Intenta acceder un usuario sin permisos logger.Info("No autorizadoError en get_report.aspx. Usuario: " + User.Identity.GetUserId()); } ReportDocument rpt = new ReportDocument(); int?iDptoId = null; try { if (!String.IsNullOrEmpty(Request["id"])) { iDptoId = Convert.ToInt32(Request["id"]); } using (Entities c = new Entities()) { List <DEPARTAMENTO> dptos = null; if (iDptoId.HasValue) { dptos = c.DEPARTAMENTO.Where(st => st.DEPARTAMENTO_ID == iDptoId.Value).ToList(); } else { int iLegActual = LEGISLATURA.GetActualLegislatura(); dptos = c.DEPARTAMENTO.Where(st => st.LEGISLATURA_ID == iLegActual).OrderBy(st => st.ORDEN).ToList(); } int iRow = 0; DataSet ds = new DataSet(); ds.ReadXmlSchema(Server.MapPath("~/App_Code/informePLGO.xsd")); 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; if (acc.FECHA_MODIFICACION.HasValue) { dr[10] = acc.FECHA_MODIFICACION.Value.ToShortDateString(); } else { dr[10] = acc.FECHA_CREACION.ToShortDateString(); } dr[11] = dep.ORDEN; ds.Tables[0].Rows.Add(dr); } } } rpt.Load(MapPath(Request.ApplicationPath + "/AdmPlanes/InformeAdmPlanes.rpt")); rpt.Database.Tables["DataTable1"].SetDataSource(ds); string sFormato = ""; string sNombreArchivo = "EstadoSeguimientoPlanDeGobierno"; if (!String.IsNullOrEmpty(Request["format"])) { sFormato = Request["format"].ToUpper(); } if (String.IsNullOrEmpty(sFormato)) { //por defecto exportamos en PDF rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, sNombreArchivo); } if (sFormato.Equals("PDF")) { rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, sNombreArchivo); } else if (sFormato.Equals("DOC")) { rpt.ExportToHttpResponse(ExportFormatType.WordForWindows, Response, false, sNombreArchivo); } else if (sFormato.Equals("XLS")) { rpt.ExportToHttpResponse(ExportFormatType.Excel, Response, false, sNombreArchivo); } else if (sFormato.Equals("XLSREC")) { rpt.ExportToHttpResponse(ExportFormatType.ExcelRecord, Response, false, sNombreArchivo); } else if (sFormato.Equals("RTF")) { rpt.ExportToHttpResponse(ExportFormatType.RichText, Response, false, sNombreArchivo); } /*else if (sFormato.Equals("XML")) //NO ES COMPATIBLE CON CR10, si que va con CR13 * rpt.ExportToHttpResponse(ExportFormatType.Xml, Response, false, sNombreArchivo); */ } } catch (Exception ex) { logger.Error("Error en AdmPlanes/get_report.aspx get_report(). Error: " + ex.Message + " " + ex.InnerException); } }
protected void Page_Load(object sender, EventArgs e) { HttpContext ctx = HttpContext.Current; ctx.Response.ContentType = "application/json"; if (!String.IsNullOrEmpty(Request["op"])) { string sOperacion = Request["op"].ToString(); string sEcho = ""; int? displayLength = null; int? displayStart = null; int? sortCol = null; string sortOrder = null; if (!String.IsNullOrEmpty(Request["sEcho"])) { sEcho = HttpContext.Current.Request.Params["sEcho"]; } if (!String.IsNullOrEmpty(Request["iDisplayLength"])) { displayLength = int.Parse(HttpContext.Current.Request.Params["iDisplayLength"]); } if (!String.IsNullOrEmpty(Request["iDisplayStart"])) { displayStart = int.Parse(HttpContext.Current.Request.Params["iDisplayStart"]); } if (!String.IsNullOrEmpty(Request["sSortDir_0"])) { sortOrder = HttpContext.Current.Request.Params["sSortDir_0"]; } if (!String.IsNullOrEmpty(Request["iSortCol_0"])) { sortCol = int.Parse(HttpContext.Current.Request.Params["iSortCol_0"]); } if (sOperacion == "O") { //Carga de Objetivo y sus Acciones if (Request["id"] != null) { using (Entities c = new Entities()) { int iDeptId; try { iDeptId = Convert.ToInt32(Request["id"]); DEPARTAMENTO d = c.DEPARTAMENTO.Find(Convert.ToInt32(Request["id"])); LEGISLATURA l = c.LEGISLATURA.Find(d.LEGISLATURA_ID); if (d.VISIBLE && l.ACTUAL) { c.Configuration.ProxyCreationEnabled = false; var results = c.CONTENIDO.Include("ACCION").OfType <OBJETIVO>().Where(st => st.DEPARTAMENTO_ID == iDeptId && st.VISIBLE == true && st.OBJETIVO_ESTRATEGICO != null).ToList(); //Para poder listar por Json sin necesidad de personalizarlo /*Response.Write(JsonConvert.SerializeObject(results, Formatting.Indented, * new JsonSerializerSettings * { * ReferenceLoopHandling = ReferenceLoopHandling.Ignore * }, ObjSerializer));*/ Response.Write(JsonConvert.SerializeObject(results, Formatting.Indented, new JsonConverter[] { new ObjSerializer() })); /* //Así con json personalizado * List<OBJETIVO> list = new List<OBJETIVO>(); * list = c.CONTENIDO.OfType<OBJETIVO>().Where(st => st.DEPARTAMENTO_ID == iDptoId.Value).ToList(); * * //Response.Write("{ \"data\":"); * Response.Write(Json.GetJson(list) ); * //Response.Write("}");*/ } } catch (Exception ex) { logger.Error("View/json_data.aspx.cs (op=O). Error: " + ex.Message + " " + ex.InnerException); Notificaciones.NotifySystemOps(ex, "View/json_data.aspx.cs (op=O). Error: " + ex.Message + " " + ex.InnerException); } } } } else if (sOperacion == "dG") { //Datos Generales: num objetivos, num acciones, fecha de última actualización using (Entities c = new Entities()) { using (var conn = c.Database.Connection) { try { int iAcciones = 0; int iObjetivos = 0; List <DateTime> dtFechas = new List <DateTime>(); /* Response.Write("[{\"objetivos\": XXX, \"acciones\":XXX, \"ultima_mod\":\"XXX\"}]");*/ var cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = @"select COUNT(A.CONTENIDO_ID) as acciones, max(fecha_modificacion) as ultimo_modificado, max (fecha_creacion) as ultimo_creado from PLGO_OWN.accion a inner join PLGO_OWN.CONTENIDO c on c.contenido_id = A.CONTENIDO_ID inner join PLGO_OWN.DEPARTAMENTO d on C.DEPARTAMENTO_ID = D.DEPARTAMENTO_ID inner join PLGO_OWN.LEGISLATURA l on L.LEGISLATURA_ID = D.LEGISLATURA_ID WHERE l.actual = 1 and d.visible = 1 and c.visible = 1 and C.TIPO_CAMBIO_CONTENIDO_ID <> 1 "; using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)) { while (reader.Read()) { iAcciones = reader.GetInt32(0); dtFechas.Add(reader.GetDateTime(1)); dtFechas.Add(reader.GetDateTime(2)); } } cmd.CommandText = @"select COUNT(A.CONTENIDO_ID) as objetivos, max(fecha_modificacion) as ultimo_modificado, max (fecha_creacion) as ultimo_creado from PLGO_OWN.OBJETIVO a inner join PLGO_OWN.CONTENIDO c on c.contenido_id = A.CONTENIDO_ID inner join PLGO_OWN.DEPARTAMENTO d on C.DEPARTAMENTO_ID = D.DEPARTAMENTO_ID inner join PLGO_OWN.LEGISLATURA l on L.LEGISLATURA_ID = D.LEGISLATURA_ID WHERE l.actual = 1 and d.visible = 1 and c.visible = 1 and C.TIPO_CAMBIO_CONTENIDO_ID <> 1 "; using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)) { while (reader.Read()) { iObjetivos = reader.GetInt32(0); dtFechas.Add(reader.GetDateTime(1)); dtFechas.Add(reader.GetDateTime(2)); } } Response.Write("[{\"objetivos\":" + iObjetivos + ",\"acciones\":" + iAcciones + ",\"ultima_mod\":\"" + dtFechas.OrderByDescending(x => x).First() + "\"}]"); } catch (Exception ex) { logger.Error("View/json_data.aspx.cs (op=dG). Error: " + ex.Message + " " + ex.InnerException); Notificaciones.NotifySystemOps(ex, "View/json_data.aspx.cs (op=dG). Error: " + ex.Message + " " + ex.InnerException); } } } } //Detalle Departamento else if (sOperacion == "dD") { if (Request["id"] != null) { try { using (Entities c = new Entities()) { if (Request["id"] == null) { Response.Redirect("VerDepartamentos.aspx", false); } else { DEPARTAMENTO d = c.DEPARTAMENTO.Find(Convert.ToInt32(Request["id"])); if (d.VISIBLE) { Response.Write("{\"desc\":\"" + d.DESCRIPCION + "\"}"); } } } } catch (Exception ex) { logger.Error("View/json_data.aspx.cs (op=dD) ID= " + Request["id"] + ". Error: " + ex.Message + " " + ex.InnerException); Notificaciones.NotifySystemOps(ex, "View/json_data.aspx.cs (op=dD) ID= " + Request["id"] + ". Error: " + ex.Message + " " + ex.InnerException); } } } //Cuadro de mando else if (sOperacion == "cm") { /* Response.Write("{\"pLegT\": XXX, \"pObjM\":XXX, \"pObjNI\":\"XXX\", \"pObjI\":\"XXX\", \"pObjT\":\"XXX\"}");*/ decimal dLegTranscurrida; int iObjetivosSinIniciar = 0; int iObjetivosIniciados = 0; int iObjetivosTerminados = 0; int iNumAcciones = 0; int iNumObjetivos = 0; int iSumaPorcenajesAvanceAcciones = 0; decimal dPorcSinIniciar = 0; decimal dPorcIniciados = 0; decimal dPorcTerminados = 0; decimal dPorcIndiceGlobalCumplimiento = 0; LEGISLATURA.GetDatosCuadroMando(out dLegTranscurrida, out iObjetivosSinIniciar, out iObjetivosIniciados, out iObjetivosTerminados, out iSumaPorcenajesAvanceAcciones, out iNumAcciones, out iNumObjetivos, out dPorcSinIniciar, out dPorcIniciados, out dPorcTerminados, out dPorcIndiceGlobalCumplimiento); dPorcTerminados = 100 - dPorcSinIniciar - dPorcIniciados; //nos aseguramos que la suma no sea mayor que 100% Response.Write("{\"pLegT\": " + dLegTranscurrida + ", \"pObjM\": " + dPorcIndiceGlobalCumplimiento + ", \"pObjNI\":" + dPorcSinIniciar + ", \"pObjI\":" + dPorcIniciados + ", \"pObjT\":" + dPorcTerminados + "}"); } //Cuadro de mando por departamento else if (sOperacion == "cmd") { if (Request["id"] != null) { try { using (Entities c = new Entities()) { if (Request["id"] == null) { Response.Redirect("VerDepartamentos.aspx", false); } else { DEPARTAMENTO d = c.DEPARTAMENTO.Find(Convert.ToInt32(Request["id"])); LEGISLATURA l = c.LEGISLATURA.Find(d.LEGISLATURA_ID); if (d.VISIBLE && l.ACTUAL) { //Response.Write("{\"desc\":\"" + d.DESCRIPCION + "\"}"); decimal dLegTranscurrida = LEGISLATURA.GetTiempoLegislatura(); decimal dPorcIndiceGlobalCumplimiento = d.GetEvolucion(); string sFecha = ""; using (var conn = c.Database.Connection) { var cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = @"select max(fecha_modificacion) as ultimo_modificado from PLGO_OWN.accion a inner join PLGO_OWN.CONTENIDO c on c.contenido_id = A.CONTENIDO_ID inner join PLGO_OWN.DEPARTAMENTO d on C.DEPARTAMENTO_ID = D.DEPARTAMENTO_ID inner join PLGO_OWN.LEGISLATURA l on L.LEGISLATURA_ID = D.LEGISLATURA_ID WHERE l.actual = 1 and d.visible = 1 and d.DEPARTAMENTO_ID = :DptoId and c.visible = 1 and C.TIPO_CAMBIO_CONTENIDO_ID <> 1 "; var parameter = cmd.CreateParameter(); parameter.ParameterName = ":DptoId"; parameter.Value = d.DEPARTAMENTO_ID; cmd.Parameters.Add(parameter); using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)) { while (reader.Read()) { try { sFecha = reader.GetDateTime(0).ToShortDateString(); } catch { sFecha = "No disponible"; } } } } Response.Write("{\"desc\":\"" + d.DESCRIPCION + "\", \"pLegT\": " + dLegTranscurrida + ", \"pObjM\": " + dPorcIndiceGlobalCumplimiento + ", \"um\":\"" + sFecha + "\"}"); } } } } catch (Exception ex) { logger.Error("View/json_data.aspx.cs (op=dD) ID= " + Request["id"] + ". Error: " + ex.Message + " " + ex.InnerException); Notificaciones.NotifySystemOps(ex, "View/json_data.aspx.cs (op=dD) ID= " + Request["id"] + ". Error: " + ex.Message + " " + ex.InnerException); } } } } }