public static SAB_EST_DISTRIBUCION Obtener(SAB_EST_DISTRIBUCION distribucion) { using (var db = new SinabEntities()) { return(Obtener(db, distribucion)); } }
public static void Modificar(SAB_EST_DISTRIBUCION distribucion) { using (var db = new SinabEntities()) { Modificar(distribucion, db); } }
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)); }
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(); }
/// <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)); } }
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(); }
/// <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); } } }