예제 #1
0
        private Boolean Crear_Pdf_en_TMP(tb_Comprobante_Info InfoCbteT, string Ruta_File)
        {
            try
            {
                string         msg     = "";
                XtraReport     Reporte = new XtraReport();
                tb_Empresa_Bus EmB     = new tb_Empresa_Bus();



                Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpr);
                Reporte = Rpt_Ride_Bus.Optener_reporte(InfoCbteT, ref msg);
                //pdf
                Stream FileBinary;
                FileBinary = new FileStream(Ruta_File + "\\" + InfoCbteT.IdComprobante + ".pdf", FileMode.Create);
                DevExpress.XtraPrinting.PdfExportOptions Optione = new DevExpress.XtraPrinting.PdfExportOptions();
                Reporte.ExportToPdf(FileBinary, Optione);
                FileBinary.Close();
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
                BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString());
                return(false);
            }
        }
        private void gridViewFiles_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            try
            {
                string mensaje = "";
                tb_Comprobante_Info InfoCbteT = new tb_Comprobante_Info();

                switch (e.Column.Name)
                {
                case "colEliminar":

                    tb_Comprobante_Info Info = new tb_Comprobante_Info();
                    string msg = "";

                    Info = (tb_Comprobante_Info)gridViewFiles.GetFocusedRow();

                    if (MessageBox.Show("Esta seguro que desear anular el comprobante #:" + Info.IdComprobante, "Efirm confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (buscomp.Eliminar_Cbte(Info.IdEmpresa, Info.IdComprobante, "", "", ref msg))
                        {
                            MessageBox.Show("Eliminacion de comprobante Ok", "Efirm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }

                    break;

                case "ColRide":

                    XtraReport Reporte = new XtraReport();
                    string     msj     = "";

                    Rpt_Ride_Bus = new Rpt_Ride_bus(busEmpresa.GetEmpresas(ref mensajeError));
                    InfoCbteT    = (tb_Comprobante_Info)gridViewFiles.GetFocusedRow();

                    Reporte = Rpt_Ride_Bus.Optener_reporte(InfoCbteT, ref msj);     //FAct Imporpoint
                    Reporte.ShowPreview();

                    break;

                default:

                    mensaje = (string)gridViewFiles.GetFocusedRowCellValue(e.Column);


                    if (mensaje != "")
                    {
                        frmMensaje frmsg = new frmMensaje();
                        frmsg.richTextBoxMensaje.Text = mensaje;
                        frmsg.WindowState             = FormWindowState.Maximized;
                        frmsg.ShowDialog();
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString());
            }
        }
예제 #3
0
 void cargar_combo()
 {
     try
     {
         ListEmpresa  = busEmpresa.GetEmpresas(ref mensajeError);
         Rpt_Ride_Bus = new Rpt_Ride_bus(ListEmpresa);
     }
     catch (Exception ex)
     {
     }
 }
예제 #4
0
        private void UC_Comprobantes_Autorizados_para_exportacion_Base_Exter_Load(object sender, EventArgs e)
        {
            try
            {
                listEmpresas = busEmpresa.GetEmpresas(ref mensajeError);
                Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpresas);

                BusCbte_exte = new tb_Comprobante_Procesos_externos_Bus(listEmpresas);

                dtp_fechaIni.Value = DateTime.Now.AddMonths(-1);
                dtp_fechaFin.Value = DateTime.Now.AddMonths(1);



                cargar_cbtes_por_exportar();
            }
            catch (Exception ex)
            {
                BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString());
            }
        }
예제 #5
0
        private void UC_Comprobante_Recibidos_Aut_x_SRI_Load(object sender, EventArgs e)
        {
            try
            {
                ListEmpresa = busEmpresa.GetEmpresas(ref mensajeError);

                Rpt_Ride_Bus = new Rpt_Ride_bus(ListEmpresa);

                //dtp_fechaIni.Value = DateTime.Now.AddMonths(-1);
                //dtp_fechaFin.Value = DateTime.Now.AddMonths(1);

                dtp_fechaIni.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
                dtp_fechaFin.Value = DateTime.Now;

                cmb_tipo_Autorizacion.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString());
            }
        }
예제 #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                tb_Empresa_Bus      busEmpresa = new tb_Empresa_Bus();
                tb_Comprobante_Info InfoCbteT  = new tb_Comprobante_Info();
                tb_Comprobante_Bus  BusCbteT   = new tb_Comprobante_Bus();

                XtraReport Reporte = new XtraReport();
                string     msj     = "";

                Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(busEmpresa.GetEmpresas(ref msj));

                InfoCbteT = BusCbteT.consultar(1, "FA-001-002-000004078", "01", "VALI", ref msj);

                Reporte = Rpt_Ride_Bus.Optener_reporte(InfoCbteT, ref msj); //FAct Imporpoint
                Reporte.ShowPreview();

                //object ds = Reporte.DataSource;

                //xRpt_Ride_Factura_Gen_Forma_Pago reporte = new xRpt_Ride_Factura_Gen_Forma_Pago();
                //reporte.DataSource = ds;
                //reporte.ShowPreview();

                ////XtraReport1 repor = new XtraReport1();
                ////repor.DataSource = ds;
                ////repor.ShowPreview();
            }
            catch (Exception ex)
            {
                LoggingManager.Logger.Log(LoggingCategory.Error, ex.Message);
                throw new DalException(string.Format(Resource_Mensajes_Error.RetrieveError, "PricingRule", ex.Message), ex)
                      {
                          EntityType = typeof(Form1)
                      };
            }
        }
