public IActionResult Edit(int id, [Bind("Id,Descripcion")] Genero genero)
        {
            if (id != genero.Id)
            {
                return(NotFound());
            }

            ValidarDescripcionExistente(genero.Descripcion, genero.Id);

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(genero);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GeneroExists(genero.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            return(View(genero));
        }
Exemplo n.º 2
0
        public IActionResult Edit(int id, [Bind("Id,Descripcion,EdadMinima")] Clasificacion clasificacion)
        {
            if (id != clasificacion.Id)
            {
                return(NotFound());
            }

            ValidarDescripcionExistente(clasificacion);

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(clasificacion);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClasificacionExists(clasificacion.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(clasificacion));
        }
        public IActionResult Edit(int id, [Bind("Id,Nombre,PrecioEntrada")] TipoSala tipoSala)
        {
            if (id != tipoSala.Id)
            {
                return(NotFound());
            }

            ValidarNombreExistente(tipoSala);

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tipoSala);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipoSalaExists(tipoSala.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipoSala));
        }
Exemplo n.º 4
0
        public IActionResult Edit(int id, Pelicula pelicula, List <int> generoIds)
        {
            if (id != pelicula.Id)
            {
                return(NotFound());
            }

            ValidarNombreExistente(pelicula);
            ValidarGeneros(generoIds);

            if (ModelState.IsValid)
            {
                try
                {
                    var peliculaDb = _context
                                     .Peliculas
                                     .Include(x => x.Generos)
                                     .FirstOrDefault(x => x.Id == id);

                    peliculaDb.Nombre          = pelicula.Nombre;
                    peliculaDb.ClasificacionId = pelicula.ClasificacionId;
                    peliculaDb.Sinopsis        = pelicula.Sinopsis;


                    foreach (var peliculaGenero in peliculaDb.Generos)
                    {
                        _context.Remove(peliculaGenero);
                    }

                    foreach (var generoId in generoIds)
                    {
                        peliculaDb.Generos.Add(new PeliculaGenero {
                            PeliculaId = peliculaDb.Id, GeneroId = generoId
                        });
                    }


                    _context.Update(peliculaDb);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PeliculaExists(pelicula.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.SelectGeneros         = new MultiSelectList(_context.Generos, nameof(Genero.Id), nameof(Genero.Descripcion));
            ViewBag.SelectClasificaciones = new SelectList(_context.Clasificaciones, "Id", "Descripcion");

            return(View(pelicula));
        }
Exemplo n.º 5
0
        private IActionResult EditarCliente(int id, Cliente cliente, string password)
        {
            if (cliente.Id != id)
            {
                return(NotFound());
            }

            ComprobarFechaDeNacimiento(cliente.FechaDeNacimiento);
            ModelState.Remove(nameof(Cliente.Username));

            if (!string.IsNullOrWhiteSpace(password))
            {
                ValidarPassword(password);
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Cliente clienteDb = _context.Clientes.Find(cliente.Id);

                    clienteDb.Email             = cliente.Email;
                    clienteDb.FechaDeNacimiento = cliente.FechaDeNacimiento;
                    clienteDb.Nombre            = cliente.Nombre;
                    clienteDb.Apellido          = cliente.Apellido;

                    if (!string.IsNullOrWhiteSpace(password))
                    {
                        clienteDb.Password = password.Encriptar();
                    }

                    _context.Update(clienteDb);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClienteExists(cliente.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                if (User.IsInRole(nameof(Role.Administrador)))
                {
                    return(RedirectToAction(nameof(Index)));
                }

                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }

            return(View(cliente));
        }
Exemplo n.º 6
0
        public IActionResult Edit(int id, Funcion funcion)
        {
            if (id != funcion.Id)
            {
                return(NotFound());
            }

            ValidarFecha(funcion);
            ValidarHorario(funcion);
            ValidarCapacidadNuevaSalaSegunReservas(id, funcion);

            if (ModelState.IsValid)
            {
                try
                {
                    // Obtengo la función de la base de datos
                    var funcionDb = _context.Funciones.Find(id);

                    // Mapeo los campos que se pueden editar SalaId, PeliculaId, Fecha, Horario
                    funcionDb.SalaId     = funcion.SalaId;
                    funcionDb.PeliculaId = funcion.PeliculaId;
                    funcionDb.Fecha      = funcion.Fecha;
                    funcionDb.Horario    = funcion.Horario;

                    _context.Update(funcionDb);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FuncionExists(funcion.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.SelectSalas     = new SelectList(_context.Salas, "Id", "Nombre");
            ViewBag.SelectPeliculas = new SelectList(_context.Peliculas, "Id", "Nombre");

            return(View(funcion));
        }
Exemplo n.º 7
0
        public IActionResult Edit(int id, Sala sala)
        {
            if (id != sala.Id)
            {
                return(NotFound());
            }

            ValidarNombreExistente(sala);
            ValidarCapacidadSegunReservas(id, sala.CapacidadTotal);

            if (ModelState.IsValid)
            {
                try
                {
                    AjustarDisponibilidadDeButacasEnFunciones(id, sala.CapacidadTotal);
                    // para ajustar la cantidad de butacas disponibles en todas las funciones futuras de esa sala

                    _context.Update(sala);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SalaExists(sala.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.SelectTiposDeSala = new SelectList(_context.TiposSala, "Id", "Nombre");
            return(View(sala));
        }