示例#1
0
        public static MemoryStream generarPDF(string clave)
        {
            var reportStream = new MemoryStream();

            using (var conexion = new DataModelFE())
            {
                string xml     = "";
                string mensaje = "";
                if (clave.Substring(29, 2) == TipoDocumento.PROFORMA)
                {
                    WSRecepcionPOSTProforma dato = conexion.WSRecepcionPOSTProforma.Find(clave);
                    xml     = dato.comprobanteXml;
                    mensaje = dato.mensaje;
                }
                else
                {
                    WSRecepcionPOST dato = conexion.WSRecepcionPOST.Find(clave);
                    xml     = dato.comprobanteXml;
                    mensaje = dato.mensaje;
                }

                DocumentoElectronico documento = (DocumentoElectronico)EncodeXML.XMLUtils.getObjetcFromXML(xml);
                Empresa empresa = conexion.Empresa.Find(documento.emisor.identificacion.numero);

                if (empresa != null && "EN".Equals(empresa.idioma))
                {
                    using (RptComprobanteEN report = new RptComprobanteEN())
                    {
                        object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, mensaje, empresa);
                        report.objectDataSource1.DataSource = dataSource;
                        string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                        report.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                        if (empresa != null && empresa.logo != null)
                        {
                            report.pbLogo.Image = byteArrayToImage(empresa.logo);
                        }
                        report.CreateDocument();
                        report.ExportToPdf(reportStream);
                    }
                }
                else
                {
                    using (RptComprobante report = new RptComprobante())
                    {
                        object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, mensaje, empresa);
                        report.objectDataSource1.DataSource = dataSource;
                        string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                        report.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                        if (empresa != null && empresa.logo != null)
                        {
                            report.pbLogo.Image = byteArrayToImage(empresa.logo);
                        }
                        report.CreateDocument();
                        report.ExportToPdf(reportStream);
                    }
                }
            }
            return(reportStream);
        }
示例#2
0
        RptComprobanteEN CreateReport()
        {
            RptComprobanteEN report = new RptComprobanteEN();

            XMLDomain.Impresion fe = new XMLDomain.Impresion();
            //fe.iniciarParametros();
            object dataSource = fe;

            report.objectDataSource1.DataSource = dataSource;

            //EL MENSAJE SE DEBE DE ENVIAR SIEMPRE EN MAYUSCULA
            string variable = "WWW.GMAIL.COM";

            //El control debe estar como Público
            //report.codebar.Text = variable.ToUpper();
            //Se crea el documento

            report.CreateDocument();
            return(report);
        }
