feat: Ajoutez des commentaires de documentation XML à divers modèles et contrôleurs pour une meilleure clarté

This commit is contained in:
mirage
2026-03-06 10:10:42 +01:00
parent d34c7ade13
commit f732e3c2a5
32 changed files with 415 additions and 50 deletions

View File

@@ -2,16 +2,28 @@ using System.ComponentModel.DataAnnotations;
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// Classe représentant un commentaire sur un titre, utilisée pour la validation des données lors de la soumission d'un commentaire.
/// </summary>
public class TitreComment
{
/// <summary>
/// Définit l'identifiant du titre auquel le commentaire est associé.
/// </summary>
[Required]
public int IdTitre { get; set; }
/// <summary>
/// Définit le nom de l'auteur du commentaire.
/// </summary>
[Required]
[MinLength(2)]
[MaxLength(30)]
public string Auteur { get; set; }
/// <summary>
/// Définit le contenu du commentaire.
/// </summary>
[Required]
[MinLength(10)]
[MaxLength(1000)]

View File

@@ -2,25 +2,58 @@ using Webzine.Entity;
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// Contient les détails d'un titre, ainsi que les commentaires associés.
/// </summary>
public class TitreContent
{
/// <summary>
/// Définit l'identifiant du titre.
/// </summary>
public int IdTitre { get; set; }
/// <summary>
/// Définit le titre du titre.
/// </summary>
public string Libelle { get; set; }
/// <summary>
/// Définit la chronique du titre.
/// </summary>
public string Chronique { get; set; }
/// <summary>
/// Définit la date de sortie du titre.
/// </summary>
public DateTime DateSortie { get; set; }
/// <summary>
/// Définit le nombre de likes du titre.
/// </summary>
public int NbLikes { get; set; }
/// <summary>
/// Définit l'url de la jaquette de l'album associé au titre.
/// </summary>
public string UrlJaquette { get; set; }
/// <summary>
/// Définit l'url d'écoute du titre.
/// </summary>
public string UrlEcoute { get; set; }
/// <summary>
/// Définit le nom de l'artiste associé au titre.
/// </summary>
public string ArtisteNom { get; set; }
/// <summary>
/// Définit le nom de l'album associé au titre.
/// </summary>
public List<Style> Styles { get; set; } = new();
/// <summary>
/// Définit la liste des commentaires associés au titre.
/// </summary>
public List<Commentaire> Commentaires { get; set; } = new();
}

View File

@@ -1,7 +1,17 @@
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// ViewModel pour la page de détails d'un titre, contenant les informations du titre et le formulaire de commentaire.
/// </summary>
public class TitreDetail
{
/// <summary>
/// Définit les détails du titre à afficher, y compris les informations sur le titre et les commentaires associés.
/// </summary>
public TitreContent Details { get; set; }
/// <summary>
/// Définit le formulaire de commentaire pour permettre aux utilisateurs de laisser un commentaire sur le titre affiché.
/// </summary>
public TitreComment CommentForm { get; set; }
}

View File

@@ -1,6 +1,12 @@
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// ViewModel pour représenter un "like" sur un titre, contenant l'identifiant du titre aimé.
/// </summary>
public class TitreLike
{
/// <summary>
/// Définit l'identifiant du titre qui a reçu le "like".
/// </summary>
public int IdTitre { get; set; }
}

View File

@@ -1,8 +1,17 @@
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// ViewModel pour représenter une collection de titres associés à un style musical spécifique, avec le nom du style et une liste d'items de titre.
/// </summary>
public class TitreStyle
{
/// <summary>
/// Définit le nom du style musical associé à la collection de titres.
/// </summary>
public string? StyleName { get; set; }
/// <summary>
/// Définit la liste des items de titre associés au style musical.
/// </summary>
public List<TitreStyleItem> Titres { get; set; } = new();
}

View File

@@ -1,13 +1,28 @@
namespace Webzine.WebApplication.ViewModels.Titre;
/// <summary>
/// ViewModel pour représenter un titre dans une liste de titres, contenant les informations essentielles telles que l'identifiant, le libellé, le nom de l'artiste, l'URL de la jaquette et la durée du titre.
/// </summary>
public class TitreStyleItem
{
/// <summary>
/// Définit l'identifiant du titre.
/// </summary>
public int IdTitre { get; set; }
/// <summary>
/// Définit le libellé du titre.
/// </summary>
public string? Libelle { get; set; }
/// <summary>
/// Définit le nom de l'artiste associé au titre.
/// </summary>
public string? ArtisteNom { get; set; }
/// <summary>
/// Définit l'URL de la jaquette du titre.
/// </summary>
public string? UrlJaquette { get; set; }
public int Duree { get; set; }