Example #1
0
        public void DezelfdeUserUitschrijven_ThrowtError()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            SessieGebruikerIngeschreven pietSG = MaakDefaultSGI(piet);

            _session.SchrijfGebruikerIn(pietSG);
            _session.SchrijfGebruikerUit(pietSG);

            Assert.Throws <InvalidOperationException>(() => _session.SchrijfGebruikerUit(pietSG));
        }
Example #2
0
 public IActionResult Uitschrijven(int id, Gebruiker gebruiker, bool view = false, int maandId = 0)
 {
     try
     {
         Sessie sessie = _sessieRepository.GetById(id);
         if (gebruiker != null && sessie != null)
         {
             if (sessie.EindDatum > DateTime.Now)
             {
                 SessieGebruiker sessieGebruiker = sessie.GeefSessieGebruiker(gebruiker);
                 sessie.SchrijfGebruikerUit(sessieGebruiker, gebruiker);
                 _gebruikerRepository.SaveChanges();
                 _sessieRepository.SaveChanges();
                 TempData["message"] = $"Je bent uitgeschreven voor {sessie.Naam}.";
             }
             else
             {
                 TempData["error"] = "De sessie is reeds afgelopen. Uitschrijven is niet meer mogelijk.";
             }
         }
         else
         {
             TempData["error"] = "Er is iets mis gegaan, we konden je niet uitschrijven.";
         }
     }
     catch
     {
         TempData["error"] = "Er is iets mis gegaan, we konden je niet uitschrijven.";
     }
     if (view)
     {
         return(RedirectToAction("Index", new { maandId = maandId }));
     }
     return(RedirectToAction("Details", new { id = id }));
 }
Example #3
0
        public void AlsSessieGeslotenIsKan_JeNietUitschrijven()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new AanmeldenEnRegistratieGeslotenState(_session));
            SessieGebruikerIngeschreven sg = MaakDefaultSGI(piet);

            _session.IngeschrevenGebruikers.Contains(sg);
            Assert.Throws <InvalidOperationException>(() => _session.SchrijfGebruikerUit(sg));
        }
Example #4
0
        public void AlsSessieOpenAanmeldenGesloten_GebruikerKanUitschrijven()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieOpenAanmeldenGeslotenState(_session));
            SessieGebruikerIngeschreven sg = MaakDefaultSGI(piet);

            _session.SchrijfGebruikerIn(sg);
            _session.SchrijfGebruikerUit(sg);
            Assert.Empty(_session.IngeschrevenGebruikers);
        }
Example #5
0
        public void DeGebruikerIsUitgeschrevenUitSessie()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            SessieGebruikerIngeschreven pietSG = new SessieGebruikerIngeschreven(_session, piet);

            _session.SchrijfGebruikerIn(pietSG);
            _session.SchrijfGebruikerUit(pietSG);
            Assert.False(_session.IngeschrevenGebruikers.Contains(pietSG));
        }
Example #6
0
        public void SchrijfUitVoorSessie(Sessie sessie)
        {
            SessieGebruikerIngeschreven sgi = Context.IngeschrevenSessies.FirstOrDefault(sgi => sgi.SessieId == sessie.Id);

            if (sgi == null)             // De gebruiker is nietgeschreven
            {
                throw new InvalidOperationException("gebruiker is niet ingeschreven");
            }

            try {
                sessie.SchrijfGebruikerUit(sgi);
                Context.IngeschrevenSessies.Remove(sgi);
            }
            catch (InvalidOperationException e) {
                throw new InvalidOperationException(e.Message);
            }
        }