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

            _session.SchrijfGebruikerIn(pietSG);
            Assert.True(_session.IngeschrevenGebruikers.Contains(pietSG));
        }
Beispiel #2
0
        public void DezelfdeUserInschrijven_ThrowtError()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            SessieGebruikerIngeschreven pietSG = MaakDefaultSGI(piet);

            _session.SchrijfGebruikerIn(pietSG);
            Assert.Throws <InvalidOperationException>(() => _session.SchrijfGebruikerIn(pietSG));
        }
Beispiel #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));
        }
Beispiel #4
0
        public void AlsSessieOpenAanmeldenGesloten_GebruikerAanmelden_ThrowtError()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieOpenAanmeldenGeslotenState(_session));
            SessieGebruikerIngeschreven sg = MaakDefaultSGI(piet);

            _session.SchrijfGebruikerIn(sg);

            Assert.Throws <InvalidOperationException>(() => _session.GebruikerAanwezigMelden(sg));
        }
Beispiel #5
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);
        }
Beispiel #6
0
        public void AlsSessieOpenRegistratieEnOpenAanmeldenKanJeAanmelden()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            SessieGebruikerIngeschreven sg = MaakDefaultSGI(piet);

            _session.SchrijfGebruikerIn(sg);
            _session.GebruikerAanwezigMelden(sg);
            Assert.Equal(1, _session.GeefAantalAanwezigeGebruikers());
        }
Beispiel #7
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));
        }
Beispiel #8
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);
            }
        }
Beispiel #9
0
        public SessieGebruikerAanwezig GebruikerAanwezigMelden(SessieGebruikerIngeschreven sgi)
        {
            SessieGebruikerAanwezig     sga = null;
            SessieGebruikerIngeschreven sessieGebruikerIngeschreven = Context.IngeschrevenGebruikers.FirstOrDefault(s => s.SessieId == sgi.SessieId && s.GebruikerId.Equals(sgi.GebruikerId));

            if (sessieGebruikerIngeschreven != null)
            {
                sga = new SessieGebruikerAanwezig(sgi.Sessie, sgi.Gebruiker);
                Context.AanwezigeGebruikers.Add(sga);
            }
            else
            {
                throw new InvalidOperationException("Gebruiker moet ingeschreven zijn om aan te melden");
            }

            return(sga);
        }
Beispiel #10
0
        public void SchrijfInVoorSessie(Sessie sessie)
        {
            SessieGebruikerIngeschreven sgi = Context.IngeschrevenSessies.FirstOrDefault(s => s.SessieId == sessie.Id && s.GebruikerId.Equals(Context.Gebruikersnaam));

            if (sgi != null)             // De gebruiker is al ingeschreven
            {
                throw new InvalidOperationException("Gebruiker is al ingeschreven");
            }

            try {
                sgi = new SessieGebruikerIngeschreven(sessie, Context);
                sessie.SchrijfGebruikerIn(sgi);
                Context.IngeschrevenSessies.Add(sgi);
            }
            catch (InvalidOperationException e) {
                throw new InvalidOperationException(e.Message);
            }
        }
Beispiel #11
0
        public void RegistreerAanwezigheidVoorSessie(Sessie sessie)
        {
            SessieGebruikerIngeschreven sgi = Context.IngeschrevenSessies.FirstOrDefault(sgi => sgi.SessieId == sessie.Id);
            SessieGebruikerAanwezig     sga = Context.AanwezigeSessies.FirstOrDefault(sga => sga.SessieId == sessie.Id);

            if (sgi != null && sga == null)               // gebruiker is wel degelijk ingeschreven en nog niet aanwezig
            {
                try {
                    sga = sessie.GebruikerAanwezigMelden(sgi);
                    Context.AanwezigeSessies.Add(sga);
                }
                catch (InvalidOperationException e) {
                    throw new InvalidOperationException(e.Message);
                }
            }
            else
            {
                throw new InvalidOperationException("Gebruiker is niet ingeschreven voor deze sessie of is al aanwezig");
            }
        }