Example #1
0
 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"));
 }
Example #2
0
        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));
        }