Ejemplo n.º 1
0
        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;
            }
        }