public DevExpress.XtraReports.UI.XtraReport Optener_reporte(int IdEmpresa, string IdComprobante, eTipoComprobante IdTipoDocumento , string IdEstado_cbte, ref string mensajeErrorOut) { try { tb_Comprobante_Bus BusCbte = new tb_Comprobante_Bus(); XtraReport Reporte = new XtraReport(); factura InfoFactura = new factura(); InfoFactura = BusCbte.consultar_Factura(IdEmpresa, IdComprobante, "01", IdEstado_cbte, ref mensajeErrorOut); Reporte = OBusReporte.Optener_reporte(InfoFactura); return(Reporte); // break; // case eTipoComprobante.NotaCredito: // notaCredito InfoNotaCred = new notaCredito(); // InfoNotaCred = BusCbte.consultar_NotaCredito(IdEmpresa, IdComprobante, "04", IdEstado_cbte, ref mensajeErrorOut); // break; // case eTipoComprobante.NotaDebito: // notaDebito InfoNotaDeb = new notaDebito(); // InfoNotaDeb = BusCbte.consultar_NotaDebito(IdEmpresa, IdComprobante, "05", IdEstado_cbte, ref mensajeErrorOut); // break; // case eTipoComprobante.Guia: // guiaRemision InfoGuia = new guiaRemision(); // InfoGuia = BusCbte.consultar_Guia(IdEmpresa, IdComprobante, "06", IdEstado_cbte, ref mensajeErrorOut); // break; // case eTipoComprobante.Retencion: // comprobanteRetencion InfoCbteRet = new comprobanteRetencion(); // InfoCbteRet = BusCbte.consultar_Retencion(IdEmpresa, IdComprobante, "06", IdEstado_cbte, ref mensajeErrorOut); // break; //} } catch (Exception ex) { return(new XtraReport()); } }
public DevExpress.XtraReports.UI.XtraReport Optener_reporte(tb_Comprobante_Info InfoCbte, ref string mensajeErrorOut) { try { // consulto si hay reporte guardado para esa empresa por documento Info = data_.consultar_tipo(InfoCbte.IdEmpresa, Convert.ToString(InfoCbte.IdTipoDocumento), ref mensajeErrorOut); //********************** tb_Comprobante_Data DataCbte = new tb_Comprobante_Data(); XtraReport Reporte = new XtraReport(); Image Logo = null; Instanciando_clases_reporte(InfoCbte.IdEmpresa, ref mensajeErrorOut); #region Opteniendo Logo var q = from c in listEmpresa where c.IdEmpresa == InfoCbte.IdEmpresa select c; foreach (var item in q) { Logo = Funciones.ArrayAImage(item.logo); } #endregion switch (InfoCbte.IdTipoDocumento) { case "01": factura_Ride_Info InfoFactura = new factura_Ride_Info(); // si no esta guardado el reporte en la bd if (Info.ReporteBy == null) { InfoFactura = DataCbte.consultar_Factura_ride(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoFactura.Logo = Logo; InfoFactura.numeros_en_letras = funciones.NumeroALetras(InfoFactura.factura.infoFactura.importeTotal.ToString()); Reporte = OBusReporteFactura.Optener_reporte(InfoFactura); using (MemoryStream stream = new MemoryStream()) { byte[] data; Reporte.SaveLayout(stream); data = stream.ToArray(); // grabar bd InfoComprobanteem.IdEmpresa = InfoCbte.IdEmpresa; InfoComprobanteem.idComprobante_tipo = InfoCbte.IdTipoDocumento; InfoComprobanteem.File_disenio_rpt = data; IBusComprobanteem.ModificarDB(InfoComprobanteem, ref mensajeErrorOut); } } else { InfoFactura = DataCbte.consultar_Factura_ride(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoFactura.Logo = Logo; InfoFactura.numeros_en_letras = funciones.NumeroALetras(InfoFactura.factura.infoFactura.importeTotal.ToString()); File.WriteAllBytes(Ruta_Reporte_Fac, Info.ReporteBy); Reporte = OBusReporteFactura.Optener_reporte(InfoFactura); Reporte.LoadLayout(Ruta_Reporte_Fac); } break; case "04": notaCredito_Ride_Info InfoNotaCred = new notaCredito_Ride_Info(); // si no esta guardado el reporte en la bd if (Info.ReporteBy == null) { InfoNotaCred = DataCbte.consultar_NotaCredito_Ride(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoNotaCred.numeros_en_letras = funciones.NumeroALetras(InfoNotaCred.notaCredito.infoNotaCredito.valorModificacion.ToString()); InfoNotaCred.Logo = Logo; Reporte = OBusReporteNotaCred.Optener_reporte(InfoNotaCred); using (MemoryStream stream = new MemoryStream()) { byte[] data; Reporte.SaveLayout(stream); data = stream.ToArray(); // grabar bd InfoComprobanteem.IdEmpresa = InfoCbte.IdEmpresa; InfoComprobanteem.idComprobante_tipo = InfoCbte.IdTipoDocumento; InfoComprobanteem.File_disenio_rpt = data; IBusComprobanteem.ModificarDB(InfoComprobanteem, ref mensajeErrorOut); } } else { InfoNotaCred = DataCbte.consultar_NotaCredito_Ride(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoNotaCred.Logo = Logo; InfoNotaCred.numeros_en_letras = funciones.NumeroALetras(InfoNotaCred.notaCredito.infoNotaCredito.valorModificacion.ToString()); File.WriteAllBytes(Ruta_Reporte_NC, Info.ReporteBy); Reporte = OBusReporteNotaCred.Optener_reporte(InfoNotaCred); Reporte.LoadLayout(Ruta_Reporte_NC); } break; case "05": notaDebito_Ride_Info InfoNotaDeb = new notaDebito_Ride_Info(); // si no esta guardado el reporte en la bd if (Info.ReporteBy == null) { InfoNotaDeb = DataCbte.consultar_NotaDebito(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoNotaDeb.numeros_en_letras = funciones.NumeroALetras(InfoNotaDeb.notaDebito.infoNotaDebito.valorTotal.ToString()); InfoNotaDeb.Logo = Logo; Reporte = OBusReporteNotaDeb.Optener_reporte(InfoNotaDeb); using (MemoryStream stream = new MemoryStream()) { byte[] data; Reporte.SaveLayout(stream); data = stream.ToArray(); // grabar bd InfoComprobanteem.IdEmpresa = InfoCbte.IdEmpresa; InfoComprobanteem.idComprobante_tipo = InfoCbte.IdTipoDocumento; InfoComprobanteem.File_disenio_rpt = data; IBusComprobanteem.ModificarDB(InfoComprobanteem, ref mensajeErrorOut); } } else { InfoNotaDeb = DataCbte.consultar_NotaDebito(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoNotaDeb.Logo = Logo; InfoNotaDeb.numeros_en_letras = funciones.NumeroALetras(InfoNotaDeb.notaDebito.infoNotaDebito.valorTotal.ToString()); File.WriteAllBytes(Ruta_Reporte_ND, Info.ReporteBy); Reporte = OBusReporteNotaDeb.Optener_reporte(InfoNotaDeb); Reporte.LoadLayout(Ruta_Reporte_ND); } break; case "06": guiaRemision_Ride_Info InfoGuia = new guiaRemision_Ride_Info(); // si no esta guardado el reporte en la bd if (Info.ReporteBy == null) { InfoGuia = DataCbte.consultar_Guia(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoGuia.Logo = Logo; Reporte = OBusReporteGuia_Remi.Optener_reporte(InfoGuia); using (MemoryStream stream = new MemoryStream()) { byte[] data; Reporte.SaveLayout(stream); data = stream.ToArray(); // grabar bd InfoComprobanteem.IdEmpresa = InfoCbte.IdEmpresa; InfoComprobanteem.idComprobante_tipo = InfoCbte.IdTipoDocumento; InfoComprobanteem.File_disenio_rpt = data; IBusComprobanteem.ModificarDB(InfoComprobanteem, ref mensajeErrorOut); } } else { InfoGuia = DataCbte.consultar_Guia(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoGuia.Logo = Logo; File.WriteAllBytes(Ruta_Reporte_Guia, Info.ReporteBy); Reporte = OBusReporteGuia_Remi.Optener_reporte(InfoGuia); Reporte.LoadLayout(Ruta_Reporte_Guia); } break; case "07": comprobanteRetencion_Ride_Info InfoCbteRet = new comprobanteRetencion_Ride_Info(); // si no esta guardado el reporte en la bd if (Info.ReporteBy == null) { InfoCbteRet = DataCbte.consultar_Retencion(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoCbteRet.Logo = Logo; Reporte = OBusReporteRetencion.Optener_reporte(InfoCbteRet); using (MemoryStream stream = new MemoryStream()) { byte[] data; Reporte.SaveLayout(stream); data = stream.ToArray(); // grabar bd InfoComprobanteem.IdEmpresa = InfoCbte.IdEmpresa; InfoComprobanteem.idComprobante_tipo = InfoCbte.IdTipoDocumento; InfoComprobanteem.File_disenio_rpt = data; IBusComprobanteem.ModificarDB(InfoComprobanteem, ref mensajeErrorOut); } } else { InfoCbteRet = DataCbte.consultar_Retencion(InfoCbte.IdEmpresa, InfoCbte.IdComprobante, InfoCbte.IdTipoDocumento, InfoCbte.IdEstado_cbte, ref mensajeErrorOut); InfoCbteRet.Logo = Logo; File.WriteAllBytes(Ruta_Reporte_Ret, Info.ReporteBy); Reporte = OBusReporteRetencion.Optener_reporte(InfoCbteRet); Reporte.LoadLayout(Ruta_Reporte_Ret); } break; } return(Reporte); } catch (Exception ex) { return(new XtraReport()); } }