Exemple #1
0
        public ActionResult Create([Bind(Include = "IdOferta,CantDias,Editorial,TipoOferta,Codigo,Nombre,CodigoProductoServinor,NombreProductoServinor,Descripcion,Precio,CantTarjetasAdicionales,IdEstadoOferta,FechaCarga,FechaInicio,FechaModificacion,FechaFin")] Oferta oferta, int[] idproducts, int[] copias)
        {
            oferta.FechaCarga             = DateTime.Now;
            oferta.FechaModificacion      = DateTime.Now;
            oferta.NombreProductoServinor = "DIARIO NORTE";
            oferta.CodigoProductoServinor = "000001";

            if (ModelState.IsValid)
            {
                db.Ofertas.Add(oferta);
                db.SaveChanges();

                var i = 0;
                foreach (int idprod in idproducts)
                {
                    ProductoOferta productoOferta = new ProductoOferta();
                    productoOferta.IdProducto = idprod;
                    productoOferta.IdOferta   = oferta.IdOferta;
                    productoOferta.Copias     = copias[i];
                    db.ProductoOfertas.Add(productoOferta);
                    db.SaveChanges();
                    i = i + 1;
                }

                HistorialPrecioOferta hprecio = new HistorialPrecioOferta();
                hprecio.FechaInicio       = oferta.FechaInicio;
                hprecio.FechaModificacion = DateTime.Now;
                hprecio.Precio            = oferta.Precio;
                hprecio.IdOferta          = oferta.IdOferta;
                db.HistorialPrecioOfertas.Add(hprecio);
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }
            var a = 0;
            List <ProductoOferta> prodof = new List <ProductoOferta>();

            foreach (int idprod in idproducts)
            {
                ProductoOferta productoOferta = new ProductoOferta();
                productoOferta.IdProducto = idprod;
                productoOferta.Producto   = db.Productos.Find(idprod);
                productoOferta.IdOferta   = oferta.IdOferta;
                productoOferta.Copias     = copias[a];
                prodof.Add(productoOferta);
                a = a + 1;
            }
            ViewBag.prodsacum        = prodof;
            ViewBag.VbEstadosOfertas = db.EstadoOfertas.ToList();
            ViewBag.Products         = db.Productos.ToList();
            return(View(oferta));
        }
Exemple #2
0
        public ActionResult Edit([Bind(Include = "IdOferta,CantDias,Editorial,Codigo,TipoOferta,Nombre,NombreProductoServinor,CodigoProductoServinor,IdEstadoOferta,Descripcion,CantTarjetasAdicionales")] Oferta oferta, int[] idproducts)
        {
            Oferta ofertaedit = db.Ofertas.Find(oferta.IdOferta);

            List <ProductoOferta> listprod = ofertaedit.ProductoOfertas.ToList();

            foreach (var item in listprod)
            {
                ProductoOferta prodelim = new ProductoOferta();
                prodelim = item;
                db.ProductoOfertas.Remove(prodelim);
                db.SaveChanges();
            }



            foreach (int idprod in idproducts)
            {
                ProductoOferta productoOferta = new ProductoOferta();
                productoOferta.IdProducto = idprod;
                productoOferta.IdOferta   = oferta.IdOferta;
                db.ProductoOfertas.Add(productoOferta);
                db.SaveChanges();
            }
            ofertaedit.Codigo                  = oferta.Codigo;
            ofertaedit.IdEstadoOferta          = oferta.IdEstadoOferta;
            ofertaedit.Nombre                  = oferta.Nombre;
            ofertaedit.CantDias                = oferta.CantDias;
            ofertaedit.Editorial               = oferta.Editorial;
            ofertaedit.TipoOferta              = oferta.TipoOferta;
            ofertaedit.Descripcion             = oferta.Descripcion;
            ofertaedit.CantTarjetasAdicionales = oferta.CantTarjetasAdicionales;
            ofertaedit.FechaModificacion       = DateTime.Now;
            db.Entry(ofertaedit).State         = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index", new { msg = "Edición correcta." }));
        }