예제 #7
0
        public Boolean Enviar_Correo(mail_Mensaje_Info MensajeInfo, ref string mensajeErrorOut)
        {
            string SConfigCta = "";

            try
            {
                if (param.AUTORIZADO_ENVIO_CORREO == false)
                {
                    mensajeErrorOut = "No esta autorizado para envio de correo ";
                    return(false);
                }

                string mensajeError            = "";
                string tipo_conex_cifrada_smtp = "";


                //optengo el nombre de la pc para saber desde donde se envi el correo para auditar la duplicacion...
                MensajeInfo.Texto_mensaje = MensajeInfo.Texto_mensaje + " PC/Envio: " + Funciones.Get_Nombre_PC();
                /////////////


                mail_Cuentas_Correo_Info InfoCtaMail_Remitente = new mail_Cuentas_Correo_Info();
                InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.IdCuenta == MensajeInfo.IdCuenta);


                if (listMail_x_Empresa.Count == 0)
                {
                    mensajeErrorOut = "No Existe cuentas para envio de correo configuradas en la base ";
                    return(false);
                }

                if (InfoCtaMail_Remitente == null || InfoCtaMail_Remitente.IdCuenta == null)
                {
                    mensajeErrorOut = "No existe una cuenta relaciona en la base para la cuenta del mensaje verique por base";
                    return(false);
                }


                //if (!mailValida.email_bien_escrito(MensajeInfo.Para))
                //{
                //    mensajeErrorOut = "La cuenta de correo es Invalida ";
                //    MensajeInfo.IdTipo_Mensaje = eTipoMail.Mail_NO_Env_x_error;
                //    datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut);
                //    return false;
                //}

                if (MensajeInfo.IdCuenta == "" || MensajeInfo.IdCuenta == null)
                {
                    InfoCtaMail_Remitente      = listMail_cta.FirstOrDefault(v => v.cta_predeterminada == true);
                    MensajeInfo.IdCuenta       = InfoCtaMail_Remitente.IdCuenta;
                    MensajeInfo.mail_remitente = InfoCtaMail_Remitente.direccion_correo;

                    datamaMail.Actualizar_Datos_Cuenta(MensajeInfo, ref mensajeErrorOut);

                    mensajeErrorOut = "la Cuenta Remitente no esta establecido en el mensaje se enviara con la cuenta por default ...";
                }
                MailMessage oSmtpMail_msg = new MailMessage();


                // si tiene archivo adjunto
                if (MensajeInfo.Tiene_Adjunto == true)
                {
                    //optengo los archivos adjuntos
                    MensajeInfo.list_Archivos_Adjuntos = OdataArchivoAdjunto.Lista_ArchivoAdjunto_Mensaje_x_comprobante(MensajeInfo.IdMensaje, ref mensajeErrorOut);
                    foreach (var item in MensajeInfo.list_Archivos_Adjuntos)
                    {
                        comprobante = new tb_Comprobante_Info();
                        comprobante = Bus_Comprobante_emisor.Comprobante_consulta_Id_Comprobante(item.IdEmpresa, item.IdComprobante, ref mensajeError);

                        byte[] BinarioFileAdjunto = null;
                        if (comprobante.IdComprobante != null)
                        {
                            // si la extencion ex .pdf lo creo en el tmp
                            if (item.extensionArchivo.ToUpper() == ".PDF")
                            {
                                XtraReport   Reporte      = new XtraReport();
                                Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpr);
                                Reporte = Rpt_Ride_Bus.Optener_reporte(comprobante, ref mensajeError);
                                //pdf
                                FileStream FileBinary;
                                FileBinary = new FileStream(RutaArchivos + "\\" + comprobante.IdComprobante + ".pdf", FileMode.Create);
                                DevExpress.XtraPrinting.PdfExportOptions Optione = new DevExpress.XtraPrinting.PdfExportOptions();
                                Reporte.ExportToPdf(FileBinary, Optione);
                                FileBinary.Close();
                                // lleno la clase archivo adjunto con el pdf que se creo en el tmp
                                DirectoryInfo   Directorio_Pdf_Xml = new DirectoryInfo(RutaArchivos);
                                List <FileInfo> listaFiles         = Directorio_Pdf_Xml.GetFiles(comprobante.IdComprobante + ".pdf").ToList();
                                foreach (var itemBi in listaFiles)
                                {
                                    FileStream file = new FileStream(RutaArchivos + itemBi.Name, FileMode.Open);
                                    BinarioFileAdjunto = new byte[file.Length];

                                    file.Read(BinarioFileAdjunto, 0, Convert.ToInt32(file.Length));
                                    file.Close();
                                }
                            }
                        }

                        // LLENO EL BINARIO PARA EL XML
                        if (item.extensionArchivo.ToUpper() == ".XML")
                        {
                            XmlDocument xmlOrigen = new XmlDocument();
                            xmlOrigen.Load(new StringReader(comprobante.s_XML));
                            BinarioFileAdjunto = Encoding.UTF8.GetBytes(xmlOrigen.OuterXml);
                        }


                        oSmtpMail_msg.Attachments.Add(new System.Net.Mail.Attachment(new MemoryStream(BinarioFileAdjunto), item.IdComprobante + item.extensionArchivo));
                    }
                }


                tipo_conex_cifrada_smtp = InfoCtaMail_Remitente.tipo_Seguridad;


                if (MensajeInfo.Para == "")
                {
                    return(false);
                }
                oSmtpMail_msg.To.Add(MensajeInfo.Para);

                if (MensajeInfo.Para_CC != "" && MensajeInfo.Para_CC != null)
                {
                    string[] slistaCorreo = MensajeInfo.Para_CC.Split(';');

                    foreach (var item in slistaCorreo)
                    {
                        oSmtpMail_msg.CC.Add(item.Trim());
                    }
                }

                oSmtpMail_msg.From    = new System.Net.Mail.MailAddress(InfoCtaMail_Remitente.direccion_correo);
                oSmtpMail_msg.Subject = MensajeInfo.Asunto;
                oSmtpMail_msg.Body    = MensajeInfo.Asunto + "\n\n\n\n";
                oSmtpMail_msg.Body    = oSmtpMail_msg.Body + " " + MensajeInfo.RazonSocial_Emisor;


                if (MensajeInfo.Para == "")
                {
                    mensajeErrorOut = "No hay cuenta de correo a quien enviar ";
                    return(false);
                }

                //enviando correo


                System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
                smtp.Host        = InfoCtaMail_Remitente.ServidorCorreoSaliente;
                smtp.EnableSsl   = InfoCtaMail_Remitente.precisa_conexion_cifrada;
                smtp.Port        = InfoCtaMail_Remitente.Port_salida;
                smtp.Credentials = new NetworkCredential(InfoCtaMail_Remitente.direccion_correo, InfoCtaMail_Remitente.Password);
                smtp.Send(oSmtpMail_msg);


                if (MensajeInfo.IdMensaje > 0)// modificar
                {
                    MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado;
                    datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut);
                }
                //else
                //{
                //    MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado;
                //    datamaMail.GrabarMensajeDB(MensajeInfo, ref mensajeErrorOut);
                //}

                return(true);
            }
            catch (Exception ex)
            {
                mensajeErrorOut = "catch (SmtpException ex) : " + ex.Message + " " + ex.InnerException + " datos de la cta:" + SConfigCta;
                return(false);
            }
        }
