public IActionResult Edit(int Id) { Film filmFromDb = _context.Film.Include(f => f.Regisseurs).Include(f => f.Genres).FirstOrDefault(f => f.Id == Id); FilmEditViewModel fevModel = new FilmEditViewModel() { Id = Id, Beschrijving = filmFromDb.Beschrijving, Titel = filmFromDb.Titel, HuidigeFoto = filmFromDb.Foto, GenresList = _genreList, SelectedGenres = new List <string>(), Lengte = filmFromDb.Lengte, Regisseurs = new List <string>() }; foreach (var genr in filmFromDb.Genres) { fevModel.SelectedGenres.Add(_context.FilmGenre.FirstOrDefault(fg => fg.Id == genr.GenreId).Genre); } foreach (var regi in filmFromDb.Regisseurs) { FilmRegisseur freg = _context.FilmRegisseur.FirstOrDefault(fr => fr.Id == regi.RegisseurId); fevModel.Regisseurs.Add(freg.Naam); } return(View(fevModel)); }
public async Task <IActionResult> Create(FilmCreateViewModel model, List <int> Genres, List <string> Regi) { Regi.RemoveAt(Regi.Count() - 1); Film film = new Film() { Beschrijving = model.Beschrijving, Titel = model.Titel, Lengte = model.Lengte, Zichtbaar = true, }; if (model.Foto != null) { using (var memoryStream = new MemoryStream()) { await model.Foto.CopyToAsync(memoryStream); film.Foto = memoryStream.ToArray(); } } _context.Film.Add(film); _context.SaveChanges(); Film newFilm = _context.Film.FirstOrDefault(x => x.Titel == film.Titel && x.Beschrijving == film.Beschrijving && x.Lengte == film.Lengte); foreach (var genre in Genres) { _context.GenreFilm.Add(new GenreFilm() { FilmId = newFilm.Id, GenreId = genre }); } foreach (var regisseur in Regi) { FilmRegisseur FR = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur); if (FR != null) { _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = newFilm.Id, RegisseurId = FR.Id }); _context.SaveChanges(); } else { _context.FilmRegisseur.Add(new FilmRegisseur() { Naam = regisseur }); _context.SaveChanges(); _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = newFilm.Id, RegisseurId = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur).Id }); _context.SaveChanges(); } } return(RedirectToAction("Detail", new { newFilm.Id })); }
public async Task <IActionResult> Edit(FilmEditViewModel model, List <int> Genres, List <string> Regi) { Regi.RemoveAt(Regi.Count() - 1); Film film = _context.Film.Include(f => f.Regisseurs).FirstOrDefault(f => f.Id == model.Id); film.Lengte = model.Lengte; film.Beschrijving = model.Beschrijving; film.Titel = model.Titel; _context.GenreFilm.RemoveRange(_context.GenreFilm.Where(gf => gf.FilmId == model.Id)); _context.RegisseurFilm.RemoveRange(_context.RegisseurFilm.Where(rf => rf.FilmId == model.Id)); foreach (var genre in Genres) { _context.GenreFilm.Add(new GenreFilm() { FilmId = model.Id, GenreId = genre }); } foreach (var regisseur in Regi) { FilmRegisseur FR = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur); if (FR != null) { _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = model.Id, RegisseurId = FR.Id }); _context.SaveChanges(); } else { _context.FilmRegisseur.Add(new FilmRegisseur() { Naam = regisseur }); _context.SaveChanges(); _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = model.Id, RegisseurId = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur).Id }); _context.SaveChanges(); } } if (model.Foto != null) { using (var memoryStream = new MemoryStream()) { await model.Foto.CopyToAsync(memoryStream); film.Foto = memoryStream.ToArray(); } } _context.SaveChanges(); return(RedirectToAction("Detail", new { model.Id })); }