XtraReport CreateReport(string clave) { XtraReport report = null; 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; } 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 { 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; } } return(report); }
XtraReport CreateReport(string clave) { XtraReport report = null; using (var conexion = new DataModelFE()) { WSRecepcionPOSTProforma dato = conexion.WSRecepcionPOSTProforma.Where(x => x.clave == clave).FirstOrDefault(); if (dato != null) { string xml = EncodeXML.EncondeXML.base64Decode(dato.comprobanteXml); //Revertimos lo de la proforma xml = xml.Replace("FacturaElectronica", "ProformaElectronica"); RptComprobanteProformas reportES = new RptComprobanteProformas(); //Crear Proforma en Inglés RptComprobanteProformasEN reportEN = new RptComprobanteProformasEN(); ProformaElectronica documento = (ProformaElectronica)EncodeXML.EncondeXML.getObjetcFromXML(xml); Empresa empresa = conexion.Empresa.Find(documento.emisor.identificacion.numero); if (empresa != null && "EN".Equals(empresa.idioma)) { object dataSource = UtilidadesReporte.cargarObjetoImpresionProforma(documento, dato.mensaje, empresa); reportEN.objectDataSource1.DataSource = dataSource; string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL_PROFORMA"].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 { object dataSource = UtilidadesReporte.cargarObjetoImpresionProforma(documento, dato.mensaje, empresa); reportES.objectDataSource1.DataSource = dataSource; string enviroment_url = ConfigurationManager.AppSettings["ENVIROMENT_URL_PROFORMA"].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; } } } 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); }