Exemplo n.º 1
0
        public void DezelfdeUserAanmelden_ThrowtError()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            piet.SchrijfGebruikerInSessie(_session);
            piet.ZetAanwezigVoorSessie(_session);

            Assert.Throws <InvalidOperationException>(() => piet.ZetAanwezigVoorSessie(_session));
        }
Exemplo n.º 2
0
        public void RegistreerAanwezigheid_zetAanwezigTrue()
        {
            Gebruiker gebruiker = new Gebruiker("Sukie Dageraad", "201734sd", 9876543219876);

            gebruiker.SchrijfGebruikerInSessie(sRgeopendAgeopend);
            gebruiker.ZetAanwezigVoorSessie(sRgeopendAgeopend);
            Assert.Single(sRgeopendAgeopend.AanwezigeGebruikers);
        }
        public IActionResult MeldAanVoorSessie(Gebruiker gebruiker, int sessieId, string barcode)
        {
            // de entities moeten getracked worden voor het updaten van de db
            Sessie    trackedSessie    = _sessieRepository.GetById(sessieId);
            Gebruiker trackedGebruiker = _gebruikerRepository.GetByGebruikersnaam(gebruiker.Gebruikersnaam);

            if (barcode == null)
            {
                TempData["error"] = "De gebruiker bestaat niet";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }

            if (trackedSessie == null)               // De sessie bestaat niet
            {
                TempData["error"] = "De sessie bestaat niet";
                return(RedirectToAction(nameof(Index)));
            }

            Gebruiker aanTeMeldenGebruiker = null;

            Regex gebregex = new Regex("[0-9]{6}[a-zA-Z]{2}"); // regex voor een gebruikersnaam
            Regex barregex = new Regex("[0-9]{13}");           // regex voor een barcode

            if (gebregex.IsMatch(barcode))                     // het is een gebruikersnaam
            {
                aanTeMeldenGebruiker = _gebruikerRepository.GetByGebruikersnaam(barcode);
            }
            else if (barregex.IsMatch(barcode))               // het is een barcode
            {
                aanTeMeldenGebruiker = _gebruikerRepository.GetByBarcode(long.Parse(barcode));
            }

            if (aanTeMeldenGebruiker == null)
            {
                TempData["error"] = "De gebruiker bestaat niet";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }

            try {
                aanTeMeldenGebruiker.ZetAanwezigVoorSessie(trackedSessie);
                // dit is om op te slaan in de db
                _sessieRepository.SaveChanges();
                TempData["message"] = $"Aanmelden voor sessie '{trackedSessie.Titel}' succesvol!";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }
            catch (Exception e) {
                TempData["error"] = e.Message;
                return(RedirectToAction(nameof(geOpendeSessie)));
            }
        }
        public FeedbackControllerTest()
        {
            _gebruikerRepository = new Mock <IGebruikerRepository>();
            _sessieRepository    = new Mock <ISessieRepository>();
            _controller          = new FeedBackController(_sessieRepository.Object, _gebruikerRepository.Object)
            {
                TempData = new Mock <ITempDataDictionary>().Object
            };

            _dummyData = new DummyData();
            // testdata ophalen
            testSessie    = _dummyData.s1;
            testGebruiker = _dummyData.piet;
            // testGebruiker inschrijven en aanwezig stellen
            testSessie.ToState(new RegistratieEnAanmeldenOpenState(testSessie));             // zorgen dat gebruiker kan inschrijven en aanmelden
            testGebruiker.SchrijfGebruikerInSessie(testSessie);
            testGebruiker.ZetAanwezigVoorSessie(testSessie);
            // schrijf een feedback
            testGebruiker.geefFeedbackOpSessie(testSessie, "een feedbackinhoud", 5);
        }