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