예제 #1
0
        public static List <BaseProductos> Obtener(SAB_UACI_CONTRATOS contrato)
        {
            using (var db = new SinabEntities())
            {
                var rec = Contratos.Obtener(contrato, db);
                return(rec.SAB_UACI_PRODUCTOSCONTRATO
                       .Join(db.vv_CATALOGOPRODUCTOS,
                             obj => obj.IDPRODUCTO,
                             inf => inf.IDPRODUCTO,
                             (obj, inf) => new BaseProductos
                {
                    IdEstablecimiento = obj.IDESTABLECIMIENTO,
                    IdProducto = obj.IDPRODUCTO,
                    IdProveedor = obj.IDPROVEEDOR,
                    IdContrato = obj.IDCONTRATO,
                    PrecioUnitario = obj.PRECIOUNITARIO ?? 0,
                    CorrProducto = inf.CORRPRODUCTO,
                    Renglon = obj.RENGLON,
                    DescLargo = inf.DESCLARGO,
                    UnidadMedida = inf.UNIDADMEDIDA,
                    DescripcionProveedor = obj.DESCRIPCIONPROVEEDOR,
                    EstaHabilitado = obj.ESTAHABILITADO,
                    FechaDeshabilitacion = obj.FECHADESHABILITACION,
                    Observacion = obj.OBSERVACION,
                    Descripcion = inf.DESCRIPCION,
                    Cantidad = obj.CANTIDAD,
                    Total = obj.PRECIOUNITARIO * obj.CANTIDAD,
                })

                       .OrderBy(objinfo => objinfo.Renglon).ToList());
            }
        }
예제 #2
0
 public static List <SAB_UACI_RESPONSABLEDISTRIBUCIONCONTRATO> Obtener(SAB_UACI_CONTRATOS contrato)
 {
     using (var db = new SinabEntities())
     {
         var rec = Contratos.Obtener(contrato, db);
         return(rec.SAB_UACI_RESPONSABLEDISTRIBUCIONCONTRATO.OrderBy(rdc => rdc.Nombre).ToList());
     }
 }
예제 #3
0
 public static bool ExisteProducto(SAB_UACI_CONTRATOS contrato, long renglon)
 {
     using (var db = new SinabEntities())
     {
         var rec = Contratos.Obtener(contrato, db);
         return(rec.SAB_UACI_PRODUCTOSCONTRATO.Any(pc => pc.RENGLON == renglon));
     }
 }
예제 #4
0
 public static List <SAB_UACI_PRODUCTOSCONTRATO> ObtenerInmediatos(SAB_UACI_CONTRATOS contrato)
 {
     using (var db = new SinabEntities())
     {
         var cont = Contratos.Obtener(contrato, db);
         return(cont.SAB_UACI_PRODUCTOSCONTRATO.ToList());
     }
 }
예제 #5
0
        public static List <SAB_UACI_FUENTEFINANCIAMIENTOSCONTRATOS> Obtener(SAB_UACI_CONTRATOS contrato)
        {
            using (var db = new SinabEntities())
            {
                var rec = Contratos.Obtener(contrato, db);

                return(rec.SAB_UACI_FUENTEFINANCIAMIENTOSCONTRATOS.
                       OrderBy(ffc => ffc.Nombre).ToList());
            }
        }
예제 #6
0
 public static long ObtenerSiguienteRenglon(SAB_UACI_CONTRATOS contrato)
 {
     using (var db = new SinabEntities())
     {
         var rec  = Contratos.Obtener(contrato, db);
         var list = rec.SAB_UACI_PRODUCTOSCONTRATO.ToList();
         if (!list.Any())
         {
             return(1);
         }
         var reng = list.Max(pc => pc.RENGLON);
         return(reng + 1);
     }
 }
예제 #7
0
        public static bool ExisteProducto(SAB_UACI_PRODUCTOSCONTRATO producto)
        {
            var baseContrato = new SAB_UACI_CONTRATOS()
            {
                IDCONTRATO        = producto.IDCONTRATO,
                IDESTABLECIMIENTO = producto.IDESTABLECIMIENTO,
                IDPROVEEDOR       = producto.IDPROVEEDOR
            };

            using (var db = new SinabEntities())
            {
                var rec = Contratos.Obtener(baseContrato, db);
                return(rec.SAB_UACI_PRODUCTOSCONTRATO.Any(pc => pc.RENGLON == producto.RENGLON));
            }
        }
예제 #8
0
        public static void EliminarProducto(SAB_UACI_CONTRATOS contrato, long renglon)
        {
            using (var db = new SinabEntities())
            {
                var cont = Contratos.Obtener(contrato, db);
                var prod = cont.SAB_UACI_PRODUCTOSCONTRATO.FirstOrDefault(pc => pc.RENGLON == renglon);
                if (prod == null)
                {
                    return;
                }
                //borra primero las entregas
                db.SAB_UACI_ENTREGACONTRATO.Where(ec =>
                                                  ec.IDESTABLECIMIENTO == contrato.IDESTABLECIMIENTO &&
                                                  ec.IDPROVEEDOR == contrato.IDPROVEEDOR &&
                                                  ec.IDCONTRATO == contrato.IDCONTRATO &&
                                                  ec.RENGLON == renglon).ToList().ForEach(db.DeleteObject);
                //borra el registro
                db.SAB_UACI_PRODUCTOSCONTRATO.DeleteObject(prod);

                //registra la operacion
                db.SaveChanges();
            }
        }