protected void btnExport_Click(object sender, EventArgs e) { if (!DatosOk()) { return; } string instid = "-1", t_disp_id = "-1"; string informe = tipo_informe; string nombreFichero = string.Empty; string directorio = MapPath("/") + "\\Repo"; ReportProcessor reportProcessor = new ReportProcessor(); RenderingResult renderingResult = null; string nombre = ""; switch (tipo_informe) { case "RptResumenEmpresaInstalacion": if (rcbInstalacion.SelectedValue != RCD_EMPTY) { if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY) { informe = "RptResumenEmpresa"; if (tipo_dispositivo != null) { t_disp_id = tipo_dispositivo.TipoId.ToString(); if (instalacion == null) { nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId); } else { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000000}_{3:0000}.pdf", empresa.EmpresaId, instid, t_disp_id, usuario.UsuarioId); } } else { if (instalacion == null) { nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId); } else { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId); } } RptResumenEmpresa rptR = new RptResumenEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), int.Parse(instid), ctx); nombre = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptR, null); } else { if (instalacion != null) { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId); } else { nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId); } RptResumenEmpresaInstalacion rptR = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), ctx); nombre = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptR, null); } } else if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY) { informe = "RptResumenEmpresaTipoDispositivo"; if (tipo_dispositivo != null) { t_disp_id = tipo_dispositivo.TipoId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId); } else { nombreFichero = String.Format("EXP{0:0000000}_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId); } RptResumenEmpresaTipoDispositivo rptR = new RptResumenEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(t_disp_id), ctx); nombre = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptR, null); } break; case "RptFacturableEmpresaInstalacion": if (rcbInstalacion.SelectedValue != RCD_EMPTY) { if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY) { informe = "RptFacturableEmpresa"; if (tipo_dispositivo != null) { t_disp_id = tipo_dispositivo.TipoId.ToString(); if (instalacion == null) { nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId); } else { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000000}_{3:0000}.pdf", empresa.EmpresaId, instid, t_disp_id, usuario.UsuarioId); } } else { if (instalacion != null) { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId); } else { nombreFichero = String.Format("EXP{0:0000000}_{2:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId); } } RptFacturableEmpresa rptT = new RptFacturableEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), int.Parse(t_disp_id), ctx); nombre = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptT, null); } else { if (instalacion != null) { instid = instalacion.InstalacionId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId); } else { nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId); } RptFacturableEmpresaInstalacion rptF = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), ctx); nombre = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptF, null); } } else if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY) { informe = "RptFacturableEmpresaTipoDispositivo"; if (tipo_dispositivo != null) { t_disp_id = tipo_dispositivo.TipoId.ToString(); nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{3:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId); } else { nombreFichero = String.Format("EXP{0:0000000}_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId); } RptFacturableEmpresaTipoDispositivo rptT = new RptFacturableEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(t_disp_id), ctx); nombre = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha); renderingResult = reportProcessor.RenderReport("PDF", rptT, null); } break; } string fichero = String.Format("{0}\\{1}", directorio, nombreFichero); FileStream fs = new FileStream(fichero, FileMode.Create); fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length); fs.Close(); // abrir como documento sobre el repositorio string url = String.Format("DocumentoView.aspx?FileName={0}&EmpresaId={1}&Nombre={2}&InstalacionId={3}&TipoDispositivoId={4}", nombreFichero, empresa.EmpresaId, nombre, instid, t_disp_id); string jCommand = String.Format("parent.openOutSide('{0}', 'DocumentoView');", url); RadAjaxManager1.ResponseScripts.Add(jCommand); }
protected void Page_Init(object sender, EventArgs e) { // it gets an appropiate context (LainsaSciCTX -> web.config) ctx = new LainsaSci("LainsaSciCTX"); // verify if a Usuario is logged usuario = CntWinWeb.IsSomeoneLogged(this, ctx); if (usuario == null) { Response.Redirect("Default.aspx"); } else { Session["UsuarioId"] = usuario.UsuarioId; } if (Request.QueryString["Informe"] != null) { informe = Request.QueryString["Informe"]; switch (informe) { case "RptInventario": RptInventario rptInventario = new RptInventario(); this.Title = "Inventario por instalacion"; if (usuario.Empresa != null) { rptInventario.ReportParameters["Empresa"].Value = usuario.Empresa.EmpresaId; rptInventario.ReportParameters["Empresa"].Visible = false; } ReportViewer1.Report = rptInventario; break; case "RptIncidenciaEmpresa": RptIncidenciaEmpresa rptIncidenciaEmpresa = new RptIncidenciaEmpresa(); this.Title = "Incidencias por empresa"; if (usuario.Empresa != null) { rptIncidenciaEmpresa.ReportParameters["Empresa"].Value = usuario.Empresa.EmpresaId; rptIncidenciaEmpresa.ReportParameters["Empresa"].Visible = false; } ReportViewer1.Report = rptIncidenciaEmpresa; break; } } if (Request.QueryString["Observaciones"] != null) { observaciones = Request.QueryString["Observaciones"]; } if (Request.QueryString["FechaActa"] != null) { fechaActa = DateTime.Parse(Request.QueryString["FechaActa"]); } if (Request.QueryString["ActaNumero"] != null) { actaNumero = Request.QueryString["ActaNumero"]; } if (Request.QueryString["TecnicoResponsable"] != null) { Usuario usu = CntLainsaSci.GetUsuario(int.Parse(Request.QueryString["TecnicoResponsable"]), ctx); tecnicoResponsable = usu.Nombre; } if (Request.QueryString["InstalacionId"] != null) { instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["InstalacionId"]), ctx); if (instalacion == null) { empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx); } if (instalacion != null || empresa != null) { switch (informe) { case "RptActa": // este informe es especial y en realidad es un book Plantilla plantilla = CntLainsaSci.GetPlantilla(1, ctx); // la primera plantilla es la de acta. string numeroAutorizado = ConfigurationManager.AppSettings["NumeroAutorizado"]; string contenido = String.Format(plantilla.Contenido, numeroAutorizado, tecnicoResponsable, actaNumero, fechaActa); ReportBook reportBook = new ReportBook(); RptCartaActa rptCartaActa = new RptCartaActa(contenido); reportBook.Reports.Add(rptCartaActa); if (instalacion != null) { RptInformeActa rptInformeActa = new RptInformeActa(instalacion, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx); reportBook.Reports.Add(rptInformeActa); } else { RptInformeActaEmpresa rptInformeActaEmpresa = new RptInformeActaEmpresa(empresa, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx); reportBook.Reports.Add(rptInformeActaEmpresa); } ReportViewer1.Report = reportBook; break; } } } else if (Request.QueryString["ProgramaId"] != null) { programa = CntLainsaSci.GetPrograma(int.Parse(Request.QueryString["ProgramaId"]), ctx); if (programa != null) { switch (informe) { case "RptPrograma2": RptPrograma2 rptPrograma2 = new RptPrograma2(programa.ProgramaId, ctx); ReportViewer1.Report = rptPrograma2; break; case "RptRevisionFormulario": RptRevisionFormulario rptRF = new RptRevisionFormulario(programa, ctx); ReportViewer1.Report = rptRF; break; case "RptInformePlanta": RptInformePlanta rptIP = new RptInformePlanta(programa, ctx); ReportViewer1.Report = rptIP; break; } } newRecord = false; } else if (Request.QueryString["EmpresaId"] != null) { empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx); if (empresa != null) { desdeFecha = DateTime.Parse(Request.QueryString["DesdeFecha"]); hastaFecha = DateTime.Parse(Request.QueryString["HastaFecha"]); switch (informe) { case "RptResumenEmpresaInstalacion": RptResumenEmpresaInstalacion rpt = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx); ReportViewer1.Report = rpt; break; case "RptFacturableEmpresaInstalacion": RptFacturableEmpresaInstalacion rpt2 = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx); ReportViewer1.Report = rpt2; break; case "RptResumenEmpresaTipoDispositivo": RptResumenEmpresaTipoDispositivo rptT = new RptResumenEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx); ReportViewer1.Report = rptT; break; case "RptFacturableEmpresaTipoDispositivo": RptFacturableEmpresaTipoDispositivo rptT2 = new RptFacturableEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx); ReportViewer1.Report = rptT2; break; case "RptResumenEmpresa": RptResumenEmpresa rptE = new RptResumenEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx); ReportViewer1.Report = rptE; break; case "RptFacturableEmpresa": RptFacturableEmpresa rptE2 = new RptFacturableEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx); ReportViewer1.Report = rptE2; break; } } } else if (Request.QueryString["Filtro"] != null) { List <string> filtro = (List <string>)Session["Filtro"]; string consulta = ""; switch (informe) { case "RptConsultaRevision": if (Request.QueryString["mode"].ToString() == "G") { RptConsultaRevisionGeneral cr = new RptConsultaRevisionGeneral(filtro); ReportViewer1.Report = cr; } break; case "RptConsultaDispositivos": consulta = "Consulta dispositivos. "; if (Session["Consulta"] != null) { consulta += (string)Session["Consulta"]; } this.Title = consulta; if (Request.QueryString["mode"].ToString() == "D") { RptConsultaDispositivos cd = new RptConsultaDispositivos(filtro, consulta); ReportViewer1.Report = cd; } else { RptConsultaDispositivosGeneral cd = new RptConsultaDispositivosGeneral(filtro, consulta); ReportViewer1.Report = cd; } break; case "RptInfConsultaRevision": IList <Revision> lr = new List <Revision>(); foreach (string rid in filtro) { lr.Add(CntLainsaSci.GetRevision(int.Parse(rid), ctx)); } consulta = "Consulta revisiones"; if (Session["Consulta"] != null) { consulta = (string)Session["Consulta"]; } this.Title = consulta; RptInfConsultaRevision icr = new RptInfConsultaRevision(lr, consulta); ReportViewer1.Report = icr; break; } } // control de skin if (Session["Skin"] != null) { RadSkinManager1.Skin = Session["Skin"].ToString(); } }