Aller au contenu principal

7-2 Modifier le modèle et le contrôleur

Vous avez travaillé avec des données en mémoire et on s'apprête à utiliser une base de données. Dans un premier temps, un léger changement est à faire pour le modèle Evenement et ensuite, on doit en quelque sorte "réinitialiser" le contrôleur pour revenir à une version de base.

Modèle Evenement

Le modèle Evenement contient une référence à Ville en tant que string, alors que le champ s'appelle maintenant VilleId (ville_id dans Postgres) et est de type int.

Modifiez la propriété Ville pour VilleId:

Snowfall.Web.Mvc/Models/Evenement.cs
public class Evenement
{
public int Id { get; set; }
public required string Nom { get; set; }
public string? Description { get; set; }
public string? ImagePath { get; set; }
public DateTime Date { get; set; }
public Decimal Prix { get; set; }
public int Capacite { get; set; }
public required int VilleId { get; set; }
}
info

On utilise la convention PascalCase de .Net pour nommer l'attribut, même si cela ne correspond pas à 100% au nom de la colonne dans Postgres. Nous verrons plus loin comment s'assurer que l'association soit tout de même faite automatiquement.

Contrôleur EvenementsController

Ensuite, revenez à un format plus simple pour le contrôleur EvenementsController. Il s'agit d'une version minimale à partir de laquelle nous travaillerons pour la suite.

Snowfall.Web.Mvc/Controllers/EvenementsController.cs
[Route("[controller]")]
public class EvenementsController : Controller
{
[Route("/")]
public IActionResult Index()
{
return View(new List<Evenement>());
}

[HttpGet("{id:int}")]
public IActionResult Show(int id, string? option)
{
return View();
}

[HttpGet("{id:int}/edit")]
public IActionResult Edit(int id)
{
return Content("Vue Edit de EvenementsController, id: " + id);
}
}