public static Dictionary <int, string> ObtenerTodos(SAB_EST_SOLICITUDES solicitud)
 {
     using (var db = new SinabEntities())
     {
         return(Obtener(db, solicitud));
     }
 }
Esempio n. 2
0
        public static void Borrar(SinabEntities db, SAB_EST_SOLICITUDES solicitud, int renglon, long idProducto, string especificacion)
        {
            //borra las tablas de detalle (ultimas en llenarse)
            var etIsNull = string.IsNullOrEmpty(especificacion);
            var rec      = db.SAB_EST_DETALLESOLICITUDES

                           .FirstOrDefault(
                eds =>
                eds.IDSOLICITUD == solicitud.IDSOLICITUD &&
                eds.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                eds.IDPRODUCTO == idProducto &&
                eds.RENGLON == renglon &&
                etIsNull ? eds.ESPECIFICACIONTECNICA == null : eds.ESPECIFICACIONTECNICA == especificacion
                // object.Equals(eds.ESPECIFICACIONTECNICA, especificacion)
                );

            if (rec == null)
            {
                return;
            }
            //sino borra en cascada
            foreach (var es in rec.SAB_EST_ENTREGASOLICITUDES)
            {
                es.SAB_EST_ALMACENESENTREGASOLICITUD.ToList().ForEach(
                    aes => db.SAB_EST_ALMACENESENTREGASOLICITUD.DeleteObject(aes));
            }
            rec.SAB_EST_ENTREGASOLICITUDES.ToList().ForEach(es => db.SAB_EST_ENTREGASOLICITUDES.DeleteObject(es));

            db.SAB_EST_DETALLESOLICITUDES.DeleteObject(rec);

            db.SaveChanges();
        }
Esempio n. 3
0
        /// <summary>
        /// Lista de almacenes por orden alfabetico
        /// </summary>
        /// <param name="lista">listado de almacen asociado a lista</param>
        /// <param name="sortDesc">ordenar decendente?</param>
        public static void CargarPorSolicitudALista(ref DropDownList lista, SAB_EST_SOLICITUDES solicitud)
        {
            Dictionary <int, string> recs;

            using (var db = new SinabEntities())
            {
                recs = db.SAB_EST_FUENTEFINANCIAMIENTOSOLICITUDES
                       .Include("SAB_CAT_FUENTEFINANCIAMIENTOS")
                       .Include("SAB_CAT_FUENTEFINANCIAMIENTOS.SAB_CAT_GRUPOSFUENTEFINANCIAMIENTO")
                       .Where(s => s.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                              s.IDSOLICITUD == solicitud.IDSOLICITUD)
                       .Select(ff => new
                {
                    ff.IDFUENTEFINANCIAMIENTO,
                    nombre =
                        ff.SAB_CAT_FUENTEFINANCIAMIENTOS.SAB_CAT_GRUPOSFUENTEFINANCIAMIENTO.DESCRIPCION +
                        "/" + ff.SAB_CAT_FUENTEFINANCIAMIENTOS.NOMBRE
                }).ToDictionary(rec => rec.IDFUENTEFINANCIAMIENTO, rec => rec.nombre);
                ;
            }
            lista.DataSource     = recs.OrderBy(a => a.Value);
            lista.DataTextField  = "Value";
            lista.DataValueField = "Key";
            lista.DataBind();
        }
 public static Dictionary <int, string> Obtener(SAB_EST_SOLICITUDES solicitud)
 {
     return(solicitud.SAB_EST_FUENTEFINANCIAMIENTOSOLICITUDES.Select(ff => new
     {
         ff.IDFUENTEFINANCIAMIENTO,
         nombre = ff.SAB_CAT_FUENTEFINANCIAMIENTOS.SAB_CAT_GRUPOSFUENTEFINANCIAMIENTO.DESCRIPCION + "/" + ff.SAB_CAT_FUENTEFINANCIAMIENTOS.NOMBRE
     })
            .ToDictionary(rec => rec.IDFUENTEFINANCIAMIENTO, rec => rec.nombre));
 }