예제 #8
0
        public Boolean Enviar_Correo_hold(mail_Mensaje_Info MensajeInfo, ref string mensajeErrorOut)
        {
            string SConfigCta = "";

            try
            {
                if (param.AUTORIZADO_ENVIO_CORREO == false)
                {
                    mensajeErrorOut = "No esta autorizado para envio de correo ";
                    return(false);
                }

                string mensajeError            = "";
                string tipo_conex_cifrada_smtp = "";


                //optengo el nombre de la pc para saber desde donde se envi el correo para auditar la duplicacion...
                MensajeInfo.Texto_mensaje = MensajeInfo.Texto_mensaje + " PC/Envio: " + Funciones.Get_Nombre_PC();
                /////////////


                mail_Cuentas_Correo_Info InfoCtaMail_Remitente = new mail_Cuentas_Correo_Info();
                InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.IdCuenta == MensajeInfo.IdCuenta);


                if (listMail_x_Empresa.Count == 0)
                {
                    mensajeErrorOut = "No Existe cuentas para envio de correo configuradas en la base ";
                    return(false);
                }

                if (InfoCtaMail_Remitente == null || InfoCtaMail_Remitente.IdCuenta == null)
                {
                    mensajeErrorOut = "No existe una cuenta relaciona en la base para la cuenta del mensaje verique por base";
                    return(false);
                }


                if (!mailValida.email_bien_escrito(MensajeInfo.Para))
                {
                    mensajeErrorOut            = "La cuenta de correo es Invalida ";
                    MensajeInfo.IdTipo_Mensaje = eTipoMail.Mail_NO_Env_x_error;
                    datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut);
                    return(false);
                }

                if (MensajeInfo.IdCuenta == "" || MensajeInfo.IdCuenta == null)
                {
                    InfoCtaMail_Remitente      = listMail_cta.FirstOrDefault(v => v.cta_predeterminada == true);
                    MensajeInfo.IdCuenta       = InfoCtaMail_Remitente.IdCuenta;
                    MensajeInfo.mail_remitente = InfoCtaMail_Remitente.direccion_correo;

                    datamaMail.Actualizar_Datos_Cuenta(MensajeInfo, ref mensajeErrorOut);

                    mensajeErrorOut = "la Cuenta Remitente no esta establecido en el mensaje se enviara con la cuenta por default ...";
                }
                SmtpMail              oSmtpMail_msg = new SmtpMail("ES-C1407722592-00106-56VB4AE2B4F8TB75-641B598EBE4D439A");
                SmtpServer            oSmtpServer   = new SmtpServer(InfoCtaMail_Remitente.ServidorCorreoSaliente, InfoCtaMail_Remitente.Port_salida);
                EASendMail.SmtpClient oclienteSmtp  = new EASendMail.SmtpClient();



                if (InfoCtaMail_Remitente.Confirmacion_de_Entrega == true || InfoCtaMail_Remitente.Confirmacion_de_Lectura == true)
                {
                    oSmtpMail_msg.DeliveryNotification = EASendMail.DeliveryNotificationOptions.OnFailure | EASendMail.DeliveryNotificationOptions.OnSuccess | EASendMail.DeliveryNotificationOptions.Delay;

                    if (InfoCtaMail_Remitente.Confirmacion_de_Lectura == true)
                    {
                        oSmtpMail_msg.Headers.Add("Read-Receipt-To", InfoCtaMail_Remitente.direccion_correo);
                    }
                    if (InfoCtaMail_Remitente.Confirmacion_de_Entrega == true)
                    {
                        oSmtpMail_msg.Headers.Add("Disposition-Notification-To", InfoCtaMail_Remitente.direccion_correo);
                    }
                }

                // si tiene archivo adjunto
                if (MensajeInfo.Tiene_Adjunto == true)
                {
                    #region codigo viejo q actualiza el campo de mail



                    #endregion


                    //optengo los archivos adjuntos
                    MensajeInfo.list_Archivos_Adjuntos = OdataArchivoAdjunto.Lista_ArchivoAdjunto_Mensaje_x_comprobante(MensajeInfo.IdMensaje, ref mensajeErrorOut);
                    foreach (var item in MensajeInfo.list_Archivos_Adjuntos)
                    {
                        comprobante = new tb_Comprobante_Info();
                        comprobante = Bus_Comprobante_emisor.Comprobante_consulta_Id_Comprobante(item.IdEmpresa, item.IdComprobante, ref mensajeError);

                        byte[] BinarioFileAdjunto = null;



                        if (comprobante.IdComprobante != null)
                        {
                            // si la extencion ex .pdf lo creo en el tmp
                            if (item.extensionArchivo.ToUpper() == ".PDF")
                            {
                                XtraReport   Reporte      = new XtraReport();
                                Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpr);
                                Reporte = Rpt_Ride_Bus.Optener_reporte(comprobante, ref mensajeError);
                                //pdf
                                FileStream FileBinary;
                                FileBinary = new FileStream(RutaArchivos + "\\" + comprobante.IdComprobante + ".pdf", FileMode.Create);
                                DevExpress.XtraPrinting.PdfExportOptions Optione = new DevExpress.XtraPrinting.PdfExportOptions();
                                Reporte.ExportToPdf(FileBinary, Optione);
                                FileBinary.Close();
                                // lleno la clase archivo adjunto con el pdf que se creo en el tmp
                                DirectoryInfo   Directorio_Pdf_Xml = new DirectoryInfo(RutaArchivos);
                                List <FileInfo> listaFiles         = Directorio_Pdf_Xml.GetFiles(comprobante.IdComprobante + ".pdf").ToList();
                                foreach (var itemBi in listaFiles)
                                {
                                    FileStream file = new FileStream(RutaArchivos + itemBi.Name, FileMode.Open);
                                    BinarioFileAdjunto = new byte[file.Length];

                                    file.Read(BinarioFileAdjunto, 0, Convert.ToInt32(file.Length));
                                    file.Close();
                                }
                            }
                        }

                        // LLENO EL BINARIO PARA EL XML
                        if (item.extensionArchivo.ToUpper() == ".XML")
                        {
                            XmlDocument xmlOrigen = new XmlDocument();
                            xmlOrigen.Load(new StringReader(comprobante.s_XML));
                            BinarioFileAdjunto = Encoding.UTF8.GetBytes(xmlOrigen.OuterXml);
                        }


                        oSmtpMail_msg.AddAttachment(item.IdComprobante + item.extensionArchivo, BinarioFileAdjunto);
                    }
                }


                tipo_conex_cifrada_smtp = InfoCtaMail_Remitente.tipo_Seguridad;

                if (InfoCtaMail_Remitente.tipo_Seguridad != "Ninguno")
                {
                    oSmtpServer.User     = InfoCtaMail_Remitente.Usuario;
                    oSmtpServer.Password = InfoCtaMail_Remitente.Password;
                }


                switch (tipo_conex_cifrada_smtp)
                {
                case "SSL":
                    oSmtpServer.ConnectType = SmtpConnectType.ConnectSSLAuto;
                    oSmtpServer.Port        = 465;
                    break;

                case "TLS":
                    oSmtpServer.ConnectType = SmtpConnectType.ConnectSSLAuto;
                    break;

                case "Ninguno":
                    oSmtpServer.ConnectType = SmtpConnectType.ConnectNormal;
                    break;

                case "STARTTLS":
                    oSmtpServer.ConnectType = SmtpConnectType.ConnectSTARTTLS;
                    break;

                default:
                    oSmtpServer.ConnectType = SmtpConnectType.ConnectNormal;
                    break;
                }



                oSmtpMail_msg.To.Add(new EASendMail.MailAddress(MensajeInfo.Para));

                if (MensajeInfo.Para_CC != "" && MensajeInfo.Para_CC != null)
                {
                    string[] slistaCorreo = MensajeInfo.Para_CC.Split(';');

                    foreach (var item in slistaCorreo)
                    {
                        oSmtpMail_msg.Cc.Add(new EASendMail.MailAddress(item.Trim()));
                    }
                }

                oSmtpMail_msg.From     = new EASendMail.MailAddress(InfoCtaMail_Remitente.direccion_correo);
                oSmtpMail_msg.Subject  = MensajeInfo.Asunto;
                oSmtpMail_msg.TextBody = MensajeInfo.Texto_mensaje;



                SConfigCta = "msg.From :" + oSmtpMail_msg.From.ToString() + "\n";
                SConfigCta = SConfigCta + " msg.To:" + oSmtpMail_msg.To.ToString() + "\n";
                SConfigCta = SConfigCta + " msg.Subject " + oSmtpMail_msg.Subject.ToString() + "\n";
                SConfigCta = SConfigCta + "msg.Body :" + oSmtpMail_msg.TextBody.ToString() + "\n";
                SConfigCta = SConfigCta + "oSmtpServer.Port:" + oSmtpServer.Port.ToString() + "\n";
                SConfigCta = SConfigCta + " oSmtpServer.User:"******"\n";
                SConfigCta = SConfigCta + " oSmtpServer.Password:"******"\n";
                SConfigCta = SConfigCta + " oSmtpServer.Protocol :" + oSmtpServer.Protocol + "\n";

                if (MensajeInfo.Para == "")
                {
                    mensajeErrorOut = "No hay cuenta de correo a quien enviar ";
                    return(false);
                }

                //enviando correo

                oclienteSmtp.SendMail(oSmtpServer, oSmtpMail_msg);

                if (MensajeInfo.IdMensaje > 0)// modificar
                {
                    MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado;
                    datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut);
                }
                else
                {
                    MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado;
                    datamaMail.GrabarMensajeDB(MensajeInfo, ref mensajeErrorOut);
                }

                return(true);
            }
            catch (Exception ex)
            {
                mensajeErrorOut = "catch (SmtpException ex) : " + ex.Message + " " + ex.InnerException + " datos de la cta:" + SConfigCta;
                return(false);
            }
        }
