protected void Page_Load(object sender, EventArgs e) { string idReporte = HttpContext.Current.Request.Form["r"]; string id = HttpContext.Current.Request.Form["i"]; blReporte blReporte = new blReporte(new Sesion()); Reporte reporte = blReporte.ObtenerPorId(int.Parse(idReporte)); WebClient httpclient = new WebClient(); httpclient.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["USUARIO_REPORTES"], ConfigurationManager.AppSettings["PASSWORD_REPORTES"]); httpclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); string requestXml; requestXml = string.Format("<resourceDescriptor name=\"{0}\" wsType=\"reportUnit\" uriString=\"{1}\"", reporte.descripcion, reporte.ubicacion); requestXml += " isNew=\"false\">"; if (!string.IsNullOrEmpty(id)) { requestXml += string.Format(" <parameter name=\"id\">{0}</parameter>", id); } foreach (ReporteItem item in reporte.items) { requestXml += string.Format(" <parameter name=\"{0}\">{1}</parameter>", item.nombre, item.valor); } requestXml += "</resourceDescriptor>"; string requestAllResult = httpclient.UploadString(ConfigurationManager.AppSettings["SERVIDOR_REPORTES"] + string.Format("/rest/report{0}?RUN_OUTPUT_FORMAT=PDF", reporte.ubicacion), "PUT", requestXml); string session = httpclient.ResponseHeaders.Get("Set-Cookie"); httpclient.Headers.Add("Cookie", session); XmlDocument doc = new System.Xml.XmlDocument(); doc.LoadXml(requestAllResult); XmlNode node = doc.DocumentElement.SelectSingleNode("uuid"); string uuid = node.InnerText; string reportUrl = ConfigurationManager.AppSettings["SERVIDOR_REPORTES"] + "/rest/report/"; reportUrl += uuid; reportUrl += "?file=report"; Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.pdf", reporte.descripcion)); Response.ClearContent(); byte[] bytes = httpclient.DownloadData(reportUrl); Response.OutputStream.Write(bytes, 0, bytes.Length); Response.Flush(); Response.Close(); }
public static object ObtenerPorId(Sesion sesion, int idReporte) { object resultado = new { }; try { blReporte blReporte = new blReporte(sesion); Reporte reporte = blReporte.ObtenerPorId(idReporte); resultado = new { correcto = true, reporte = reporte }; } catch (Exception) { resultado = new { correcto = false }; } return resultado; }
public static object Eliminar(Sesion sesion, int idReporte) { object resultado = new { }; try { blReporte blReporte = new blReporte(sesion); blReporte.Eliminar(idReporte); resultado = new { correcto = true }; } catch (Exception) { resultado = new { correcto = false }; } return resultado; }
public static object Agregar(Sesion sesion, Reporte reporte) { object resultado = new { }; try { blReporte blReporte = new blReporte(sesion); blReporte.Agregar(reporte); resultado = new { correcto = true }; } catch (Exception) { resultado = new { correcto = false }; } return resultado; }
public static object ObtenerTodos(Sesion sesion) { object resultado = new { }; try { blReporte blReporte = new blReporte(sesion); IList<Reporte> reportes = blReporte.ObtenerTodos(); resultado = new { correcto = true, reportes = reportes }; } catch (Exception) { resultado = new { correcto = false }; } return resultado; }