Example #1
0
        public async Task <IActionResult> SchrijfUit(int id)
        {
            Sessie sessie = _sessieRepository.GetBy(id);

            if (sessie != null)
            {
                IdentityUser user = await _userManager.GetUserAsync(User);

                try
                {
                    Inschrijving inschrijving = new Inschrijving();
                    inschrijving = sessie.GeefSessieInschrijving(_gebruikerRepository.GetByEmail(user.Email));
                    sessie.VerwijderInschrijving(inschrijving);
                    _inschrijvingRepository.Delete(inschrijving);
                    _inschrijvingRepository.SaveChanges();
                    _sessieRepository.SaveChanges();
                    TempData["message"] = $"Je bent nu uitgeschreven voor sessie {sessie.Titel}";
                }
                catch (ArgumentException e)
                {
                    TempData["error"] = "Je bent niet ingeschreven voor deze sessie";
                }
            }
            else
            {
                TempData["error"] = "Er is iets fout gelopen";
            }
            return(RedirectToAction(nameof(Detail), new { id }));
        }