public dbTools(string iSqlStr, SqlSP iSqlSp) { this.dbConnection = Global_FormGenerator_Connection; this.FileForSaveMessage = Global_FileForSaveMessage; this.CommandText = iSqlStr; this.CommandType = iSqlSp; }
public ActionResult Export_Solicitud_Servicio() { ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reports/Solicitud_Servicio.rpt"))); List <Facturacion_Solicitud_Detalle> facturacion_Solicitud_Detalle = new List <Facturacion_Solicitud_Detalle>(); SqlSP spSql = new SqlSP(); DataTable ServiciosGeneral = spSql.spGetData("[dbo].[rptFacturacionSolicitud]", new string[] { "@Accion:DetalledeFacturaId", "@idBA:" + 914 }); List <Facturacion_Solicitud_Detalle> listServiciosGeneral = ServiciosGeneral.AsEnumerable().Select(x => new Facturacion_Solicitud_Detalle { Id = (int)x["Id"] , Facturacion_SolicitudId = Convert.IsDBNull(x["Id"]) ? 0 : (int)x["Id"] , Programa_Circulacion_CompletoITEM = Convert.IsDBNull(x["Programa_Circulacion_CompletoITEM"]) ? "" : (string)x["Programa_Circulacion_CompletoITEM"] , Titulo = Convert.IsDBNull(x["TITULO"]) ? "" : (string)x["TITULO"] , Item_Facturacion = Convert.IsDBNull(x["Item_Facturacion"]) ? "" : (string)x["Item_Facturacion"] , Servicio = Convert.IsDBNull(x["Servicio"]) ? "" : (string)x["Servicio"] , Cantidad_Solicitada_Solicitante = Convert.IsDBNull(x["Cantidad_Solicitada_Solicitante"]) ? 0 : (int)x["Cantidad_Solicitada_Solicitante"] , Cantidad_Solicitada_Confirmada = Convert.IsDBNull(x["Cantidad_Solicitada_Confirmada"]) ? 0 : (int)x["Cantidad_Solicitada_Confirmada"] , Costo_Unidad_Solicitante = Convert.IsDBNull(x["Costo_Unidad_Solicitante"]) ? 0.0 : Math.Round((double)x["Costo_Unidad_Solicitante"], 3) , Costo_Unidad_Confirmada = Convert.IsDBNull(x["Costo_Unidad_Confirmada"]) ? 0.0 : Math.Round((double)x["Costo_Unidad_Confirmada"], 3) , Cantidad_Ejecutada = Convert.IsDBNull(x["Cantidad_Ejecutada"]) ? 0 : (int)x["Cantidad_Ejecutada"] , Creation_Timestamp = Convert.IsDBNull(x["Creation_Timestamp"]) ? DateTime.Parse("") : (DateTime)x["Creation_Timestamp"] , Nombre = Convert.IsDBNull(x["Nombre"]) ? "" : (string)x["Nombre"] , CostoUnitario_SinIVA = Convert.IsDBNull(x["CostoUnitario_SinIVA"]) ? 0.0 : Math.Round((double)x["CostoUnitario_SinIVA"], 3) , Concepto_De_Facturacion = Convert.IsDBNull(x["Concepto_De_Facturacion"]) ? 0 : (int)x["Concepto_De_Facturacion"] , Concepto_A_Facturar = Convert.IsDBNull(x["Concepto_A_Facturar"]) ? 0 : (int)x["Concepto_A_Facturar"] , Importe_Antes_IVA = Convert.IsDBNull(x["Importes_Antes_IVA"]) ? 0 : (double)x["Importes_Antes_IVA"] , Costo_Unitario = Convert.IsDBNull(x["Costo_Unitario"]) ? 0 : (double)x["Costo_Unitario"] , Nombre_Elaboro = Convert.IsDBNull(x["Nombre_Elaboro"]) ? "" : (string)x["Nombre_Elaboro"] }).ToList(); DataTable ServiciosGeneralSum = spSql.spGetData("[dbo].[rptFacturacionSolicitud]", new string[] { "@Accion:GetSum", "@idBA:" + 914 }); List <Facturacion_Solicitud_Detalle> listServiciosGeneralSum = ServiciosGeneralSum.AsEnumerable().Select(x => new Facturacion_Solicitud_Detalle { TotalImporte = Convert.IsDBNull(x["TotalImporte"]) ? 0.0 : Math.Round((double)x["TotalImporte"], 3) }).ToList(); //listServiciosGeneral = listServiciosGeneral.Concat(listServiciosGeneralSum).ToList(); rd.SetDataSource(listServiciosGeneral.Select(p => new { Facturacion_SolicitudId = p.Facturacion_SolicitudId.ToString(), Programa_Circulacion_CompletoITEM = p.Programa_Circulacion_CompletoITEM, Titulo = p.Titulo, Item_Facturacion = p.Item_Facturacion, Servicio = p.Servicio, Cantidad_Solicitada_Solicitante = p.Cantidad_Solicitada_Solicitante, Cantidad_Solicitada_Confirmada = p.Cantidad_Solicitada_Confirmada, Costo_Unidad_Solicitante = p.Costo_Unidad_Solicitante, Costo_Unidad_Confirmada = p.Costo_Unidad_Confirmada, Cantidad_Ejecutada = p.Cantidad_Ejecutada, Creation_Timestamp = p.Creation_Timestamp, Nombre = p.Nombre, Unidad = p.Unidad, CostoUnitario_SinIVA = p.CostoUnitario_SinIVA, Concepto_De_Facturacion = p.Concepto_De_Facturacion, Concepto_A_Facturar = p.Concepto_A_Facturar, Importe_Antes_IVA = p.Importe_Antes_IVA, Costo_Unitario = p.Costo_Unitario, Nombre_Elaboro = p.Nombre_Elaboro, TotalImporte = p.TotalImporte }) ); Response.ClearContent(); Response.Buffer = false; Response.ClearHeaders(); try { Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "application/pdf", "Solicitud_Servicio_" + 914 + ".pdf")); } catch (Exception) { //return null; throw; } }