public List <com_CotizacionPedidoDet_Info> GetList(int IdEmpresa, decimal IdCotizacion, string Cargo) { try { List <com_CotizacionPedidoDet_Info> Lista = new List <com_CotizacionPedidoDet_Info>(); using (EntitiesCompras db = new EntitiesCompras()) { db.SetCommandTimeOut(3000); Lista = db.vwcom_CotizacionPedidoDet.Where(q => q.IdEmpresa == IdEmpresa && q.IdCotizacion == IdCotizacion).Select(q => new com_CotizacionPedidoDet_Info { IdEmpresa = q.IdEmpresa, IdCotizacion = q.IdCotizacion, Secuencia = q.Secuencia, opd_IdEmpresa = q.opd_IdEmpresa, opd_IdOrdenPedido = q.opd_IdOrdenPedido, opd_Secuencia = q.opd_Secuencia, IdProducto = q.IdProducto, cd_Cantidad = q.cd_Cantidad, cd_precioCompra = q.cd_precioCompra, cd_porc_des = q.cd_porc_des, cd_descuento = q.cd_descuento, cd_precioFinal = q.cd_precioFinal, cd_subtotal = q.cd_subtotal, IdCod_Impuesto = q.IdCod_Impuesto, Por_Iva = q.Por_Iva, cd_iva = q.cd_iva, cd_total = q.cd_total, IdUnidadMedida = q.IdUnidadMedida, IdPunto_cargo = q.IdPunto_cargo, EstadoGA = q.EstadoGA, EstadoJC = q.EstadoJC, pr_descripcion = q.pr_descripcion, NomUnidadMedida = q.NomUnidadMedida, nom_impuesto = q.nom_impuesto, nom_punto_cargo = q.nom_punto_cargo, A = true, cd_DetallePorItem = q.cd_DetallePorItem, op_Observacion = q.op_Observacion, opd_Detalle = q.opd_Detalle, FechaCantidad = q.FechaCantidad, Adjunto = q.Adjunto ?? false, NombreArchivo = q.NombreArchivo }).ToList(); } using (EntitiesInventario db = new EntitiesInventario()) { db.SetCommandTimeOut(3000); foreach (var item in Lista) { var MejorPrecio = db.SPINV_MejorPrecio(IdEmpresa, item.IdProducto).FirstOrDefault(); if (MejorPrecio != null) { item.MejorPrecio = MejorPrecio.MejorPrecio ?? 0; } double Diferencia = item.cd_precioFinal - item.MejorPrecio; item.Color = Diferencia > 0 ? System.Drawing.Color.Red : System.Drawing.Color.Green; } } return(Lista); } catch (Exception) { throw; } }