예제 #1
0
        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));
        }
예제 #2
0
        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 }));
        }
예제 #3
0
        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 }));
        }