示例#1
0
        public IActionResult CreateFilmAfspeellijst(CreateFilmAfspeellijst model)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            FilmAfspeellijst afspeellijst = new FilmAfspeellijst()
            {
                Titel        = model.Titel,
                Beschrijving = model.Beschrijving,
                Privé        = model.Privé,
            };

            _DbContext.FilmAfspeellijsts.Add(afspeellijst);
            _DbContext.SaveChanges();

            foreach (var item in model.Films)
            {
                if (item.Checked == true)
                {
                    UserFilmAfspeelLijst usf = new UserFilmAfspeelLijst
                    {
                        AfspeelLijstId = afspeellijst.Id,
                        FilmId         = item.Id,
                        UserId         = userId
                    };
                    _DbContext.UserFilmAfspeelLijsts.Add(usf);
                    afspeellijst.UserFilmAfspeelLijsts.Add(usf);
                }
            }
            _DbContext.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IActionResult FilmAfspeellijstConfirmDelete(int id)
        {
            FilmAfspeellijst afspeellijstFromDb = _DbContext.FilmAfspeellijsts.FirstOrDefault(a => a.Id == id);

            _DbContext.FilmAfspeellijsts.Remove(afspeellijstFromDb);
            _DbContext.SaveChanges();

            return(RedirectToAction("FilmsAfspeelLijsten"));
        }
        public IActionResult FilmsAfspeelLijstDelete(int id)
        {
            FilmAfspeellijst afspeellijstFromDb  = _DbContext.FilmAfspeellijsts.FirstOrDefault(a => a.Id == id);
            DeleteFilmAfspeellijstViewModel film = new DeleteFilmAfspeellijstViewModel();

            film.Titel = afspeellijstFromDb.Titel;
            film.Id    = afspeellijstFromDb.Id;
            return(View(film));
        }
        public IActionResult FilmsAfspeelLijsten(string searchString)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            List <UserFilmAfspeelLijst> filmAfspeelLijsten = _DbContext.UserFilmAfspeelLijsts.Where(a => a.UserId == userId).ToList();
            var afspeelLijstSingle = filmAfspeelLijsten.GroupBy(x => x.AfspeelLijstId).Select(g => g.First()).ToList();
            List <FilmAfspeellijst> Listafspeelijsts = new List <FilmAfspeellijst>();

            foreach (var item in afspeelLijstSingle)
            {
                FilmAfspeellijst afspeellijst = _DbContext.FilmAfspeellijsts.FirstOrDefault(a => a.Id == item.AfspeelLijstId);
                Listafspeelijsts.Add(afspeellijst);
            }
            List <ListFilmAfspeellijstViewModel> model = new List <ListFilmAfspeellijstViewModel>();

            //SEARCH
            ViewData["CurrentFilter"] = searchString;

            if (!String.IsNullOrEmpty(searchString))
            {
                Listafspeelijsts = Listafspeelijsts.Where(a => a.Titel.Contains(searchString)).ToList();
            }

            //List<SelectListItem> privacy = new List<SelectListItem>();
            //privacy.Add(new SelectListItem()
            //{
            //    Text = "Privé",
            //    Value = "Privé"
            //});
            //privacy.Add(new SelectListItem()
            //{
            //    Text = "Publiek",
            //    Value = "Publiek"
            //});
            //SEARCH

            foreach (var item in Listafspeelijsts)
            {
                model.Add(new ListFilmAfspeellijstViewModel
                {
                    Id           = item.Id,
                    Titel        = item.Titel,
                    Beschrijving = item.Beschrijving,
                    Privé        = item.Privé
                });
            }



            return(View(model));
        }
        public IActionResult FilmAfspeellijstEdit(int id, CreateFilmAfspeellijst model)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            FilmAfspeellijst afspeellijst = _DbContext.FilmAfspeellijsts.FirstOrDefault(a => a.Id == id);

            afspeellijst.Titel        = model.Titel;
            afspeellijst.Beschrijving = model.Beschrijving;
            afspeellijst.Privé        = model.Privé;

            foreach (var item in model.Films)
            {
                if (item.Checked == true)
                {
                    UserFilmAfspeelLijst usf = new UserFilmAfspeelLijst
                    {
                        AfspeelLijstId = afspeellijst.Id,
                        FilmId         = item.Id,
                        UserId         = userId
                    };
                    if (_DbContext.UserFilmAfspeelLijsts.FirstOrDefault(a => a.FilmId == item.Id && a.AfspeelLijstId == afspeellijst.Id && a.UserId == userId) == null)
                    {
                        _DbContext.UserFilmAfspeelLijsts.Add(usf);
                        afspeellijst.UserFilmAfspeelLijsts.Add(usf);
                    }
                }
                else
                {
                    UserFilmAfspeelLijst usf = new UserFilmAfspeelLijst
                    {
                        AfspeelLijstId = afspeellijst.Id,
                        FilmId         = item.Id,
                        UserId         = userId
                    };
                    var test = _DbContext.UserFilmAfspeelLijsts.FirstOrDefault(a => a.FilmId == item.Id && a.AfspeelLijstId == afspeellijst.Id && a.UserId == userId);
                    if (test != null)
                    {
                        afspeellijst.UserFilmAfspeelLijsts.Remove(test);
                        _DbContext.UserFilmAfspeelLijsts.Remove(test);
                    }
                }
            }
            _DbContext.SaveChanges();

            return(RedirectToAction("FilmsAfspeelLijsten"));
        }
        public IActionResult FilmAfspeellijstDetail(int Id)
        {
            List <FilmAfspeellijstDetailViewModel> models = new List <FilmAfspeellijstDetailViewModel>();

            FilmAfspeellijst afspeellijst = _DbContext.FilmAfspeellijsts.
                                            Include(a => a.UserFilmAfspeelLijsts).
                                            ThenInclude(b => b.Film).
                                            FirstOrDefault(a => a.Id == Id);

            foreach (var item in afspeellijst.UserFilmAfspeelLijsts)
            {
                models.Add(new FilmAfspeellijstDetailViewModel
                {
                    AfspeellijstId = Id,
                    Id             = item.FilmId,
                    Titel          = item.Film.Titel,
                    Regisseur      = item.Film.Regisseur
                });
            }
            return(View(models));
        }
        public IActionResult FilmAfspeellijstEdit(int id)
        {
            FilmAfspeellijst afspeellijstFromDb = _DbContext.FilmAfspeellijsts.
                                                  Include(a => a.UserFilmAfspeelLijsts).
                                                  ThenInclude(b => b.Film).
                                                  FirstOrDefault(a => a.Id == id);

            List <FilmViewModel> films = new List <FilmViewModel>();

            foreach (var item in _DbContext.Films)
            {
                if (afspeellijstFromDb.UserFilmAfspeelLijsts.FirstOrDefault(a => a.FilmId == item.Id) != null)
                {
                    films.Add(new FilmViewModel()
                    {
                        Checked = true,
                        Naam    = item.Titel,
                        Id      = item.Id
                    });
                }
                else
                {
                    films.Add(new FilmViewModel()
                    {
                        Naam = item.Titel,
                        Id   = item.Id
                    });
                }
            }
            CreateFilmAfspeellijst model = new CreateFilmAfspeellijst();

            model.Titel        = afspeellijstFromDb.Titel;
            model.Beschrijving = afspeellijstFromDb.Beschrijving;
            model.Privé        = afspeellijstFromDb.Privé;
            model.Id           = afspeellijstFromDb.Id;
            model.Films        = films;

            return(View(model));
        }