Exemple #1
0
 public static SAB_EST_DISTRIBUCION Obtener(SAB_EST_DISTRIBUCION distribucion)
 {
     using (var db = new SinabEntities())
     {
         return(Obtener(db, distribucion));
     }
 }
Exemple #2
0
 public static void Modificar(SAB_EST_DISTRIBUCION distribucion)
 {
     using (var db = new SinabEntities())
     {
         Modificar(distribucion, db);
     }
 }
Exemple #3
0
 public static SAB_EST_DISTRIBUCION Obtener(SinabEntities db, SAB_EST_DISTRIBUCION distribucion)
 {
     return
         (db.SAB_EST_DISTRIBUCION.
          Include(d => d.SAB_CAT_ALMACENES).
          Include(d => d.SAB_CAT_SUMINISTROS).
          FirstOrDefault(d =>
                         d.IDDISTRIBUCION == distribucion.IDDISTRIBUCION &&
                         d.IDESTABLECIMIENTO == distribucion.IDESTABLECIMIENTO));
 }
Exemple #4
0
 public static void AgregarVarios(SinabEntities db, SAB_EST_DISTRIBUCION distribucion, IEnumerable <int> idProductos)
 {
     foreach (var p in idProductos.Select(n => new SAB_EST_DISTRIBUCIONPRODUCTO()
     {
         IDDISTRIBUCION = distribucion.IDDISTRIBUCION,
         IDESTABLECIMIENTO = distribucion.IDESTABLECIMIENTO,
         IDPRODUCTO = n,
         AUUSUARIOCREACION = distribucion.AUUSUARIOCREACION,
         AUFECHACREACION = distribucion.AUFECHACREACION
     }))
     {
         db.SAB_EST_DISTRIBUCIONPRODUCTO.AddObject(p);
     }
     db.SaveChanges();
 }
Exemple #5
0
        /// <summary>
        /// Modifica una distribución existente
        /// </summary>
        /// <param name="distribucion">objeto con el que actualizará la distribución</param>
        /// <param name="db">contexto</param>
        public static void Modificar(SAB_EST_DISTRIBUCION distribucion, SinabEntities db)
        {
            var d = Obtener(db, distribucion);

            if (d == null)
            {
                throw (new Exception("Error, no se encontro la distribución a actualizar"));
            }
            d.IDALMACEN             = distribucion.IDALMACEN;
            d.DESCRIPCION           = distribucion.DESCRIPCION;
            d.FECHACORTE            = distribucion.FECHACORTE;
            d.MESESCPM              = distribucion.MESESCPM;
            d.MESESADMINISTRACION   = distribucion.MESESADMINISTRACION;
            d.MESESSEGURIDAD        = distribucion.MESESSEGURIDAD;
            d.MESESDISTRIBUCION     = distribucion.MESESDISTRIBUCION;
            d.AUUSUARIOMODIFICACION = distribucion.AUUSUARIOMODIFICACION;
            d.AUFECHAMODIFICACION   = distribucion.AUFECHAMODIFICACION;
            db.SaveChanges();
        }
 public static void Agregar(SinabEntities db, SAB_EST_DISTRIBUCION distribucion)
 {
     if (distribucion.idTipoEstablecimiento == 10)
     {
         var sc = new sceEntities();
         (from es in db.SAB_CAT_ESTABLECIMIENTOS
          join vv in sc.vv_EstablecimientoRegion on es.CODIGOESTABLECIMIENTO equals vv.CodigoEstablecimiento
          where vv.idEstablecimientoAbas == distribucion.IDESTABLECIMIENTO
          select new SAB_EST_DISTRIBUCIONESTABLECIMIENTO()
         {
             IDDISTRIBUCION = distribucion.IDDISTRIBUCION,
             IDESTABLECIMIENTO = distribucion.IDESTABLECIMIENTO,
             IDESTABLECIMIENTODISTRIBUCION = vv.IdEstablecimiento,
             AUUSUARIOCREACION = distribucion.AUUSUARIOCREACION,
             AUFECHACREACION = distribucion.AUFECHACREACION
         }).ToList().ForEach(de => db.SAB_EST_DISTRIBUCIONESTABLECIMIENTO.AddObject(de));
         db.SaveChanges();
         sc.Dispose();
     }
     else
     {
         var rec = db.SAB_CAT_ESTABLECIMIENTOS.
                   Where(es => (es.IDTIPOESTABLECIMIENTO == 3 ||
                                es.IDTIPOESTABLECIMIENTO == 8 ||
                                es.IDTIPOESTABLECIMIENTO == 10) &&
                         (es.IDESTABLECIMIENTO != 506 && es.IDESTABLECIMIENTO != 656)).
                   Select(es => new SAB_EST_DISTRIBUCIONESTABLECIMIENTO()
         {
             IDDISTRIBUCION                = distribucion.IDDISTRIBUCION,
             IDESTABLECIMIENTO             = distribucion.IDESTABLECIMIENTO,
             IDESTABLECIMIENTODISTRIBUCION = es.IDESTABLECIMIENTO,
             AUUSUARIOCREACION             = distribucion.AUUSUARIOCREACION,
             AUFECHACREACION               = distribucion.AUFECHACREACION
         }).ToList();
         rec.ForEach(de => db.SAB_EST_DISTRIBUCIONESTABLECIMIENTO.AddObject(de));
     }
 }
Exemple #7
0
 public static void AgregarVarios(SinabEntities db, SAB_EST_DISTRIBUCION distribucion, IEnumerable <int> idProductos)
 {
     foreach (var n in idProductos)
     {
         (from dp in db.SAB_EST_DISTRIBUCIONPRODUCTO
          join l in db.SAB_ALM_LOTES on dp.IDPRODUCTO equals l.IDPRODUCTO
          where
          dp.IDDISTRIBUCION == distribucion.IDDISTRIBUCION &&
          dp.IDESTABLECIMIENTO == distribucion.IDESTABLECIMIENTO &&
          l.IDALMACEN == distribucion.IDALMACEN &&
          l.IDPRODUCTO == n
          select new SAB_EST_DISTRIBUCIONPRODUCTOLOTE()
         {
             IDDISTRIBUCION = dp.IDDISTRIBUCION,
             IDESTABLECIMIENTO = dp.IDESTABLECIMIENTO,
             IDPRODUCTO = dp.IDPRODUCTO,
             IDALMACEN = l.IDALMACEN,
             IDLOTE = l.IDLOTE,
             AUUSUARIOCREACION = distribucion.AUUSUARIOCREACION,
             AUFECHACREACION = distribucion.AUFECHACREACION
         }).ToList().ForEach(p => db.SAB_EST_DISTRIBUCIONPRODUCTOLOTE.AddObject(p));
     }
     db.SaveChanges();
 }
Exemple #8
0
        /// <summary>
        /// Crea una nueva distribucion
        /// </summary>
        /// <param name="distribucion">Objeto a crear</param>
        /// <param name="listado">listado de indice de productos</param>
        public static void Crear(SAB_EST_DISTRIBUCION distribucion, List <int> listado = null)
        {
            using (var ts = new TransactionScope())
            {
                try
                {
                    using (var db = new SinabEntities())
                    {
                        distribucion.IDDISTRIBUCION = ObtenerMaxId(db, distribucion.IDESTABLECIMIENTO);
                        db.SAB_EST_DISTRIBUCION.AddObject(distribucion);
                        db.SaveChanges();

                        DistribucionProductos.AgregarVarios(db, distribucion, listado);
                        DistribucionProductosLote.AgregarVarios(db, distribucion, listado);
                        DistribucionEstablecimiento.Agregar(db, distribucion);
                    }
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }