Merge pull request 'j1/feat/page_admin_artiste' (#72) from j1/feat/page_admin_artiste into dev

Reviewed-on: http://10.4.0.131/DI1-P4-E1/Webzine/pulls/72
Reviewed-by: Loic Masi <loic.masi@diiage.org>
This commit is contained in:
Loic Masi
2026-03-06 15:15:44 +01:00
4 changed files with 132 additions and 1 deletions

View File

@@ -0,0 +1,64 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Webzine.Entity;
using Webzine.Entity.Fixtures;
using Webzine.WebApplication.Areas.Administration.ViewModels.Artiste;
using Webzine.WebApplication.Areas.Administration.ViewModels.Titre;
namespace Webzine.WebApplication.Areas.Administration.Controllers;
[Area("Administration")]
public class ArtisteController : Controller
{
// Injection du logger via le constructeur
private readonly ILogger<ArtisteController> _logger;
public ArtisteController(ILogger<ArtisteController> logger)
{
_logger = logger;
this._logger.LogDebug(1, "initialisation du ArtisteController d'administration");
}
/// <summary>
/// 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.
/// </summary>
/// <returns></returns>
public IActionResult Index()
{
var nomsArtistes = new List<string> { "The Beatles", "Théa", "Thédora", "Ricchi E Poveri", "Bad Bunny", "horsegiirL" };
List<Artiste> artistes = new List<Artiste>();
foreach (var nom in nomsArtistes)
{
Artiste artiste = ArtisteFactory.SeedArtisteByName(nom);
artistes.Add(artiste);
}
GroupeArtisteViewModel groupeArtisteModel = new GroupeArtisteViewModel
{
Artistes = artistes
};
return View(groupeArtisteModel);
}
/// <summary>
/// Renvoie à la page modifier un artiste.
/// Méthode vide pour le moment.
/// </summary>
/// <returns></returns>
public IActionResult Edit()
{
return View();
}
/// <summary>
/// Renvoie à la page supprimer un artiste.
/// Méthode vide pour le moment.
/// </summary>
/// <returns></returns>
public IActionResult Delete()
{
return View();
}
}