public IActionResult Index(Gebruiker gebruiker, string sorteerOptie = "datum")
        {
            IEnumerable <Sessie> sessies = null;

            Gebruiker trackedGebruiker = _gebruikerRepository.GetByGebruikersnaam(gebruiker.Gebruikersnaam);

            try {
                if (trackedGebruiker is Verantwoordelijke)
                {
                    sessies = trackedGebruiker.GeorganiseerdeSessies.Where(s => s.CurrentState.GetType() == typeof(RegistratieOpenAanmeldenGeslotenState));
                }
                else if (trackedGebruiker is HoofdVerantwoordelijke)
                {
                    sessies = _sessieRepository.GetAll().Where(s => s.CurrentState.GetType() == typeof(RegistratieOpenAanmeldenGeslotenState));
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (Exception) {
                TempData["error"] = "U bent geen (hoofd)verantwoordelijke";
                return(RedirectToAction(nameof(Index), "Overzicht", _sessieRepository.GetAll()));
            }

            Console.WriteLine(sorteerOptie);
            //Sorteer
            if (sorteerOptie.Equals("datum"))
            {
                sessies = sessies.OrderBy(b => b.Start);
            }
            else if (sorteerOptie.Equals("titel"))
            {
                sessies = sessies.OrderBy(b => b.Titel);
            }
            else if (sorteerOptie.Equals("verantwoordelijke"))
            {
                sessies = sessies.OrderBy(b => b.Verantwoordelijke.Gebruikersnaam);
            }


            ViewData["sorteerOptie"]      = sorteerOptie;
            ViewData["gebruikerId"]       = gebruiker.Gebruikersnaam;
            ViewData["gebruikerINITIALS"] = gebruiker.GeefInitials();


            return(View(sessies));
        }
예제 #2
0
        public IActionResult Index()
        {
            Gebruiker            aangemeld = _gebruikerRepository.GetByGebruikersnaam(User.Identity.Name);
            IEnumerable <Sessie> sessies;

            if (User.IsInRole("Verantwoordelijke") || User.IsInRole("Hoofdverantwoordelijke"))
            {
                sessies = _sessieRepository.GetByZichtbaarStatus(aangemeld);
            }
            else
            {
                sessies = _sessieRepository.GetByZichtbaarStatus(null);
            }
            ViewData["aangemelde"] = aangemeld;
            return(View(sessies));
        }
예제 #3
0
        // GET: Feedback
        public IActionResult Index(Gebruiker gebruiker, int SessieID)
        {
            Gebruiker trackedGebruiker = _gebruikerRepository.GetByGebruikersnaam(gebruiker.Gebruikersnaam);

            if (trackedGebruiker == null)
            {
                TempData["error"] = "De gebruiker bestaat niet";
                return(RedirectToAction(nameof(Index), "Overzicht", _sessieRepository.GetAll()));
            }
            Sessie trackedSessie = _sessieRepository.GetById(SessieID);

            if (trackedSessie == null)
            {
                TempData["error"] = "De sessie bestaat niet";
                return(RedirectToAction(nameof(Index), "Overzicht", _sessieRepository.GetAll()));
            }

            ViewData["gebruikerId"]       = gebruiker.Gebruikersnaam;
            ViewData["gebruikerINITIALS"] = gebruiker.GeefInitials();


            return(View(trackedSessie));
        }
예제 #4
0
        public IActionResult SchrijfInVoorSessie(Gebruiker gebruiker, int sessieId)
        {
            // de entities moeten getracked worden voor het updaten van de db
            Sessie    trackedSessie    = _sessieRepository.GetById(sessieId);
            Gebruiker trackedGebruiker = _gebruikerRepository.GetByGebruikersnaam(gebruiker.Gebruikersnaam);

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

            try {
                trackedGebruiker.SchrijfGebruikerInSessie(trackedSessie);
                // dit is om op te slaan in de db
                _sessieRepository.SaveChanges();
                TempData["message"] = $"Inschrijven voor sessie '{trackedSessie.Titel}' succesvol!";
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e) {
                TempData["error"] = e.Message;
                return(RedirectToAction(nameof(Index)));
            }
        }
예제 #5
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            //TODO Dit moet terug uit commentaar als het inloggen gefixt is
            context.ActionArguments["gebruiker"] = context.HttpContext.User.Identity.IsAuthenticated ? _gebruikerRepository.GetByGebruikersnaam(context.HttpContext.User.Identity.Name) : null;
            //context.ActionArguments["gebruiker"] = _gebruikerRepository.GetByGebruikersNaam("123456kd");

            base.OnActionExecuting(context);
        }