예제 #9
0
        //public void DoWork()
        //{
        //}

        public byte[] getRide_Pdf(int IdEmpresa, string cedulaRuc, string IdComprobante)
        {
            try
            {
                XtraReport Reporte  = new XtraReport();
                string     msg      = "";
                string     RutaFile = Path.GetTempPath();

                tb_Comprobante_Info    InfoCbteT  = new tb_Comprobante_Info();
                tb_Comprobante_Bus     BuscCbte   = new tb_Comprobante_Bus();
                List <tb_Empresa_Info> listEmpres = new List <tb_Empresa_Info>();
                listEmpres = new tb_Empresa_Bus().GetEmpresas(ref msg);


                Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpres);

                //hacer consulta
                InfoCbteT = BuscCbte.consulta_PDF_info(IdEmpresa, cedulaRuc, IdComprobante, ref msg);

                Reporte = Rpt_Ride_Bus.Optener_reporte(InfoCbteT, ref msg); //FAct Imporpoint

                Stream FileBinary;

                RutaFile = RutaFile + "\\" + InfoCbteT.IdComprobante + ".pdf";

                FileBinary = new FileStream(RutaFile, FileMode.Create);

                Reporte.ExportToPdf(FileBinary);
                FileBinary.Close();

                /// leer pdf en memoria
                ///

                byte[] bytes;

                using (FileStream fsSource = new FileStream(RutaFile,
                                                            FileMode.Open, FileAccess.Read))
                {
                    // Read the source file into a byte array.
                    bytes = new byte[fsSource.Length];
                    int numBytesToRead = (int)fsSource.Length;
                    int numBytesRead   = 0;
                    while (numBytesToRead > 0)
                    {
                        // Read may return anything from 0 to numBytesToRead.
                        int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);

                        // Break when the end of the file is reached.
                        if (n == 0)
                        {
                            break;
                        }

                        numBytesRead   += n;
                        numBytesToRead -= n;
                    }
                    numBytesToRead = bytes.Length;
                }



                return(bytes);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }