Ejemplo n.º 1
0
        public string Imprimir(int solicitudes, int agencia)
        {
            string nombArchi = "";

            string empresa = System.Configuration.ConfigurationSettings.AppSettings["empresa"];
            DsSolicitudRetiroImpresion dsSolicitud = new DsSolicitudRetiroImpresion();
            //el dataset que le voy a pasar al generador de reportes crystal
            ISolicitudRetiro sol = SolicitudRetiroFactory.GetSolicitudRetiroFactory();

            sol.SolicitudRetiroID = solicitudes;

            dsSolicitud = (DsSolicitudRetiroImpresion)sol.ConsultarSolicitudAImprimir();



            for (int i = 0; i < dsSolicitud.Orden.Count; i++)
            {
                byte[] d = null;
                DsSolicitudRetiroImpresion.OrdenRow drOrden = (DsSolicitudRetiroImpresion.OrdenRow)dsSolicitud.Orden.Rows[i];
                d = ConversionImagen(Server.MapPath("." + "/Reportes/images/" + empresa + ".JPG"));
                drOrden["Codigo"] = d;
            }

            byte[] im = null;
            DsSolicitudRetiroImpresion.SolicitudRow dr = (DsSolicitudRetiroImpresion.SolicitudRow)dsSolicitud.Solicitud.Rows[0];
            im = ConversionImagen(Server.MapPath("." + "/Reportes/images/blanco.JPG"));
            for (int i = 0; i < dsSolicitud.Solicitud.Count; i++)
            {
                dr["Imagen"] = im;
            }

            if ((dsSolicitud.Solicitud.Count > 0) && (dsSolicitud.Orden.Count > 0))
            {
                ExportOptions oExO;
                DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();
                nombArchi = "SolicitudRetiro_" + solicitudes + "_" + agencia + ".pdf";
                string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombArchi;
                if (System.IO.File.Exists(sNombrePDF))
                {
                    System.IO.File.Delete(sNombrePDF);
                }
                oRD.Load(Server.MapPath("." + "/Reportes/ReporteSolicitudRetiro2.rpt"));
                oRD.SetDataSource(dsSolicitud);
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;
                oExO.ExportDestinationType = ExportDestinationType.DiskFile;
                oExO.ExportFormatType      = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions    = oExDo;
                oRD.Export();
                oRD.Close();
                oRD.Dispose();
                return(nombArchi);
            }

            return(nombArchi);
        }
        private string ExportarPDF(int solicitud)
        {                       //cuando venga 0 en solicitud se han pedidos todas
            string empresa = System.Configuration.ConfigurationSettings.AppSettings["empresa"];
            DsSolicitudRetiroImpresion dsSolicitud = new DsSolicitudRetiroImpresion();
            //el dataset que le voy a pasar al generador de reportes crystal
            ISolicitudRetiro sol = SolicitudRetiroFactory.GetSolicitudRetiroFactory();


            if (solicitud == 0)           //quiero todas
            {
                if (Session["DsSolicitudRetiro"] != null)
                {
                    sol.ClienteID       = Utiles.Validaciones.obtieneEntero(busqCliente.ClienteID);
                    sol.NumeroSolicitud = Utiles.Validaciones.obtieneEntero(txtNumSolicitud.Text);
                    sol.AgenciaRetiroID = usuario.AgenciaID;                   //la agencia conectada

                    /*if (chCerradas.Checked)
                     *      sol.EstadoSolicitudID=(int)NegociosSisPackInterface.SisPack.EstadoSolicitud.Cerrada;
                     * else if (chControladas.Checked)
                     *      sol.EstadoSolicitudID=(int)NegociosSisPackInterface.SisPack.EstadoSolicitud.Controlada;
                     * else
                     *      sol.EstadoSolicitudID=0;//todas
                     */

                    if (this.ddlTipo.SelectedValue == "1")                     // Web
                    {
                        if ((chCerradas.Checked) && (chControladas.Checked == false))
                        {
                            sol.EstadoSolicitudID = (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.CerradaWeb;
                        }
                        else if ((chControladas.Checked) && (chCerradas.Checked == false))
                        {
                            sol.EstadoSolicitudID = (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.ControladaWeb;
                        }
                        else if ((chControladas.Checked) && (chCerradas.Checked))
                        {
                            sol.EstadoSolicitudID = 0;                          //todas
                        }
                    }
                    else if (this.ddlTipo.SelectedValue == "2")                     // Autogestión
                    {
                        if ((chCerradas.Checked) && (chControladas.Checked == false))
                        {
                            sol.EstadoSolicitudID = (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.Cerrada;
                        }
                        else if ((chControladas.Checked) && (chCerradas.Checked == false))
                        {
                            sol.EstadoSolicitudID = (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.Controlada;
                        }
                        else if ((chControladas.Checked) && (chCerradas.Checked))
                        {
                            sol.EstadoSolicitudID = 0;                          //todas
                        }
                    }
                    int desdeWeb = (this.ddlTipo.SelectedValue == "1")?1:0;

                    //dsSolicitud = sol.GetSolicitudRetiroALLDataSet(desdeWeb);
                }
            }
            else             //quiero solo una
            {
                sol.SolicitudRetiroID = solicitud;
                dsSolicitud           = (DsSolicitudRetiroImpresion)sol.ConsultarSolicitudAImprimir();
            }

            /*para guardar la imagen del codigo de barra correspondiente en el dataset descomentar */
            //			for (int i=0; i<dsSolicitud.Orden.Count;i++)
            //			{
            //				byte[] d= null;
            //				DsSolicitudRetiroImpresion.OrdenRow drOrden= (DsSolicitudRetiroImpresion.OrdenRow) dsSolicitud.Orden.Rows[i];
            //				d = ConversionImagen(Server.MapPath("." + "/Reportes/images/CB/"+ drOrden["OrdenRetiroID"].ToString() + ".JPG"));
            //				drOrden["Codigo"]=d;
            //			}
            /*para guardar la imagen del logo de la empresa en el dataset */
            for (int i = 0; i < dsSolicitud.Orden.Count; i++)
            {
                byte[] d = null;
                DsSolicitudRetiroImpresion.OrdenRow drOrden = (DsSolicitudRetiroImpresion.OrdenRow)dsSolicitud.Orden.Rows[i];
                d = ConversionImagen(Server.MapPath("." + "/Reportes/images/" + empresa + ".JPG"));
                drOrden["Codigo"] = d;
            }

            byte[] im = null;
            DsSolicitudRetiroImpresion.SolicitudRow dr = (DsSolicitudRetiroImpresion.SolicitudRow)dsSolicitud.Solicitud.Rows[0];
            im = ConversionImagen(Server.MapPath("." + "/Reportes/images/blanco.JPG"));
            for (int i = 0; i < dsSolicitud.Solicitud.Count; i++)
            {
                dr["Imagen"] = im;
            }

            if ((dsSolicitud.Solicitud.Count > 0) && (dsSolicitud.Orden.Count > 0))
            {
                ReportDocument             oRD = new ReportDocument();
                ExportOptions              oExO;
                DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();
                string nombArchi  = "SolicitudRetiro_" + solicitud + "_" + this.AgenciaConectadaID + ".pdf";
                string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombArchi;
                if (System.IO.File.Exists(sNombrePDF))
                {
                    System.IO.File.Delete(sNombrePDF);
                }
                oRD.Load(Server.MapPath("." + "/Reportes/ReporteSolicitudRetiro.rpt"));
                oRD.SetDataSource(dsSolicitud);
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;
                oExO.ExportDestinationType = ExportDestinationType.DiskFile;
                oExO.ExportFormatType      = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions    = oExDo;
                oRD.Export();
                oRD.Close();
                oRD.Dispose();
                return(nombArchi);
            }
            else
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha podido consultar los datos de la solicitud");
                return("");
            }
        }