/// <summary> /// Sluit Sessie en controleert op users die 3 keer afwezig waren en blokkeert deze /// </summary> public void SessieSluiten() { if (StatusSessie.Equals(StatusSessie.Open)) { StatusSessie = StatusSessie.Gesloten; //controleert op users die 3 keer afwezig waren en blokkeert deze foreach (GebruikerSessie gebruikerSessie in GebruikerSessies) { if (!gebruikerSessie.Aanwezig) { Gebruiker gebruiker = gebruikerSessie.Gebruiker; if (!(gebruiker is Verantwoordelijke) && gebruiker.AantalKeerAfwezig >= 2) //Verantwoordelijken niet blokkeren { gebruiker.StatusGebruiker = StatusGebruiker.Geblokkeerd; gebruiker.SchrijfUitAlleSessies(); } gebruiker.AantalKeerAfwezig++; } } } else { throw new SessieException("Sessie kan niet gesloten worden."); } }
public void FeedbackGevenSessieNogNietGestartTest(StatusSessie status) { _sessie.StartDatum = DateTime.Now.AddHours(2); _sessie.StatusSessie = status; GebruikerSessie gebruikerSessie = new GebruikerSessie(_sessie, _gebruiker) { Aanwezig = true }; _sessie.GebruikerSessies.Add(gebruikerSessie); _gebruiker.GebruikerSessies.Add(gebruikerSessie); Assert.Throws <FeedbackException>(() => _sessie.FeedbackGeven("test", _gebruiker, 3)); Assert.Empty(_sessie.FeedbackList); }
/// <summary> /// Zet Sessie open /// </summary> /// <param name="user">Verantwoordelijke Object</param> public void SessieOpenZetten(Verantwoordelijke user) { if (StatusSessie.Equals(StatusSessie.NietOpen) && DateTime.Now >= StartDatum.AddHours(-1) && DateTime.Now < StartDatum) { if (!(user.IsHoofdverantwoordelijke || user.OpenTeZettenSessies.Contains(this))) { throw new SessieException("Sessie kan niet worden opengezet. Controleer of je de rechten hebt om deze sessie open te zetten."); } StatusSessie = StatusSessie.Open; } else { throw new SessieException("Sessie kan niet worden opengezet. Controleer of je niet meer dan één uur op voorhand deze sessie wilt openzetten"); } }
public Sessie(Verantwoordelijke verantwoordelijke, string titel, string lokaal, DateTime startDatum, DateTime eindDatum, int capaciteit, StatusSessie statusSessie = StatusSessie.NietOpen, string beschrijving = "", string gastspreker = "") { this.Verantwoordelijke = verantwoordelijke; this.Titel = titel; this.Lokaal = lokaal; this.StartDatum = startDatum; this.EindDatum = eindDatum; this.Capaciteit = capaciteit; this.StatusSessie = statusSessie; this.Beschrijving = beschrijving; this.Gastspreker = gastspreker; this.GebruikerSessies = new List <GebruikerSessie>(); this.FeedbackList = new List <Feedback>(); this.Media = new List <Media>(); }
public void SessieOpenzetten_VerantwoordelijkeAangemaakt_dieGeslotenIs_melding(StatusSessie statusSessie) { hedenSessie.StatusSessie = statusSessie; Assert.Equal(_organizer1, hedenSessie.Verantwoordelijke); _organizer1.OpenTeZettenSessies.Add(hedenSessie); Assert.Throws <SessieException>(() => { hedenSessie.SessieOpenZetten(_organizer1); }); }
public void SessieOpenzetten_HoofdVerantwoordelijkeNietAangemaakt_dieGeslotenIs_melding(StatusSessie statusSessie) { hedenSessie.StatusSessie = statusSessie; Assert.Equal(_organizer1, hedenSessie.Verantwoordelijke); Assert.Throws <SessieException>(() => { hedenSessie.SessieOpenZetten(_admin); }); }