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)); }
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 })); }
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)); }
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); }
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)); }
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); } }