private static ReportDocument getInforme(decimal ajusteId, string tipoInforme, string ApplicationPath) { bool tieneSeccionesAdicionales = true; bool tieneSeccionesFinales = false; string tituloInforme = "INFORME BÁSICO"; string tipoMonto = "RESERVA NETA"; decimal montoIndemnizacion = 0; tipoInforme = GetTipoInforme(tipoInforme); switch (tipoInforme) { case "B": { tieneSeccionesAdicionales = false; break; } case "P": { tieneSeccionesAdicionales = true; tituloInforme = "INFORME PRELIMINAR"; break; } case "C": { tieneSeccionesAdicionales = true; tituloInforme = "INFORME COMPLEMENTARIO"; break; } case "F": { tieneSeccionesAdicionales = true; tieneSeccionesFinales = true; if (GestorAjuste.dameTipoAjuste(ajusteId) != 2) { tituloInforme = "INFORME FINAL"; } else { tituloInforme = "INFORME FINAL RÁPIDO"; } tipoMonto = "INDEMNIZACIÓN"; montoIndemnizacion = GestorAjuste.dameTotalIndemnizacion(ajusteId); break; } } // Instancia del reporte String reportPath = ApplicationPath + "\\docs\\crInformeBasico.rpt"; ReportDocument informeBasico = new ReportDocument(); informeBasico.Load(reportPath); dsReporteTableAdapters.InformeBasicoImagenesTableAdapter dtImagenes = new dsReporteTableAdapters.InformeBasicoImagenesTableAdapter(); DataTable imagenes = (DataTable)dtImagenes.GetData(Convert.ToInt32(ajusteId)); if (imagenes.Rows.Count > 0) informeBasico.OpenSubreport("crIBImagen.rpt").SetDataSource(imagenes); else informeBasico.ReportDefinition.Sections["Imagenes"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoDocumentacionSolicitadaTableAdapter dtdocumentacion = new dsReporteTableAdapters.InformeBasicoDocumentacionSolicitadaTableAdapter(); try { DataTable documentacion = (DataTable)dtdocumentacion.GetData(Convert.ToInt32(ajusteId)); if (documentacion.Rows.Count > 0) informeBasico.OpenSubreport("crIBDocumentacion.rpt").SetDataSource(documentacion); else informeBasico.ReportDefinition.Sections["documentacion"].SectionFormat.EnableSuppress = true; } catch (Exception Ex) { Console.Write(Ex.Message); } dsReporteTableAdapters.InformeBasicoReclamoTableAdapter dtreclamo = new dsReporteTableAdapters.InformeBasicoReclamoTableAdapter(); DataTable reclamo = (DataTable)dtreclamo.GetData(Convert.ToInt32(ajusteId)); ReportDocument reclamoReport = informeBasico.OpenSubreport("crIBReclamo.rpt"); reclamoReport.SetDataSource(reclamo); //Aqui agrego el nuevo SubReporte Informacion Complementaria dsReporteTableAdapters.InformeBasicoReclamoTableAdapter dtinformacionComplementaria = new dsReporteTableAdapters.InformeBasicoReclamoTableAdapter(); DataTable informacionComplementaria = (DataTable)dtinformacionComplementaria.GetData(Convert.ToInt32(ajusteId)); ReportDocument informacionComplementariaReport = informeBasico.OpenSubreport("crIBInformacionComplementaria.rpt"); informacionComplementariaReport.SetDataSource(informacionComplementaria); dsReporteTableAdapters.InformeBasicoInspeccionTableAdapter dtinspeccion = new dsReporteTableAdapters.InformeBasicoInspeccionTableAdapter(); DataTable inspeccion = (DataTable)dtinspeccion.GetData(Convert.ToInt32(ajusteId)); informeBasico.OpenSubreport("crIBInspeccion.rpt").SetDataSource(inspeccion); dsReporteTableAdapters.InformeBasicoOcurrenciaDetalleTableAdapter dtdetalleocurrencia = new dsReporteTableAdapters.InformeBasicoOcurrenciaDetalleTableAdapter(); DataTable detalleocurrencia = (DataTable)dtdetalleocurrencia.GetData(Convert.ToInt32(ajusteId)); if (detalleocurrencia.Rows.Count > 0) informeBasico.OpenSubreport("crIBDetalleOcurrencia.rpt").SetDataSource(detalleocurrencia); else informeBasico.ReportDefinition.Sections["detalleOcurrencia"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoOcurrenciaCabeceraTableAdapter dtocurrencia = new dsReporteTableAdapters.InformeBasicoOcurrenciaCabeceraTableAdapter(); DataTable ocurrencia = (DataTable)dtocurrencia.GetData(Convert.ToInt32(ajusteId)); informeBasico.OpenSubreport("crIBOcurrencia.rpt").SetDataSource(ocurrencia); dsReporteTableAdapters.InformeBasicoClausulasTableAdapter dtclausulas = new dsReporteTableAdapters.InformeBasicoClausulasTableAdapter(); DataTable clausulas = (DataTable)dtclausulas.GetData(Convert.ToInt32(ajusteId)); if (clausulas.Rows.Count > 0) informeBasico.OpenSubreport("crIBClausulas.rpt").SetDataSource(clausulas); else informeBasico.ReportDefinition.Sections["Clausulas"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoDeduciblesTableAdapter dtdeducibles = new dsReporteTableAdapters.InformeBasicoDeduciblesTableAdapter(); DataTable deducibles = (DataTable)dtdeducibles.GetData(Convert.ToInt32(ajusteId)); if (deducibles.Rows.Count > 0) informeBasico.OpenSubreport("crIBDeducibles.rpt").SetDataSource(deducibles); else informeBasico.ReportDefinition.Sections["deducibles"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoPolizaDetalleTableAdapter dtdetallepoliza = new dsReporteTableAdapters.InformeBasicoPolizaDetalleTableAdapter(); DataTable detallePoliza = (DataTable)dtdetallepoliza.GetData(Convert.ToInt32(ajusteId)); if (detallePoliza.Rows.Count > 0) informeBasico.OpenSubreport("crIBDetallePoliza.rpt").SetDataSource(detallePoliza); else informeBasico.ReportDefinition.Sections["detallePoliza"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoPolizaTableAdapter dtPoliza = new dsReporteTableAdapters.InformeBasicoPolizaTableAdapter(); DataTable poliza = (DataTable)dtPoliza.GetData(Convert.ToInt32(ajusteId)); informeBasico.OpenSubreport("crIBPoliza.rpt").SetDataSource(poliza); dsReporteTableAdapters.InformeBasicoFechaAvisoCoordinacionTableAdapter dtfechacoordinacion = new dsReporteTableAdapters.InformeBasicoFechaAvisoCoordinacionTableAdapter(); DataTable fechaCoordinacion = (DataTable)dtfechacoordinacion.GetData(Convert.ToInt32(ajusteId)); informeBasico.OpenSubreport("crIBFechaAviso.rpt").SetDataSource(fechaCoordinacion); dsReporteTableAdapters.InformeBasicoGeneralesTableAdapter dtgenerales = new dsReporteTableAdapters.InformeBasicoGeneralesTableAdapter(); DataTable datosgenerales = (DataTable)dtgenerales.GetData(Convert.ToInt32(ajusteId)); informeBasico.OpenSubreport("crIBGenerales.rpt").SetDataSource(datosgenerales); dsReporteTableAdapters.SeccionesAdicionalesAjusteTableAdapter seccionAdicionalAdapter = new dsReporteTableAdapters.SeccionesAdicionalesAjusteTableAdapter(); DataTable seccionAdicionalTable = (DataTable)seccionAdicionalAdapter.GetData(Convert.ToInt32(ajusteId)); if (seccionAdicionalTable.Rows.Count == 0) tieneSeccionesAdicionales = false; if (tieneSeccionesAdicionales) { informeBasico.OpenSubreport("SeccionAdicional").SetDataSource(seccionAdicionalTable); } else informeBasico.ReportDefinition.Sections["SeccionAdicional"].SectionFormat.EnableSuppress = true; //Secciones finales dsReporteTableAdapters.SeccionesTotalTableAdapter seccionFinalAdapter = new dsReporteTableAdapters.SeccionesTotalTableAdapter(); DataTable seccionFinalTable = (DataTable)seccionFinalAdapter.GetData(Convert.ToDecimal((ajusteId))); if (seccionFinalTable.Rows.Count != 0 && tieneSeccionesFinales) informeBasico.OpenSubreport("SeccionFinal").SetDataSource(seccionFinalTable); else informeBasico.ReportDefinition.Sections["SeccionFinal"].SectionFormat.EnableSuppress = true; //Liquidación dsAjusteTableAdapters.ConvenioAjusteTableAdapter convenioAdapter = new dsAjusteTableAdapters.ConvenioAjusteTableAdapter(); DataTable convenioTable = (DataTable)convenioAdapter.GetData(Convert.ToDecimal((ajusteId))); if (tieneSeccionesFinales) informeBasico.OpenSubreport("crIBLiquidacion.rpt").SetDataSource(convenioTable); else informeBasico.ReportDefinition.Sections["liquidacion"].SectionFormat.EnableSuppress = true; dsReporteTableAdapters.InformeBasicoCabeceraTableAdapter cabeceraAdapter = new dsReporteTableAdapters.InformeBasicoCabeceraTableAdapter(); informeBasico.SetDataSource((DataTable)cabeceraAdapter.GetData(Convert.ToInt32(ajusteId))); informeBasico.SetParameterValue("tituloInforme", tituloInforme); informeBasico.SetParameterValue("tipoMonto", tipoMonto); informeBasico.SetParameterValue("montoIndemnizacion", montoIndemnizacion); return informeBasico; }
public static byte[] GetInformePreliminar(int ajusteId, string ruta) { // Instancia del reporte String reportPath = ruta + "docs\\crInformePreliminar.rpt"; //MODIFICAR CON LA AGREGACION DE LA EXTENCION DEL PDF String nombre = "PASA-IP-" + ajusteId + "-" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond + ".pdf"; ReportDocument informeBasico = new ReportDocument(); informeBasico.Load(reportPath); dsReporteTableAdapters.InformeBasicoImagenesTableAdapter dtImagenes = new dsReporteTableAdapters.InformeBasicoImagenesTableAdapter(); DataTable imagenes = (DataTable)dtImagenes.GetData(ajusteId); informeBasico.OpenSubreport("crIBImagen.rpt").SetDataSource(imagenes); dsReporteTableAdapters.InformeBasicoDocumentacionSolicitadaTableAdapter dtdocumentacion = new dsReporteTableAdapters.InformeBasicoDocumentacionSolicitadaTableAdapter(); DataTable documentacion = (DataTable)dtdocumentacion.GetData(ajusteId); informeBasico.OpenSubreport("crIBDocumentacion.rpt").SetDataSource(documentacion); dsReporteTableAdapters.InformeBasicoReclamoTableAdapter dtreclamo = new dsReporteTableAdapters.InformeBasicoReclamoTableAdapter(); DataTable reclamo = (DataTable)dtreclamo.GetData(ajusteId); informeBasico.OpenSubreport("crIBReclamo.rpt").SetDataSource(reclamo); dsReporteTableAdapters.InformeBasicoInspeccionTableAdapter dtinspeccion = new dsReporteTableAdapters.InformeBasicoInspeccionTableAdapter(); DataTable inspeccion = (DataTable)dtinspeccion.GetData(ajusteId); informeBasico.OpenSubreport("crIBInspeccion.rpt").SetDataSource(inspeccion); dsReporteTableAdapters.InformeBasicoOcurrenciaDetalleTableAdapter dtdetalleocurrencia = new dsReporteTableAdapters.InformeBasicoOcurrenciaDetalleTableAdapter(); DataTable detalleocurrencia = (DataTable)dtdetalleocurrencia.GetData(ajusteId); informeBasico.OpenSubreport("crIBDetalleOcurrencia.rpt").SetDataSource(detalleocurrencia); dsReporteTableAdapters.InformeBasicoOcurrenciaCabeceraTableAdapter dtocurrencia = new dsReporteTableAdapters.InformeBasicoOcurrenciaCabeceraTableAdapter(); DataTable ocurrencia = (DataTable)dtocurrencia.GetData(ajusteId); informeBasico.OpenSubreport("crIBOcurrencia.rpt").SetDataSource(ocurrencia); dsReporteTableAdapters.InformeBasicoClausulasTableAdapter dtclausulas = new dsReporteTableAdapters.InformeBasicoClausulasTableAdapter(); DataTable clausulas = (DataTable)dtclausulas.GetData(ajusteId); informeBasico.OpenSubreport("crIBClausulas.rpt").SetDataSource(clausulas); dsReporteTableAdapters.InformeBasicoDeduciblesTableAdapter dtdeducibles = new dsReporteTableAdapters.InformeBasicoDeduciblesTableAdapter(); DataTable deducibles = (DataTable)dtdeducibles.GetData(ajusteId); informeBasico.OpenSubreport("crIBDeducibles.rpt").SetDataSource(deducibles); dsReporteTableAdapters.InformeBasicoPolizaDetalleTableAdapter dtdetallepoliza = new dsReporteTableAdapters.InformeBasicoPolizaDetalleTableAdapter(); DataTable detallePoliza = (DataTable)dtdetallepoliza.GetData(ajusteId); informeBasico.OpenSubreport("crIBDetallePoliza.rpt").SetDataSource(detallePoliza); dsReporteTableAdapters.InformeBasicoPolizaTableAdapter dtPoliza = new dsReporteTableAdapters.InformeBasicoPolizaTableAdapter(); DataTable poliza = (DataTable)dtPoliza.GetData(ajusteId); informeBasico.OpenSubreport("crIBPoliza.rpt").SetDataSource(poliza); dsReporteTableAdapters.InformeBasicoFechaAvisoCoordinacionTableAdapter dtfechacoordinacion = new dsReporteTableAdapters.InformeBasicoFechaAvisoCoordinacionTableAdapter(); DataTable fechaCoordinacion = (DataTable)dtfechacoordinacion.GetData(ajusteId); informeBasico.OpenSubreport("crIBFechaAviso.rpt").SetDataSource(fechaCoordinacion); dsReporteTableAdapters.InformeBasicoGeneralesTableAdapter dtgenerales = new dsReporteTableAdapters.InformeBasicoGeneralesTableAdapter(); DataTable datosgenerales = (DataTable)dtgenerales.GetData(ajusteId); informeBasico.OpenSubreport("crIBGenerales.rpt").SetDataSource(datosgenerales); dsReporteTableAdapters.InformeBasicoCabeceraTableAdapter cabeceraAdapter = new dsReporteTableAdapters.InformeBasicoCabeceraTableAdapter(); informeBasico.SetDataSource((DataTable)cabeceraAdapter.GetData(ajusteId)); //informeBasico.FileName = "InformeBasico" + ajusteId + ".pdf"; ExportOptions informeOpcion = new ExportOptions(); informeOpcion.ExportFormatType = ExportFormatType.PortableDocFormat; informeOpcion.ExportDestinationType = ExportDestinationType.DiskFile; DiskFileDestinationOptions destino = new DiskFileDestinationOptions(); nombre = "InformeBasicoAYP.pdf"; destino.DiskFileName = ruta + "informes\\" + nombre; informeOpcion.ExportDestinationOptions = destino; informeBasico.Export(informeOpcion); //dsReporteTableAdapters.InformeBasicoSelectTableAdapter tainforme = new dsReporteTableAdapters.InformeBasicoSelectTableAdapter(); //tainforme.Insert(ajusteId, nombre, ruta + "informes\\"); MemoryStream oStream; oStream = (MemoryStream)informeBasico.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); return oStream.ToArray(); }