public IActionResult Detail(int Id, string status, int typ) { if (typ == 1) { UserFilmFavourite UFF = _context.UserFilmFavourite.FirstOrDefault(x => x.UserId == _userManager.GetUserId(User) && x.FilmId == Id); if (UFF == null) { _context.UserFilmFavourite.Add(new UserFilmFavourite() { UserId = _userManager.GetUserId(User), FilmId = Id }); } else { _context.UserFilmFavourite.Remove(UFF); } } else { UserFilmGezienStatus UFGS = _context.UserFilmGezienStatus.FirstOrDefault(x => x.UserId == _userManager.GetUserId(User) && x.FilmId == Id); if (UFGS == null) { _context.UserFilmGezienStatus.Add(new UserFilmGezienStatus() { UserId = _userManager.GetUserId(User), FilmId = Id, StatusId = Convert.ToInt32(status) }); } else { UFGS.StatusId = Convert.ToInt32(status); } } _context.SaveChanges(); return(RedirectToAction("Detail")); }
public IActionResult Detail(int Id) { string Userid = _userManager.GetUserId(User); List <FilmPlaylist> filmPlaylists = _context.FilmPlaylist.Where(fp => fp.UserId == _userManager.GetUserId(User)).ToList(); Film filmFromDb = _context.Film.Include(f => f.Favourites).Include(f => f.FilmGezienStatuses).Include(f => f.Genres) .Include(f => f.Regisseurs).FirstOrDefault(x => x.Id == Id); //Als film niet zichtbaar is en user is geen admin redirecten naar index; if (!filmFromDb.Zichtbaar && !User.IsInRole("Admin")) { return(RedirectToAction("Index")); } FilmDetailViewModel myModel = new FilmDetailViewModel() { Id = filmFromDb.Id, FilmArt = filmFromDb.Foto, AantalFavoriet = filmFromDb.Favourites.Count, Titel = filmFromDb.Titel, AantalGezien = 0, GezienStatusList = _statusItemList, Beschrijving = filmFromDb.Beschrijving, UserPlaylists = new List <SelectListItem>() }; //Favoriet + user checken. UserFilmFavourite UFF = filmFromDb.Favourites.FirstOrDefault(x => x.UserId == Userid && x.FilmId == Id); if (UFF != null) { myModel.Favoriet = true; } //Gezienstatus+ user checken. UserFilmGezienStatus UFG = _context.UserFilmGezienStatus.FirstOrDefault(x => x.UserId == _userManager.GetUserId(User) && x.FilmId == Id); if (UFG != null) { myModel.GezienStatusList[UFG.StatusId - 1].Selected = true; } foreach (var item in filmFromDb.FilmGezienStatuses) { if (item.StatusId == 3) { myModel.AantalGezien++; } } //Genres toevoegen foreach (var genre in filmFromDb.Genres) { myModel.Genres.Add(_context.FilmGenre.FirstOrDefault(fg => fg.Id == genre.GenreId).Genre); } //Regisseurs toevoegen foreach (var regi in filmFromDb.Regisseurs) { myModel.Regisseurs.Add(_context.FilmRegisseur.FirstOrDefault(fr => fr.Id == regi.RegisseurId).Naam); } //Playlists toevoegen foreach (var item in filmPlaylists) { if (!_context.UserFilmPlaylist.Any(ufp => ufp.FilmId == Id && ufp.PlaylistId == item.Id)) { myModel.UserPlaylists.Add(new SelectListItem(item.Titel, item.Id.ToString())); } } return(View(myModel)); }