feat: Ajoutez des commentaires de documentation XML à divers modèles et contrôleurs pour une meilleure clarté
This commit is contained in:
@@ -12,16 +12,28 @@ namespace Webzine.Entity
|
||||
/// </summary>
|
||||
public class Artiste
|
||||
{
|
||||
/// <summary>
|
||||
/// Identifiant unique de l'artiste.
|
||||
/// </summary>
|
||||
public int IdArtiste { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Nom de l'artiste. Doit être compris entre 2 et 50 caractères et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(2)]
|
||||
[MaxLength(50)]
|
||||
[Display(Name = "Nom de l'artiste")]
|
||||
public string Nom { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Biographie de l'artiste, qui peut contenir une description de sa carrière, de son style musical, etc. Doit être compris entre 10 et 4000 caractères et est obligatoire.
|
||||
/// </summary>
|
||||
public string Biographie { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date de création de l'artiste. Représente la date à laquelle l'artiste a été ajouté à la base de données. Doit être une date valide et est obligatoire.
|
||||
/// </summary>
|
||||
public List<Titre> Titres { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,26 +11,44 @@ namespace Webzine.Entity
|
||||
/// </summary>
|
||||
public class Commentaire
|
||||
{
|
||||
/// <summary>
|
||||
/// Identifiant unique du commentaire.
|
||||
/// </summary>
|
||||
public int IdCommentaire { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Contenu du commentaire laissé par l'utilisateur. Doit être compris entre 10 et 1000 caractères et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(10)]
|
||||
[MaxLength(1000)]
|
||||
[Display(Name = "Commentaire")]
|
||||
public string Contenu { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Nom de l'auteur du commentaire. Doit être compris entre 2 et 30 caractères et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(2)]
|
||||
[MaxLength(30)]
|
||||
[Display(Name = "Nom")]
|
||||
public string Auteur { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date de création du commentaire. Représente la date à laquelle le commentaire a été laissé par l'utilisateur. Doit être une date valide et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Display(Name = "Date de création")]
|
||||
public DateTime DateCreation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Identifiant du titre associé à ce commentaire. Clé étrangère vers l'entité <see cref="Titre"/>.
|
||||
/// </summary>
|
||||
public int IdTitre { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Référence au titre associé à ce commentaire. Permet d'accéder aux informations du titre à partir du commentaire.
|
||||
/// </summary>
|
||||
public Titre Titre { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,14 @@ namespace Webzine.Entity.Fixtures
|
||||
{
|
||||
/// <summary>
|
||||
/// Factory pour générer des artistes avec des titres associés, à l'aide de la bibliothèque Bogus.
|
||||
///
|
||||
/// </summary>
|
||||
public class ArtisteFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// Récupère un artiste par son nom, en générant des données fictives pour ses titres associés.
|
||||
/// </summary>
|
||||
/// <param name="nom"></param>
|
||||
/// <returns></returns>
|
||||
/// <param name="nom">Le nom de l'artiste à générer.</param>
|
||||
/// <returns>Un objet Artiste avec des titres associés générés de manière aléatoire.</returns>
|
||||
public static Artiste SeedArtisteByName(string nom)
|
||||
{
|
||||
// On définit nos albums "bouchonnés"
|
||||
|
||||
@@ -57,6 +57,11 @@ public class DataFactory
|
||||
"https://img.youtube.com/vi/1fjA68k8DAU/maxresdefault.jpg") },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Génère une liste d'artistes de musique en utilisant la bibliothèque Faker pour créer des noms d'artistes et des biographies réalistes.
|
||||
/// </summary>
|
||||
/// <param name="count">Nombre d'artistes à générer</param>
|
||||
/// <returns>Liste d'artistes de musique générés</returns>
|
||||
public List<Artiste> GenerateArtists(int count)
|
||||
{
|
||||
var artists = new List<Artiste>();
|
||||
@@ -103,6 +108,7 @@ public class DataFactory
|
||||
/// </summary>
|
||||
/// <param name="count">Nombre de titres à générer</param>
|
||||
/// <param name="artists">Liste des artistes à associer aux titres générés</param>
|
||||
/// <param name="styles">Liste des styles à associer aux titres générés</param>
|
||||
/// <returns>Liste de titres de musique générés</returns>
|
||||
public List<Titre> GenerateTitres(int count, List<Artiste> artists, List<Style> styles)
|
||||
{
|
||||
|
||||
@@ -10,14 +10,23 @@ namespace Webzine.Entity
|
||||
/// </summary>
|
||||
public class Style
|
||||
{
|
||||
/// <summary>
|
||||
/// Identifiant unique du style.
|
||||
/// </summary>
|
||||
public int IdStyle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Libellé du style de musique. Doit être compris entre 2 et 50 caractères et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(2)]
|
||||
[MaxLength(50)]
|
||||
[Display(Name = "Libellé")]
|
||||
public string Libelle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Liste des titres associés à ce style de musique. Un style peut être associé à plusieurs titres, mais un titre n'est associé qu'à un seul style.
|
||||
/// </summary>
|
||||
public List<Titre> Titres { get; set; } = new List<Titre>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,56 +12,102 @@ namespace Webzine.Entity
|
||||
/// </summary>
|
||||
public class Titre
|
||||
{
|
||||
/// <summary>
|
||||
/// Identifiant unique du titre.
|
||||
/// </summary>
|
||||
public int IdTitre { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Identifiant de l'artiste associé à ce titre. Clé étrangère vers l'entité <see cref="Artiste"/>.
|
||||
/// </summary>
|
||||
public int IdArtiste { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Référence à l'artiste associé à ce titre. Permet d'accéder aux informations de l'artiste à partir du titre.
|
||||
/// </summary>
|
||||
public Artiste Artiste { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Titre de la musique. Doit être compris entre 1 et 200 caractères.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(1)]
|
||||
[MaxLength(200)]
|
||||
[Display(Name = "Titre")]
|
||||
public string Libelle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Chronique du titre, qui peut contenir une description ou une critique de la musique. Doit être compris entre 10 et 4000 caractères.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MinLength(10)]
|
||||
[MaxLength(4000)]
|
||||
public string Chronique { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date de création du titre. Représente la date à laquelle le titre a été ajouté à la base de données. Doit être une date valide et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Display(Name = "Date de création")]
|
||||
public DateTime DateCreation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Durée du titre en secondes. Doit être un entier positif et est obligatoire.
|
||||
/// </summary>
|
||||
[Display(Name = "Durée en secondes")]
|
||||
public int Duree { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date de sortie du titre. Représente la date à laquelle le titre a été publié ou rendu disponible au public. Doit être une date valide et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Display(Name = "Date de sortie")]
|
||||
public DateTime DateSortie { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// URL de la jaquette de l'album associé au titre. Doit être une chaîne de caractères comprise entre 1 et 250 caractères, et est obligatoire. Représente l'image de couverture de l'album auquel le titre appartient.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(250)]
|
||||
[Display(Name = "Jaquette de l'album")]
|
||||
public string UrlJaquette { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// URL d'écoute du titre. Doit être une chaîne de caractères comprise entre 13 et 250 caractères, et est obligatoire. Représente le lien vers la plateforme ou le service où le titre peut être écouté en ligne.
|
||||
/// </summary>
|
||||
[MinLength(13)]
|
||||
[MaxLength(250)]
|
||||
[Display(Name = "URL d'écoute")]
|
||||
public string UrlEcoute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Nombre de lectures du titre. Représente le nombre de fois que le titre a été écouté ou joué. Doit être un entier positif et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Display(Name = "Nombre de lectures")]
|
||||
public int NbLectures { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Nombre de likes du titre. Représente le nombre de fois que le titre a été aimé ou apprécié par les utilisateurs. Doit être un entier positif et est obligatoire.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Display(Name = "Nombre de likes")]
|
||||
public int NbLikes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Nom de l'album associé au titre. Doit être une chaîne de caractères comprise entre 1 et 200 caractères, et est obligatoire. Représente le nom de l'album auquel le titre appartient.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Album { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Liste des commentaires associés à ce titre. Permet d'accéder à tous les commentaires laissés par les utilisateurs sur ce titre. Un titre peut avoir plusieurs commentaires, mais un commentaire n'a qu'un seul titre.
|
||||
/// </summary>
|
||||
public List<Commentaire> Commentaires { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Liste des styles associés à ce titre. Permet d'accéder à tous les styles musicaux auxquels ce titre appartient. Un titre peut appartenir à plusieurs styles, et un style peut être associé à plusieurs titres (relation many-to-many).
|
||||
/// </summary>
|
||||
public List<Style> Styles { get; set; } = new List<Style>();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user