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); }
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); }
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); }