Aller au contenu principal

👹 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:

  1. Créer un service VilleService (et son interface) dans le projet Snowfall.Application
  2. Créer un repository VilleRepository (et son interface) dans le projet Snowfall.Data
  3. À l'aide d'une méthode GetAll() dans le service, qui à son tour appellera la fonction GetAll() du repository, retournez la liste des villes en provenance de la BD.
  4. Dans le repository VilleRepository, vous devrez évidemment faire une requête SQL responsable de récupérer les villes à partir de la table villes.
  5. À 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.