👹 Boss - Dapperious
Dans la section précédente, vous devriez avoir terminé avec une action Index
pour le contrôleur d'événements ressemblant à ceci:
Snowfall.Web.Mvc/Controllers/EvenementsController.cs
public async Task<IActionResult> Index()
{
List<Evenement> evenements = await _evenementService.GetAll();
List<Ville> villes = new List<Ville>
{
new Ville
{
Id = 1,
Nom = "Montreal",
PaysIso = "CA"
},
new Ville
{
Id = 2,
Nom = "Los Angeles",
PaysIso = "US"
}
};
var viewModel = new EvenementsIndexViewModel
{
Villes = villes,
Evenements = evenements
};
return View(viewModel);
}
Il faudrait cependant obtenir les villes à partir de la base de données!
Ainsi, pour ce boss:
- Créer un service
VilleService
(et son interface) dans le projetSnowfall.Application
- Créer un repository
VilleRepository
(et son interface) dans le projetSnowfall.Data
- À l'aide d'une méthode
GetAll()
dans le service, qui à son tour appellera la fonctionGetAll()
du repository, retournez la liste des villes en provenance de la BD. - Dans le repository
VilleRepository
, vous devrez évidemment faire une requête SQL responsable de récupérer les villes à partir de la table villes. - À partir de l'action
Index
du contrôleur,EvenementsController
appelez le service pour retourner la liste de villes.
astuce
N'oubliez pas l'injection de dépendances! Rappelez-vous que lors du niveau sur l'architecture en couches, nous avons ajouté les classes accessibles via l'injection de dépendances au fichier Program.cs
.