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
