Aller au contenu principal

12-5 Utilisation de FindByVilleId dans le contrôleur

Il suffit maintenant d'appeler de façon conditionnelle la bonne fonction.

Si un paramètre est présent pour ville, on appelle FindByVilleId et sinon on appel GetAll() comme auparavant.

Snowfall.Web.Mvc/Controllers/EvenementsController.cs
public async Task<IActionResult> Index(int? ville)
{
List<Evenement> evenements;

if(ville.HasValue)
evenements = await _evenementService.FindByVilleId(ville.Value);
else
evenements = await _evenementService.GetAll();

List<Ville> villes = await _villeService.GetAll();

var viewModel = new EvenementsIndexViewModel
{
Villes = villes,
Evenements = evenements
};

return View(viewModel);
}
info

Comme ville est optionnel, on doit utiliser HasValue, permettant de vérifier si une valeur est associée ou non.

Ensuite, pour obtenir la valeur, on utilise Value sur le int.

Si vous lancez l'application, le filtre devrait fonctionner!

http://localhost:4200