示例#1
0
文件: GetPdf.cs 项目: royriojas/RGEN2
        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;
        }
示例#2
0
        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();
        }