public async Task <IActionResult> BeheerMeldingen(int pagina, string sorteerType, string sorteerVolgorde, string filter, string status, string poster, DateTime date1, DateTime date2, bool likedby) { //Standaardwaarden indien parameters null zijn if (sorteerType == null) { sorteerType = "Datum"; } if (sorteerVolgorde == null) { sorteerVolgorde = "aflopend"; } if (status == null) { status = "Open"; } if (poster == null) { poster = "Toon alles"; } ViewData["Filter"] = filter; ViewData["SorteerType"] = sorteerType; ViewData["SorteerVolgorde"] = sorteerVolgorde; ViewData["Status"] = status; ViewData["Poster"] = poster; ViewData["Date1"] = DateFormat(date1); ViewData["Date2"] = DateFormat(date2); ViewData["Likedby"] = likedby; //Stuur een gepagineerde, gesorteerde en gefilterde lijst mee terug aan de view. return(View(await GepagineerdeLijst <Melding> .CreateAsync(DateRange(Filter(Sort(sorteerVolgorde, sorteerType), filter, status, poster, likedby), date1, date2), pagina, 5))); }
//Indexpagina die wordt gebruikt om meldingen weer te geven, opgedeeld in pagina's public async Task <IActionResult> OverzichtMeldingen(int pagina, string sorteerType, string sorteerVolgorde, string filter, string status, string poster, DateTime date1, DateTime date2, bool likedby) { //Standaardwaarden indien parameters null zijn if (sorteerType == null) { sorteerType = "Datum"; } if (sorteerVolgorde == null) { sorteerVolgorde = "aflopend"; } if (status == null) { status = "Open"; } if (poster == null) { poster = "Toon alles"; } //Maak een user aan identiek aan de user die op dit moment is ingelogd. De FindByIDAsync methode zoekt een user in de usermanager. //De parameter is een UserID. Deze wordt gevonden doormiddel van this.user (het huidig ingelogde user van het type ClaimType), waarna de eerste //waarde hiervan wordt gevonden (van het type UserID). WDPR_BuurtApp_3GUser user = await _userManager.FindByIdAsync(this.User.FindFirst(ClaimTypes.NameIdentifier).Value); //Check of ingelogd user moderator is. Boolean wordt meegestuurd in de viewdata ViewData["UserIsModerator"] = false; if (await _userManager.IsInRoleAsync(user, "Moderator")) { ViewData["UserIsModerator"] = true; } ViewData["Likedby"] = likedby; ViewData["Filter"] = filter; ViewData["SorteerType"] = sorteerType; ViewData["SorteerVolgorde"] = sorteerVolgorde; ViewData["Status"] = status; ViewData["Poster"] = poster; ViewData["Date1"] = DateFormat(date1); ViewData["Date2"] = DateFormat(date2); ViewData["LoggedInID"] = this.User.FindFirst(ClaimTypes.NameIdentifier).Value; //Stuur een gepagineerde, gesorteerde en gefilterde lijst mee terug aan de view. return(View(await GepagineerdeLijst <Melding> .CreateAsync(DateRange(Filter(Sort(sorteerVolgorde, sorteerType), filter, status, poster, likedby), date1, date2), pagina, 5))); }