Esempio n. 5
0
 /// <summary>
 /// Agrega solicitud a la base de datos
 /// </summary>
 /// <param name="solicitud">Solicitud a agregar</param>
 public static void Agregar(SAB_EST_SOLICITUDES solicitud)
 {
     using (var db = new SinabEntities())
     {
         solicitud.CorrelativoGeneral = ObtenerCorrelativoAnual();
         db.SAB_EST_SOLICITUDES.AddObject(solicitud);
         db.ObjectStateManager.ChangeObjectState(solicitud, EntityState.Added);
         db.SaveChanges();
     }
 }
Esempio n. 6
0
 public static void CargarALista(ref DropDownList lista, SAB_EST_SOLICITUDES solicitud)
 {
     using (var db = new SinabEntities())
     {
         var recs = Obtener(db, solicitud.IDSOLICITUD, solicitud.IDESTABLECIMIENTO);
         lista.DataSource     = recs.OrderBy(ff => ff.Value);
         lista.DataTextField  = "Value";
         lista.DataValueField = "Key";
         lista.DataBind();
     }
 }
Esempio n. 7
0
 public static List <SAB_EST_ENTREGAS> ObtenerEntregas(SAB_EST_SOLICITUDES solicitud, int entrega)
 {
     using (var db = new SinabEntities())
     {
         return(db.SAB_EST_ENTREGAS.Where(
                    en =>
                    en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                    en.IDSOLICITUD == solicitud.IDSOLICITUD &&
                    en.IDENTREGA == entrega).ToList());
     }
 }
Esempio n. 8
0
 public static SAB_EST_ENTREGAS ObtenerEntrega(SAB_EST_SOLICITUDES solicitud, int entrega)
 {
     using (var db = new SinabEntities())
     {
         return(db.SAB_EST_ENTREGAS.FirstOrDefault(
                    en =>
                    en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                    en.IDSOLICITUD == solicitud.IDSOLICITUD &&
                    en.IDENTREGA == entrega));
     }
 }
Esempio n. 9
0
 public static bool TieneEntrega(SAB_EST_SOLICITUDES solicitud, int entrega)
 {
     using (var db = new SinabEntities())
     {
         return(db.SAB_EST_ENTREGAS.Any(
                    en =>
                    en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                    en.IDSOLICITUD == solicitud.IDSOLICITUD &&
                    en.IDENTREGA == entrega
                    ));
     }
 }
Esempio n. 10
0
        public static bool ExisteDetalle(SinabEntities db, SAB_EST_SOLICITUDES solicitud, SAB_EST_DETALLESOLICITUDES detalle)
        {
            var etIsNull = string.IsNullOrEmpty(detalle.ESPECIFICACIONTECNICA);

            return(db.SAB_EST_DETALLESOLICITUDES.Any(
                       eds =>
                       eds.IDSOLICITUD == solicitud.IDSOLICITUD &&
                       eds.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                       eds.IDPRODUCTO == detalle.IDPRODUCTO &&
                       etIsNull ? eds.ESPECIFICACIONTECNICA == null : eds.ESPECIFICACIONTECNICA == detalle.ESPECIFICACIONTECNICA
                       //object.Equals(eds.ESPECIFICACIONTECNICA, detalle.ESPECIFICACIONTECNICA)
                       ));
        }