示例#3
0
        XtraReport CreateReport(string clave)
        {
            XtraReport report = null;

            using (var conexion = new DataModelFE())
            {
                string mensaje = "";
                string xml     = "";
                if (clave.Substring(29, 2) == TipoDocumento.PROFORMA)
                {
                    WSRecepcionPOSTProforma dato = conexion.WSRecepcionPOSTProforma.Find(clave);
                    if (dato != null)
                    {
                        xml = dato.comprobanteXml;
                    }
                }
                else
                {
                    WSRecepcionPOST dato = conexion.WSRecepcionPOST.Find(clave);
                    if (dato != null)
                    {
                        xml = dato.comprobanteXml;
                    }
                }

                //WSRecepcionPOST dato = conexion.WSRecepcionPOST.Where(x => x.clave == clave).FirstOrDefault();
                if (!string.IsNullOrWhiteSpace(xml))
                {
                    //string xml = EncodeXML.XMLUtils.base64Decode(xml);

                    RptComprobante   reportES = new RptComprobante();
                    RptComprobanteEN reportEN = new RptComprobanteEN();

                    DocumentoElectronico documento = (DocumentoElectronico)EncodeXML.XMLUtils.getObjetcFromXML(xml);

                    Empresa empresa = conexion.Empresa.Find(documento.emisor.identificacion.numero);

                    if (empresa != null && "EN".Equals(empresa.idioma))
                    {
                        object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, mensaje, empresa);
                        reportEN.objectDataSource1.DataSource = dataSource;
                        string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                        reportEN.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                        if (empresa != null && empresa.logo != null)
                        {
                            reportEN.pbLogo.Image = UtilidadesReporte.byteArrayToImage(empresa.logo);
                        }
                        reportEN.CreateDocument();
                        report = reportEN;
                    }
                    else
                    {
                        if (empresa != null && "ES".Equals(empresa.idioma))
                        {
                            object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, mensaje, empresa);
                            reportES.objectDataSource1.DataSource = dataSource;
                            string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                            reportES.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                            if (empresa != null && empresa.logo != null)
                            {
                                reportES.pbLogo.Image = UtilidadesReporte.byteArrayToImage(empresa.logo);
                            }
                            reportES.CreateDocument();
                            report = reportES;
                        }
                        else
                        {
                            this.alertMessages.Attributes["class"] = "alert alert-danger";
                            this.alertMessages.InnerText           = "El documento ingresado no se encuentra en el repositorio de datos del emisor!!!";
                        }
                    }
                    this.alertMessages.Attributes["class"] = "alert alert-info";
                    this.alertMessages.InnerText           = "Los datos fueron enviados correctamente!!!";
                }
                else
                {
                    this.alertMessages.Attributes["class"] = "alert alert-danger";
                    this.alertMessages.InnerText           = "El documento ingresado no se encuentra en el repositorio de datos del emisor!!!";
                }
            }

            return(report);
        }
        private XtraReport CreateReport()
        {
            XtraReport report1 = new XtraReport();
            XtraReport report2 = new XtraReport();

            List <XtraReport> oLista = new List <XtraReport>();
            XtraReport        report = null;
            var pLista = (List <String>)Session["claves"];

            foreach (var item in pLista)
            {
                XtraReport reportP = new XtraReport();

                using (var conexion = new DataModelFE())
                {
                    WSRecepcionPOST dato = conexion.WSRecepcionPOST.Where(x => x.clave == item.ToString()).FirstOrDefault();
                    string          xml  = dato.comprobanteXml;

                    RptComprobante   reportES = new RptComprobante();
                    RptComprobanteEN reportEN = new RptComprobanteEN();

                    DocumentoElectronico documento = (DocumentoElectronico)EncodeXML.XMLUtils.getObjetcFromXML(xml);
                    Empresa empresa = conexion.Empresa.Find(documento.emisor.identificacion.numero);

                    if (empresa != null && "EN".Equals(empresa.idioma))
                    {
                        object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, dato.mensaje, empresa);
                        reportEN.objectDataSource1.DataSource = dataSource;
                        string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                        reportEN.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                        if (empresa != null && empresa.logo != null)
                        {
                            reportEN.pbLogo.Image = UtilidadesReporte.byteArrayToImage(empresa.logo);
                        }

                        reportEN.CreateDocument();
                        reportP = reportEN;
                    }
                    else
                    {
                        object dataSource = UtilidadesReporte.cargarObjetoImpresion(documento, dato.mensaje, empresa);
                        reportES.objectDataSource1.DataSource = dataSource;
                        string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL"].ToString();
                        reportES.xrBarCode1.Text = (enviroment_url + documento.clave).ToUpper();
                        if (empresa != null && empresa.logo != null)
                        {
                            reportES.pbLogo.Image = UtilidadesReporte.byteArrayToImage(empresa.logo);
                        }
                        reportES.CreateDocument();
                        reportP = reportES;
                    }
                }
                oLista.Add(reportP);
            }

            if (oLista.Count == 1)
            {
                report1 = oLista[0];
            }
            else
            {
                if (oLista.Count == 2)
                {
                    report1 = oLista[0];
                    report2 = oLista[1];
                    report1.Pages.AddRange(report2.Pages);
                    report1.PrintingSystem.ContinuousPageNumbering = true;
                }
                else
                {
                    for (int i = 0; i < oLista.Count - 1; i++)
                    {
                        if (i == 0)
                        {
                            report1 = oLista[i];
                        }
                        else
                        {
                            report1 = report1;
                        }

                        report2 = oLista[i + 1];
                        report1.Pages.AddRange(report2.Pages);
                        report1.PrintingSystem.ContinuousPageNumbering = true;
                    }
                }
            }

            report = report1;
            return(report);
        }