public IActionResult Create(Pelicula pelicula, List <int> generoIds) { ValidarNombreExistente(pelicula); ValidarGeneros(generoIds); if (ModelState.IsValid) { pelicula.Generos = new List <PeliculaGenero>(); foreach (var generoId in generoIds) { pelicula.Generos.Add(new PeliculaGenero { Pelicula = pelicula, GeneroId = generoId }); } _context.Add(pelicula); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewBag.SelectGeneros = new MultiSelectList(_context.Generos, nameof(Genero.Id), nameof(Genero.Descripcion), generoIds); ViewBag.SelectClasificaciones = new SelectList(_context.Clasificaciones, "Id", "Descripcion", pelicula.ClasificacionId); return(View(pelicula)); }
public IActionResult Create([Bind("Id,Descripcion,EdadMinima")] Clasificacion clasificacion) { ValidarDescripcionExistente(clasificacion); if (ModelState.IsValid) { _context.Add(clasificacion); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(clasificacion)); }
public IActionResult Create([Bind("Id,Descripcion")] Genero genero) { ValidarDescripcionExistente(genero.Descripcion, genero.Id); if (ModelState.IsValid) { _context.Add(genero); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(genero)); }
public IActionResult Create([Bind("Id,Nombre,PrecioEntrada")] TipoSala tipoSala) { ValidarNombreExistente(tipoSala); if (ModelState.IsValid) { _context.Add(tipoSala); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(tipoSala)); }
public IActionResult Create([Bind("Id,Nombre,TipoId,CapacidadTotal")] Sala sala) { ValidarNombreExistente(sala); if (ModelState.IsValid) { _context.Add(sala); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewBag.SelectTiposDeSala = new SelectList(_context.TiposSala, "Id", "Nombre"); return(View(sala)); }
public IActionResult Create([Bind("Legajo, Nombre, Apellido, Email, Username")] Administrador administrador, string password) { ValidarPassword(password); if (ModelState.IsValid) { administrador.Password = password.Encriptar(); _context.Add(administrador); _context.SaveChanges(); return(RedirectToAction("Ingresar", "Cuentas")); } return(View(administrador)); }
public async Task <IActionResult> Create(string password, Usuario usuario) { ValidarUserNameExistente(usuario.Username); ValidarPassword(password); if (ModelState.IsValid) { usuario.Password = password.Encriptar(); _context.Add(usuario); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.SelectRoles = new SelectList(Enum.GetNames(typeof(Role)), "Id"); return(View(usuario)); }
public IActionResult Registrar([Bind("Nombre, Apellido, FechaDeNacimiento, Email, Username")] Cliente cliente, string password) { ComprobarFechaDeNacimiento(cliente.FechaDeNacimiento); ValidarEmailExistente(cliente.Email, cliente.Id); ValidarUserNameExistente(cliente.Username); ValidarPassword(password); if (ModelState.IsValid) { cliente.FechaDeAlta = DateTime.Now; cliente.Password = password.Encriptar(); _context.Add(cliente); _context.SaveChanges(); return(RedirectToAction(nameof(CreateExitoso))); } return(View(cliente)); }
public IActionResult CrearReservaPorFuncion([Bind("FuncionId, CantButacas")] Reserva reserva) { if (!ValidarEdad(reserva)) { ModelState.AddModelError(string.Empty, "No cuenta con edad suficiente para ver esta película"); } var funcion = _context .Funciones .Include(x => x.Sala).ThenInclude(x => x.Tipo) .FirstOrDefault(x => x.Id == reserva.FuncionId); if (funcion == null) { ModelState.AddModelError(nameof(Reserva.Funcion), "La función no se encuentra disponible"); } ValidarCantButacas(reserva, funcion); if (ModelState.IsValid) { reserva.FechaDeAlta = DateTime.Now; funcion.CantButacasDisponibles -= reserva.CantButacas; reserva.CostoTotal = reserva.CantButacas * funcion.Sala.Tipo.PrecioEntrada; reserva.ClienteId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); _context.Add(reserva); _context.SaveChanges(); return(RedirectToAction(nameof(MisReservas))); } ViewData["CostoEntrada"] = funcion.Sala.Tipo.PrecioEntrada; ViewData["Peliculas"] = new SelectList(_context.Peliculas, "Id", "Nombre", funcion.PeliculaId); ViewData["FechaHora"] = new SelectList(_context.Funciones, "Id", "FechaHora", funcion.FechaHora); reserva.Funcion = funcion; return(View(reserva)); }
public IActionResult Create(Funcion funcion) { ValidarFecha(funcion); ValidarHorario(funcion); if (ModelState.IsValid) { var sala = _context.Salas .Where(x => x.Id == funcion.SalaId) .FirstOrDefault(); funcion.CantButacasDisponibles = sala.CapacidadTotal; _context.Add(funcion); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewBag.SelectSalas = new SelectList(_context.Salas, "Id", "Nombre"); ViewBag.SelectPeliculas = new SelectList(_context.Peliculas, "Id", "Nombre"); return(View(funcion)); }
private void Seed() { if (!_context.Funciones.Any()) { var sala1 = new Sala() { Nombre = "Sala 1", Tipo = new TipoSala() { Nombre = "Premium", PrecioEntrada = 550 }, CapacidadTotal = 20 }; var sala2 = new Sala() { Nombre = "Sala 2", Tipo = new TipoSala() { Nombre = "2D", PrecioEntrada = 250 }, CapacidadTotal = 120 }; var sala3 = new Sala() { Nombre = "Sala 3", Tipo = new TipoSala() { Nombre = "3D", PrecioEntrada = 350 }, CapacidadTotal = 100 }; var sala4 = new Sala() { Nombre = "Sala 4", Tipo = new TipoSala() { Nombre = "4D", PrecioEntrada = 450 }, CapacidadTotal = 80 }; var genero1 = new Genero() { Descripcion = "Infantil" }; var genero2 = new Genero() { Descripcion = "Fantasía" }; var genero3 = new Genero() { Descripcion = "Ciencia Ficción" }; var genero4 = new Genero() { Descripcion = "Terror" }; var Cliente1 = new Cliente() { Username = "******", Password = "******".Encriptar(), Nombre = "Luciano", Apellido = "García", Email = "*****@*****.**", FechaDeNacimiento = new DateTime(1992, 06, 20), Reservas = new List <Reserva>(), FechaDeAlta = DateTime.Now }; var Cliente2 = new Cliente() { Username = "******", Password = "******".Encriptar(), Nombre = "Carlos", Apellido = "Pereyra", Email = "*****@*****.**", FechaDeNacimiento = new DateTime(2000, 11, 04), Reservas = new List <Reserva>(), FechaDeAlta = DateTime.Now }; var Cliente3 = new Cliente() { Username = "******", Password = "******".Encriptar(), Nombre = "Carla", Apellido = "Rodriguez", Email = "*****@*****.**", FechaDeNacimiento = new DateTime(1987, 01, 03), Reservas = new List <Reserva>(), FechaDeAlta = DateTime.Now }; var administrador1 = new Administrador() { Username = "******", Password = "******".Encriptar(), Nombre = "Juan Carlos", Apellido = "Gonzalez", Email = "*****@*****.**", Legajo = 0001 }; var Cliente4 = new Cliente() { Username = "******", Password = "******".Encriptar(), Nombre = "Laura", Apellido = "Gomez", Email = "*****@*****.**", FechaDeNacimiento = new DateTime(2005, 05, 09), Reservas = new List <Reserva>(), FechaDeAlta = DateTime.Now }; var pelicula1 = new Pelicula() { Nombre = "La Bella y La Bestia", Generos = new List <PeliculaGenero>(), Sinopsis = "Bella es una brillante y guapa joven que utiliza la lectura como válvula de escape de su rutinaria vida. Cuando su padre es apresado en un misterioso castillo, " + "Bella acude en su búsqueda y se presta a ocupar su lugar. El castillo es propiedad de una atormentada Bestia que, como Bella comprobará con el tiempo, resulta ser un joven príncipe " + "bajo los efectos de un hechizo. Sólo cuando conozca el amor, el príncipe podrá volver a su verdadero cuerpo.", Clasificacion = new Clasificacion { Descripcion = "ATP", EdadMinima = 0 }, }; var pelicula2 = new Pelicula() { Nombre = "Matrix", Generos = new List <PeliculaGenero>(), Sinopsis = "Neo es un joven pirata informático que lleva una doble vida: durante el día ejerce en una empresa de servicios informáticos, mientras que por la noche se dedica a piratear " + "bases de datos y saltarse sistemas de alta seguridad. Su vida cambiará cuando una noche conozca a Trinity, una misteriosa joven que parece ser una leyenda en el mundo de los 'hackers' informáticos," + " que lo llevará a Neo ante su líder: Morfeo. Así descubrirá una terrible realidad y el joven deberá decidir si unirse a la resistencia o vivir su vida como hasta ahora.", Clasificacion = new Clasificacion { Descripcion = "+16", EdadMinima = 16 }, }; var pelicula3 = new Pelicula() { Nombre = "It", Generos = new List <PeliculaGenero>(), Sinopsis = "En el pueblo de Derry, Maine, un joven de 14 años llamado Bill Denbrough (Jaeden Martell) ayuda a su hermano pequeño, George Denbrough (Jackson Robert Scott) a hacer un barco de papel." + " Bill le pide que baje al sótano por parafina para impermeabilizarlo, George baja y consigue la parafina para el barco aunque nota allí una presencia que lo asusta. Bill, con su hermano abrazándole," + " unta el barco con la parafina y se lo entrega a Georgie para que vaya a jugar en la lluvia excusándose de no poder acompañarlo ya que está muy enfermo.", Clasificacion = new Clasificacion { Descripcion = "+14", EdadMinima = 14 }, }; var pelicula4 = new Pelicula() { Nombre = "Annabelle 3", Generos = new List <PeliculaGenero>(), Sinopsis = "En 1968, los demonólogos Ed y Lorraine Warren se llevan a su casa a la muñeca poseída Annabelle" + " después de que dos enfermeras (Debbie y Camilla) aseguraran que la muñeca a menudo realizaba actividades " + "violentas en su apartamento. Durante el trayecto, la muñeca convoca a los espíritus de un cementerio" + " situado junto a la carretera para que ataquen a Ed, pero consigue sobrevivir. Una vez en la casa, " + "Annabelle es colocada en vitrina en la sala de artefactos de la pareja y bendecida por el padre Gordon" + "para asegurarse de que su mal está contenido", Clasificacion = new Clasificacion { Descripcion = "+13", EdadMinima = 13 }, }; var funcion1 = new Funcion() { Sala = sala1, Pelicula = pelicula1, Fecha = new DateTime(2020, 08, 15), Horario = new DateTime().AddHours(14).AddMinutes(00), CantButacasDisponibles = sala1.CapacidadTotal - 4 }; var funcion2 = new Funcion() { Sala = sala2, Pelicula = pelicula2, Fecha = new DateTime(2020, 04, 17), Horario = new DateTime().AddHours(20).AddMinutes(20), CantButacasDisponibles = sala2.CapacidadTotal - 4 }; var funcion3 = new Funcion() { Sala = sala3, Pelicula = pelicula3, Fecha = new DateTime(2020, 08, 17), Horario = new DateTime().AddHours(20).AddMinutes(20), CantButacasDisponibles = sala3.CapacidadTotal - 8 }; var funcion4 = new Funcion() { Sala = sala4, Pelicula = pelicula1, Fecha = new DateTime(2020, 08, 17), Horario = new DateTime().AddHours(21).AddMinutes(40), CantButacasDisponibles = sala4.CapacidadTotal - 18 }; var funcion5 = new Funcion() { Sala = sala1, Pelicula = pelicula3, Fecha = new DateTime(2020, 07, 15), Horario = new DateTime().AddHours(23).AddMinutes(30), CantButacasDisponibles = sala1.CapacidadTotal }; var funcion6 = new Funcion() { Sala = sala2, Pelicula = pelicula2, Fecha = new DateTime(2020, 07, 15), Horario = new DateTime().AddHours(18).AddMinutes(30), CantButacasDisponibles = sala2.CapacidadTotal }; var reserva1 = new Reserva() { Cliente = Cliente1, Funcion = funcion1, CantButacas = 2, CostoTotal = 1100, FechaDeAlta = DateTime.Now }; var reserva2 = new Reserva() { Cliente = Cliente1, Funcion = funcion2, CantButacas = 4, CostoTotal = 1800, FechaDeAlta = DateTime.Now }; var reserva3 = new Reserva() { Cliente = Cliente1, Funcion = funcion3, CantButacas = 4, CostoTotal = 1800, FechaDeAlta = DateTime.Now }; var reserva4 = new Reserva() { Cliente = Cliente2, Funcion = funcion3, CantButacas = 4, CostoTotal = 1800, FechaDeAlta = DateTime.Now }; var reserva5 = new Reserva() { Cliente = Cliente3, Funcion = funcion1, CantButacas = 2, CostoTotal = 1100, FechaDeAlta = DateTime.Now }; var reserva6 = new Reserva() { Cliente = Cliente2, Funcion = funcion4, CantButacas = 10, CostoTotal = 4500, FechaDeAlta = DateTime.Now }; var reserva7 = new Reserva() { Cliente = Cliente3, Funcion = funcion4, CantButacas = 8, CostoTotal = 3600, FechaDeAlta = DateTime.Now }; pelicula1.Generos.Add(new PeliculaGenero { Pelicula = pelicula1, Genero = genero1 }); pelicula1.Generos.Add(new PeliculaGenero { Pelicula = pelicula1, Genero = genero2 }); pelicula2.Generos.Add(new PeliculaGenero { Pelicula = pelicula2, Genero = genero3 }); pelicula3.Generos.Add(new PeliculaGenero { Pelicula = pelicula3, Genero = genero4 }); pelicula4.Generos.Add(new PeliculaGenero { Pelicula = pelicula4, Genero = genero4 }); _context.AddRange(new[] { genero1, genero2, genero3, genero4 }); _context.AddRange(new[] { pelicula1, pelicula2, pelicula3, pelicula4 }); _context.AddRange(new[] { funcion1, funcion2, funcion3, funcion4, funcion5, funcion6 }); _context.AddRange(new[] { Cliente1, Cliente2, Cliente3, Cliente4 }); _context.Add(administrador1); _context.AddRange(new[] { sala1, sala2, sala3, sala4 }); _context.AddRange(new[] { reserva1, reserva2, reserva3, reserva4, reserva5, reserva6, reserva7 }); _context.SaveChanges(); } }