Esempio n. 11
0
 public static long ObtenerTotalEntregas(SAB_EST_SOLICITUDES solicitud)
 {
     try
     {
         using (var db = new SinabEntities())
         {
             var rec = db.SAB_EST_ENTREGASOLICITUDES.Where(
                 s => s.IDSOLICITUD == solicitud.IDSOLICITUD &&
                 s.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO).Max(s => s.IDENTREGA);
             return(rec);
         }
     }
     catch { return(0); }
 }
 public static IQueryable <AlmacenesEntregaSolicitudDetalle> ObtenerTodos(SinabEntities db,
                                                                          SAB_EST_SOLICITUDES solicitud)
 {
     return(from aes in db.SAB_EST_ALMACENESENTREGASOLICITUD
            join cp in db.vv_CATALOGOPRODUCTOS on aes.IDPRODUCTO equals cp.IDPRODUCTO
            where aes.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO && aes.IDSOLICITUD == solicitud.IDSOLICITUD
            select new AlmacenesEntregaSolicitudDetalle
     {
         CorrProducto = cp.CORRPRODUCTO,
         IdProducto = aes.IDPRODUCTO,
         IdEstablecimiento = aes.IDESTABLECIMIENTO,
         IdSolicitud = aes.IDSOLICITUD,
         Renglon = (int)aes.RENGLON,
         CorrelativoRenglon = aes.CorrelativoRenglon ?? 0
     });
 }
 public static Dictionary <int, string> Obtener(SinabEntities db, SAB_EST_SOLICITUDES solicitud)
 {
     return(db.SAB_EST_FUENTEFINANCIAMIENTOSOLICITUDES
            .Include("SAB_CAT_FUENTEFINANCIAMIENTOS")
            .Include("SAB_CAT_FUENTEFINANCIAMIENTOS.SAB_CAT_GRUPOSFUENTEFINANCIAMIENTO")
            .Where(s => s.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                   s.IDSOLICITUD == solicitud.IDSOLICITUD)
            .Select(ff => new
     {
         ff.IDFUENTEFINANCIAMIENTO,
         nombre =
             ff.SAB_CAT_FUENTEFINANCIAMIENTOS.SAB_CAT_GRUPOSFUENTEFINANCIAMIENTO.DESCRIPCION +
             "/" + ff.SAB_CAT_FUENTEFINANCIAMIENTOS.NOMBRE
     })
            .ToDictionary(rec => rec.IDFUENTEFINANCIAMIENTO, rec => rec.nombre));
 }
Esempio n. 14
0
        public static List <SAB_EST_ENTREGAS> GenerarEntregas(SAB_EST_SOLICITUDES solicitud, int entrega)
        {
            var entregas    = new List <SAB_EST_ENTREGAS>();
            var count       = 0;
            var porcentajes = Utils.DistribuirPorcentajes(entrega);

            using (var db = new SinabEntities())
            {
                short?diasMax = 0;
                try
                {
                    diasMax =
                        db.SAB_EST_ENTREGAS.Where(
                            en =>
                            en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                            en.IDSOLICITUD == solicitud.IDSOLICITUD)
                        .OrderByDescending(en => en.DIASENTREGA).Select(en => en.DIASENTREGA).FirstOrDefault();
                }
                catch
                {
                    diasMax = 30;
                }

                var dias = Utils.DistribuirDias((Int32)diasMax, entrega);
                foreach (var p in porcentajes)
                {
                    var nuevaEntrega = new SAB_EST_ENTREGAS
                    {
                        IDSOLICITUD       = solicitud.IDSOLICITUD,
                        IDESTABLECIMIENTO =
                            Membresia.ObtenerUsuario().Establecimiento.IDESTABLECIMIENTO,
                        IDENTREGA         = (short)Convert.ToDecimal(entrega),
                        NUMEROENTREGA     = (short)Convert.ToDecimal(count + 1),
                        PORCENTAJEENTREGA = (decimal?)p,
                        DIASENTREGA       = (short?)Convert.ToDecimal(dias[count]),
                        AUUSUARIOCREACION = HttpContext.Current.User.Identity.Name,
                        AUFECHACREACION   = DateTime.Now
                    };
                    entregas.Add(nuevaEntrega);
                    count++;
                }
            }
            return(entregas);
        }
Esempio n. 15
0
        public static void ActualizarEntregas(List <SAB_EST_ENTREGAS> entrega, SAB_EST_SOLICITUDES solicitud)
        {
            var identrega = entrega.FirstOrDefault().IDENTREGA;

            using (var db = new SinabEntities())
            {
                var entregaOriginal =
                    db.SAB_EST_ENTREGAS.Where(
                        en =>
                        en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO &&
                        en.IDSOLICITUD == solicitud.IDSOLICITUD && en.IDENTREGA == identrega);
                if (entregaOriginal.Any())
                {
                    entregaOriginal.ToList().ForEach(db.SAB_EST_ENTREGAS.DeleteObject);
                }
                entrega.ForEach(en => db.SAB_EST_ENTREGAS.AddObject(en));
                db.SaveChanges();
            }
        }
Esempio n. 16
0
 public static SAB_EST_SOLICITUDES Obtener(SinabEntities db, SAB_EST_SOLICITUDES solicitud)
 {
     return(Obtener(db, solicitud.IDESTABLECIMIENTO, solicitud.IDSOLICITUD));
 }