👹 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 Indexdu contrôleur,EvenementsControllerappelez 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.