public async Task <IActionResult> Create(FilmCreateViewModel model) { if (ModelState.IsValid) { Film toBeAddedFilm = new Film { Description = model.Description, ReleaseDate = model.ReleaseDate, Genre = model.Genre, Producer = model.Producer, Title = model.Title, Url = model.Url }; var user = await _userManager.GetUserAsync(HttpContext.User); _mediaDbContext.Films.Add(toBeAddedFilm); await _mediaDbContext.SaveChangesAsync(); UserFilm newConnection = new UserFilm { User = user, UserId = user.Id, Film = toBeAddedFilm, FilmId = toBeAddedFilm.Id }; _mediaDbContext.UserFilms.Add(newConnection); await _mediaDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,DateRented,DateReturned,UserId,FilmId")] UserFilm userFilm) { if (id != userFilm.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(userFilm); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserFilmExists(userFilm.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["FilmId"] = new SelectList(_context.Films, "Id", "Genero", userFilm.FilmId); ViewData["UserId"] = new SelectList(_context.Users, "Id", "Name", userFilm.UserId); return(View(userFilm)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Daterental,Returndate")] UserFilm userFilm) { if (id != userFilm.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(userFilm); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserFilmExists(userFilm.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(userFilm)); }
public async Task <IActionResult> Create([Bind("Id,Daterental,Returndate")] UserFilm userFilm) { if (ModelState.IsValid) { _context.Add(userFilm); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(userFilm)); }
public async Task <IActionResult> Create([Bind("Id,DateRented,DateReturned,UserId,FilmId")] UserFilm userFilm) { if (ModelState.IsValid) { _context.Add(userFilm); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["FilmId"] = new SelectList(_context.Films, "Id", "Genero", userFilm.FilmId); ViewData["UserId"] = new SelectList(_context.Users, "Id", "Name", userFilm.UserId); return(View(userFilm)); }
public async Task <IActionResult> ConfirmarDevolucion(int id) { UserFilm alquiler = await _context.UserFilm.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); alquiler.Returndate = DateTime.Now; // Le damos una fecha de devolucion Film film = alquiler.Film; film.Rented = "No"; // cambiamos estado pelicula _context.Update(alquiler); _context.Update(film); await _context.SaveChangesAsync(); return(RedirectToAction("index", "Films")); }
public async Task <IActionResult> ConfirmarDevolucion(int id) { UserFilm alquiler = await _context.UserFilms.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); alquiler.DateReturned = DateTime.Now; Film film = alquiler.Film; film.Rented = false; _context.Update(alquiler); _context.Update(film); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Films")); }
public async Task <IActionResult> ConfirmarDevolucion(int id) { UserFilm alquiler = await _context.UsersFilms.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); alquiler.ReturnDate = DateTime.Now; Film film = alquiler.Film; //La pelicula vinculada a alquiler film.Rented = "Disponible"; _context.Update(alquiler); _context.Update(film); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Films")); }
public async Task <IActionResult> Return(int id) { UserFilm userFilm = await _context.UserFilm.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); userFilm.DateReturn = DateTime.Now; _context.Update(userFilm); await _context.SaveChangesAsync(); Film rentedFilm = await _context.Film.FindAsync(userFilm.Film.Id); rentedFilm.Rented = false; _context.Update(userFilm.Film); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Rent(int filmId) { Film rentedFilm = await _context.Film.FindAsync(filmId); rentedFilm.Rented = true; _context.Update(rentedFilm); await _context.SaveChangesAsync(); UserFilm newRent = new UserFilm() { DateRental = DateTime.Now, Film = rentedFilm, User = await _context.User.FindAsync(1) }; _context.Add(newRent); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Rent(int id) { //simular User id = 2 UserFilm uf1 = new UserFilm { DateRental = DateTime.Now, ReturnDate = DateTime.Now.AddDays(3), FilmId = id, Film = await _context.Film.FindAsync(id), UserId = 1, User = await _context.User.FindAsync(1) }; uf1.Film.Rented = true; _context.Add(uf1); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> ConfirmarAlquiler(int id) { Film film = await _context.Film.FindAsync(id); //localiza el film por id User user = await _context.User.FindAsync(1); UserFilm alquiler = new UserFilm { Film = film, // no hace falta filmid ni userid, al tener el user y el film los coge. User = user, Daterental = DateTime.Now, }; _context.Add(alquiler); // añadir objeto a tabla UserFilm film.Rented = "Si"; // cambiamos estado pelicula _context.Update(film); // actualizamos tabla film await _context.SaveChangesAsync(); // guardar cambios BBDD return(RedirectToAction("index")); // redirige al metodo Index del controller. //RedirectToAction(nameof(Index)); // lo mismo que el anterior //RedirectToAction("Index","Films"); // Redirige al Index de otro controlador. UTIL. }
public async Task <IActionResult> ConfirmarAlquiler(int id) { Film film = await _context.Films.FindAsync(id); User user = await _context.Users.FindAsync(1); UserFilm alquiler = new UserFilm { Film = film, User = user, DateRented = DateTime.Now, }; _context.Add(alquiler); film.Rented = true; _context.Update(film); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); //RedirectToAction("Index","Films"); //RedirectToAction(nameof(Index)); }
public async Task <IActionResult> ConfirmarAlquiler(int id) { Film film = await _context.Films.FindAsync(id); User user = await _context.Users.FindAsync(1); UserFilm alquiler = new UserFilm { Film = film, User = user, DataRental = DateTime.Now, }; _context.Add(alquiler); //añadir el nuevo registro de alquiler film.Rented = "Ocupada"; _context.Update(film); //Actualizar la base de datos de la película await _context.SaveChangesAsync(); //Guardar los cambios en la BBDD //Redirigir a los datos del usuario Mis Alquileres return(RedirectToAction("Index", "Users")); //Primero se pone el método al que lo quieres redirigir y luego el controlador }
public async Task <IActionResult> DevolverPelicula(int id) { UserFilm alquiler = await _context.UserFilm.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); //Include para los datos d ela peli, y aqui no deja usar Find asi que usamos FirstOrDefault que es lo mismo. return(View(alquiler)); }
public async Task <IActionResult> DevolverPelicula(int id) { UserFilm alquiler = await _context.UserFilms.Include(x => x.Film).FirstOrDefaultAsync(x => x.Id == id); return(View(alquiler)); }