public IActionResult AccepteerGroep(Cursist cursist, AccepteerGroepViewModel model)
        {
            try
            {
                Groep groep = _groepRepository.GetBy(model.GroepNaam);
                groep.VoegCursistToe(cursist);
                _groepRepository.UpdateGroep(groep);
                _cursistRepository.UpdateCursist(cursist);

                _groepRepository.SaveChanges();
                // melding verwijderen + message meegeven?
                //ViewBag._userMessage = $"U bent succesvol toegevoegd aan {groep.Naam} ";
                return(RedirectToAction(nameof(ToonLeden), "BeherenGroep"));
            }
            catch (ArgumentException e)
            {
                cursist.Meldingen.Remove(cursist.Meldingen.Find(c => c.GroepNaam == model.GroepNaam));
                _cursistRepository.SaveChanges();
                @ViewBag._userError = e.Message;
                List <Melding> meldingen = cursist.Meldingen;
                List <Groep>   groepen   = new List <Groep>();

                meldingen.ForEach(m =>
                {
                    String naam = m.GroepNaam;
                    if (naam != null)
                    {
                        groepen.Add(_groepRepository.GetBy(naam));
                    }
                });

                ViewBag.groep = groepen;
                return(View("MaakGroep"));
            }
        }
        public IActionResult WeigerGroep(Cursist cursist, AccepteerGroepViewModel model)
        {
            cursist.Meldingen.Remove(cursist.Meldingen.Find(c => c.GroepNaam == model.GroepNaam));
            _cursistRepository.SaveChanges();
            ViewBag._userMessage = $"U heeft succesvol de uitnodiging van {model.GroepNaam} afgewezen ";

            return(RedirectToAction("Index"));
        }
        public void WeigerGroep()
        {
            var cursist  = new Cursist("Fulvio", "Gentile", "*****@*****.**");
            var cursist1 = new Cursist("Test", "Gebruiker", "*****@*****.**");
            var groep    = new Groep("Test");

            _groepRepository.Setup(r => r.GetBy("Test")).Returns(groep);
            _cursistRepository.Setup(r => r.GetBy("*****@*****.**")).Returns(cursist);
            _cursistRepository.Setup(r => r.GetBy("*****@*****.**")).Returns(cursist1);
            var controller = new BeherenGroepController(_groepRepository.Object, _cursistRepository.Object, It.IsAny <SchoolRepository>(), _motivatieRepository.Object);

            cursist1.Groep = groep;
            groep.Cursisten.Add(cursist1);
            cursist.NodigUitVoorGroep(cursist1.Email, groep.Naam);
            var model   = new AccepteerGroepViewModel();
            var melding = cursist.Meldingen.Find(c => c.GroepNaam == groep.Naam);

            model.GroepNaam = "Test";
            controller.WeigerGroep(cursist, model);
            Assert.Equal(false, cursist.Meldingen.Any(c => c == melding));
        }