/// <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.");
     }
 }
Exemple #2
0
        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>();
 }
Exemple #5
0
 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); });
 }
Exemple #6
0
 public void SessieOpenzetten_HoofdVerantwoordelijkeNietAangemaakt_dieGeslotenIs_melding(StatusSessie statusSessie)
 {
     hedenSessie.StatusSessie = statusSessie;
     Assert.Equal(_organizer1, hedenSessie.Verantwoordelijke);
     Assert.Throws <SessieException>(() => { hedenSessie.SessieOpenZetten(_admin); });
 }