예제 #1
0
        public ActionResult Comprar(eCompra compra)
        {
            if (ModelState.IsValid)
            {
                Espectaculo eOrig = db.Espectaculos.Find(compra.eId);

                if (compra.tipoEnt == "G")
                {
                    for (int i = 1; i <= compra.cant; i++)
                    {
                        db.Entradas.Add(
                            new Entrada
                        {
                            Espectaculo = eOrig,
                            Estado      = "Comprada",
                            FechaVenta  = DateTime.Now,
                            NumAsiento  = compra.asiento,
                            NumFila     = compra.fila,
                            Precio      = eOrig.PrecioEGen,
                            UserName    = compra.username
                        });
                    }

                    eOrig.CantGen         = eOrig.CantGen - compra.cant; //a la cantidad original de entradas generales, le resto las que vendi
                    db.Entry(eOrig).State = EntityState.Modified;
                }
                else //si es una entrada numerada
                {
                    Entrada entrada = eOrig.Entradas.SingleOrDefault(e => e.NumFila == compra.fila && e.NumAsiento == compra.asiento);

                    if (entrada != null)    // si la entrada ya existe, le muestro la misma view para que cargue otra, todavia no se implemento una validacion js en la misma vista para evitar este paso
                    {
                        return(View(compra));
                    }
                    else // si la entrada esta disponible
                    {
                        db.Entradas.Add(
                            new Entrada
                        {
                            Espectaculo = eOrig,
                            Estado      = "Comprada",
                            FechaVenta  = DateTime.Now,
                            NumAsiento  = compra.asiento,
                            NumFila     = compra.fila,
                            Precio      = eOrig.PrecioENum,
                            UserName    = compra.username
                        });

                        db.Entry(eOrig).State = EntityState.Modified;
                    }
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(compra));
        }
예제 #2
0
 public ActionResult Edit(Artista artista)
 {
     if (ModelState.IsValid)
     {
         db.Entry(artista).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(artista);
 }
 public ActionResult Edit(Lugar lugar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(lugar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(lugar));
 }
예제 #4
0
 public ActionResult Edit(Espectaculo espectaculo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(espectaculo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.LugarId   = new SelectList(db.Lugares, "LugarId", "Nombre", espectaculo.LugarId);
     ViewBag.ArtistaId = new SelectList(db.Artistas, "ArtistaId", "Nombre", espectaculo.ArtistaId);
     return(View(espectaculo));
 }