diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs index 41cd7f6..05bfeb0 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs @@ -12,53 +12,86 @@ public class ArtisteController : Controller { // Injection du logger via le constructeur private readonly ILogger _logger; + private readonly List _artistes; + public ArtisteController(ILogger logger) { _logger = logger; this._logger.LogDebug(1, "initialisation du ArtisteController d'administration"); + var factory = new DataFactory(); + + _artistes = factory.GenerateArtists(10); } /// /// Affiche la liste des artistes. Pour l'instant, les artistes sont générés à partir de noms prédéfinis via la méthode SeedArtisteByName de la classe ArtisteFactory. /// Chaque artiste est ensuite ajouté à une liste d'artistes qui est passée à la vue via un objet GroupeArtisteViewModel. /// - /// + /// Redirection. public IActionResult Index() { - var nomsArtistes = new List { "The Beatles", "Théa", "Thédora", "Ricchi E Poveri", "Bad Bunny", "horsegiirL" }; - List artistes = new List(); - foreach (var nom in nomsArtistes) - { - Artiste artiste = ArtisteFactory.SeedArtisteByName(nom); - artistes.Add(artiste); - } + var _artistes_ordre = _artistes.OrderBy(t => t.Nom).ToList(); + + _logger.LogInformation("Initialisation du contrôleur TitreController pour l'Administration."); GroupeArtisteViewModel groupeArtisteModel = new GroupeArtisteViewModel { - Artistes = artistes + Artistes = _artistes_ordre }; return View(groupeArtisteModel); } /// - /// Renvoie à la page modifier un artiste. - /// Méthode vide pour le moment. + /// Renvoie à la page pour créer un artiste. /// - /// - public IActionResult Edit() + /// Redirection. + public IActionResult Create() { - return View(); + var model = new AdminArtisteForm + { + Id = 0, + Nom = string.Empty, + Biographie = string.Empty + }; + + return View(model); + } + + /// + /// Renvoie à la page modifier un artiste. + /// + /// L'identifiant de l'artiste à modifier. + /// Redirection. + public IActionResult Edit(int id) + { + var artiste = _artistes.First(t => t.IdArtiste == id); + + var model = new AdminArtisteForm + { + Id = artiste.IdArtiste, + Nom = artiste.Nom, + Biographie = artiste.Biographie + }; + + return View(model); } /// /// Renvoie à la page supprimer un artiste. - /// Méthode vide pour le moment. /// - /// - public IActionResult Delete() + /// L'identifiant de l'artiste à supprimer. + /// Redirection.> + public IActionResult Delete(int id) { - return View(); + var artiste = _artistes.First(t => t.IdArtiste == id); + var model = new AdminArtisteForm + { + Id = id, + Nom = artiste.Nom, + Biographie = artiste.Biographie + }; + return View(model); } } \ No newline at end of file diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/CommentairesController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs similarity index 100% rename from Webzine.WebApplication/Areas/Administration/Controllers/CommentairesController.cs rename to Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/StyleController.cs similarity index 95% rename from Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs rename to Webzine.WebApplication/Areas/Administration/Controllers/StyleController.cs index 0f4be27..623530e 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/StyleController.cs @@ -9,21 +9,21 @@ using Webzine.WebApplication.Areas.Administration.ViewModels.Style; namespace Webzine.WebApplication.Areas.Administration.Controllers { [Area("Administration")] - public class StylesController : Controller + public class StyleController : Controller { - private readonly ILogger _logger; + private readonly ILogger _logger; private readonly List