#89 Supprimer les méthodes de controllers inutiles, les using non utilisés. Remplacer NotFound par des redirections vers les index et des logs.
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
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;
|
||||
|
||||
@@ -17,15 +15,16 @@ public class ArtisteController : Controller
|
||||
|
||||
public ArtisteController(ILogger<ArtisteController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
this._logger = logger;
|
||||
this._logger.LogDebug(1, "initialisation du ArtisteController d'administration");
|
||||
var factory = new DataFactory();
|
||||
|
||||
_artistes = factory.GenerateArtists(10);
|
||||
}
|
||||
|
||||
/// <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.
|
||||
/// 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.
|
||||
/// </summary>
|
||||
/// <returns>Redirection.</returns>
|
||||
public IActionResult Index()
|
||||
@@ -33,14 +32,9 @@ public class ArtisteController : Controller
|
||||
|
||||
var _artistes_ordre = _artistes.OrderBy(t => t.Nom).ToList();
|
||||
|
||||
_logger.LogInformation("Initialisation du contrôleur TitreController pour l'Administration.");
|
||||
this._logger.LogInformation("Initialisation du contrôleur TitreController pour l'Administration.");
|
||||
|
||||
GroupeArtisteViewModel groupeArtisteModel = new GroupeArtisteViewModel
|
||||
{
|
||||
Artistes = _artistes_ordre
|
||||
};
|
||||
|
||||
return View(groupeArtisteModel);
|
||||
return View(_artistes_ordre);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -18,9 +18,9 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
/// <param name="logger">Service de journalisation injecté.</param>
|
||||
public CommentaireController(ILogger<CommentaireController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
this._logger = logger;
|
||||
|
||||
_logger.LogInformation("Initialisation du contrôleur CommentaireController.");
|
||||
this._logger.LogInformation("Initialisation du contrôleur CommentaireController.");
|
||||
|
||||
var factory = new DataFactory(); // TODO injecter le factory via DI pour éviter de le recréer à chaque fois
|
||||
// faire une classe statique
|
||||
@@ -31,7 +31,7 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
|
||||
_commentaires = factory.GenerateCommentaires(50, _titres);
|
||||
|
||||
_logger.LogInformation("Données fictives générées avec succès.");
|
||||
this._logger.LogInformation("Données fictives générées avec succès.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -84,15 +84,17 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
/// Affiche la vue de confirmation de suppression d'un commentaire, en récupérant les détails du commentaire à supprimer à partir de l'identifiant fourni.
|
||||
/// </summary>
|
||||
/// <param name="id">L'identifiant du commentaire à supprimer.</param>
|
||||
/// <returns>La vue de confirmation de suppression avec le ViewModel contenant les détails du commentaire à supprimer, ou une réponse NotFound si le commentaire n'existe pas.</returns>
|
||||
/// <returns>La vue de confirmation de suppression avec le ViewModel contenant les détails du commentaire à supprimer, ou une redirection vers l'index si le commentaire n'existe pas.</returns>
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
var commentaire = _commentaires
|
||||
.FirstOrDefault(c => c.IdCommentaire == id);
|
||||
|
||||
if (commentaire == null)
|
||||
return NotFound(); // TODO faire une page d'erreur personnalisée pour les 404, et pas juste un message d'erreur dans la console
|
||||
// mettre des accolades dans les if pour éviter les erreurs de maintenance, même pour une seule ligne de code
|
||||
{
|
||||
this._logger.LogWarning("Commentaire avec ID {Id} introuvable pour suppression.", id);
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
var vm = new CommentaireDeleteViewModel
|
||||
{
|
||||
|
||||
@@ -20,9 +20,9 @@ public class DashboardController : Controller
|
||||
/// <param name="logger">Service de journalisation injecté.</param>
|
||||
public DashboardController(ILogger<DashboardController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
this._logger = logger;
|
||||
|
||||
_logger.LogInformation("Initialisation du contrôleur TitreController.");
|
||||
this._logger.LogInformation("Initialisation du contrôleur TitreController.");
|
||||
|
||||
var factory = new DataFactory();
|
||||
|
||||
@@ -32,7 +32,7 @@ public class DashboardController : Controller
|
||||
|
||||
factory.GenerateCommentaires(50, _titres);
|
||||
|
||||
_logger.LogInformation("Données fictives générées avec succès.");
|
||||
this._logger.LogInformation("Données fictives générées avec succès.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -21,39 +21,22 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
/// <param name="logger">Service de journalisation injecté.</param>
|
||||
public StyleController(ILogger<StyleController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
this._logger = logger;
|
||||
|
||||
_logger.LogInformation("Initialisation du contrôleur StyleController.");
|
||||
this._logger.LogInformation("Initialisation du contrôleur StyleController.");
|
||||
|
||||
var factory = new DataFactory();
|
||||
|
||||
_styles = factory.GenerateStyles(10);
|
||||
|
||||
_logger.LogInformation("Données fictives générées avec succès.");
|
||||
this._logger.LogInformation("Données fictives générées avec succès.");
|
||||
}
|
||||
|
||||
// GET: Administration/Styles
|
||||
public IActionResult Index()
|
||||
{
|
||||
// Création de données "bouchon" (mock) pour tester l'affichage
|
||||
var listeStyles = new List<Style> // TODO remplacer par les données générées dans le constructeur (la Factory)
|
||||
{
|
||||
new Style
|
||||
{
|
||||
IdStyle = 1,
|
||||
Libelle = "Rock",
|
||||
},
|
||||
new Style
|
||||
{
|
||||
IdStyle = 2,
|
||||
Libelle = "Pop",
|
||||
},
|
||||
new Style
|
||||
{
|
||||
IdStyle = 3,
|
||||
Libelle = "Jazz",
|
||||
},
|
||||
};
|
||||
var listeStyles = this._styles;
|
||||
|
||||
// Initialisation du ViewModel
|
||||
var viewModel = new StyleViewModel
|
||||
@@ -78,7 +61,9 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
|
||||
if (style == null)
|
||||
{
|
||||
return this.NotFound();
|
||||
this._logger.LogWarning("Style avec ID {Id} introuvable pour suppression.", id);
|
||||
return RedirectToAction("Index");
|
||||
|
||||
}
|
||||
|
||||
var vm = new StyleDeleteViewModel
|
||||
@@ -99,7 +84,8 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
|
||||
|
||||
if (style == null)
|
||||
{
|
||||
return NotFound();
|
||||
this._logger.LogWarning("Style avec ID {Id} introuvable pour style.", id);
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
// Mapping vers le ViewModel
|
||||
|
||||
@@ -22,9 +22,9 @@ public class TitreController : Controller
|
||||
/// <param name="logger">Service de journalisation injecté.</param>
|
||||
public TitreController(ILogger<TitreController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
this._logger = logger;
|
||||
|
||||
_logger.LogInformation("Initialisation du contrôleur TitreController pour l'Administration.");
|
||||
this._logger.LogInformation("Initialisation du contrôleur TitreController pour l'Administration.");
|
||||
|
||||
var factory = new DataFactory();
|
||||
|
||||
@@ -34,7 +34,7 @@ public class TitreController : Controller
|
||||
|
||||
factory.GenerateCommentaires(50, _titres);
|
||||
|
||||
_logger.LogInformation("Données fictives générées avec succès.");
|
||||
this._logger.LogInformation("Données fictives générées avec succès.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -86,7 +86,7 @@ public class TitreController : Controller
|
||||
/// Affiche le formulaire de modification d'un titre existant dans la vue Edit, en préremplissant les champs avec les données du titre sélectionné. Les listes déroulantes pour les artistes et les styles sont également remplies pour permettre à l'utilisateur de modifier ces associations.
|
||||
/// </summary>
|
||||
/// <param name="id">L'identifiant du titre à modifier, utilisé pour récupérer les données du titre à partir de la liste des titres générés.</param>
|
||||
/// <returns>La vue Edit avec le ViewModel contenant les données du titre à modifier, ainsi que les listes déroulantes pour les artistes et les styles. En cas d'erreur, retourne une réponse NotFound si le titre n'existe pas.</returns>
|
||||
/// <returns>La vue Edit avec le ViewModel contenant les données du titre à modifier, ainsi que les listes déroulantes pour les artistes et les styles. </returns>
|
||||
public IActionResult Edit(int id)
|
||||
{
|
||||
var titre = _titres.First(t => t.IdTitre == id);
|
||||
@@ -126,7 +126,7 @@ public class TitreController : Controller
|
||||
/// Affiche la vue de confirmation de suppression d'un titre, en récupérant les détails du titre à supprimer à partir de l'identifiant fourni. Le ViewModel contient les informations essentielles du titre, telles que le libellé et le nom de l'artiste, pour permettre à l'utilisateur de confirmer la suppression.
|
||||
/// </summary>
|
||||
/// <param name="id">L'identifiant du titre à supprimer, utilisé pour récupérer les données du titre à partir de la liste des titres générés.</param>
|
||||
/// <returns>La vue de confirmation de suppression avec le ViewModel contenant les détails du titre à supprimer, ou une réponse NotFound si le titre n'existe pas.</returns>
|
||||
/// <returns>La vue de confirmation de suppression avec le ViewModel contenant les détails du titre à supprimer.</returns>
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
var titre = _titres.First(t => t.IdTitre == id);
|
||||
|
||||
Reference in New Issue
Block a user