diff --git a/Webzine.Entity/Artiste.cs b/Webzine.Entity/Artiste.cs index 257fe56..8f1df08 100644 --- a/Webzine.Entity/Artiste.cs +++ b/Webzine.Entity/Artiste.cs @@ -12,16 +12,28 @@ namespace Webzine.Entity /// public class Artiste { + /// + /// Identifiant unique de l'artiste. + /// public int IdArtiste { get; set; } + /// + /// Nom de l'artiste. Doit être compris entre 2 et 50 caractères et est obligatoire. + /// [Required] [MinLength(2)] [MaxLength(50)] [Display(Name = "Nom de l'artiste")] public string Nom { get; set; } + /// + /// 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. + /// public string Biographie { get; set; } + /// + /// Liste des titres associés à cet artiste. Un artiste peut avoir plusieurs titres, mais un titre n'a qu'un seul artiste. + /// public List Titres { get; set; } } } diff --git a/Webzine.Entity/Commentaire.cs b/Webzine.Entity/Commentaire.cs index 36530b6..baaa852 100644 --- a/Webzine.Entity/Commentaire.cs +++ b/Webzine.Entity/Commentaire.cs @@ -11,26 +11,44 @@ namespace Webzine.Entity /// public class Commentaire { + /// + /// Identifiant unique du commentaire. + /// public int IdCommentaire { get; set; } + /// + /// Contenu du commentaire laissé par l'utilisateur. Doit être compris entre 10 et 1000 caractères et est obligatoire. + /// [Required] [MinLength(10)] [MaxLength(1000)] [Display(Name = "Commentaire")] public string Contenu { get; set; } + /// + /// Nom de l'auteur du commentaire. Doit être compris entre 2 et 30 caractères et est obligatoire. + /// [Required] [MinLength(2)] [MaxLength(30)] [Display(Name = "Nom")] public string Auteur { get; set; } + /// + /// 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. + /// [Required] [Display(Name = "Date de création")] public DateTime DateCreation { get; set; } + /// + /// Identifiant du titre associé à ce commentaire. Clé étrangère vers l'entité . + /// public int IdTitre { get; set; } + /// + /// Référence au titre associé à ce commentaire. Permet d'accéder aux informations du titre à partir du commentaire. + /// public Titre Titre { get; set; } } } diff --git a/Webzine.Entity/Fixtures/ArtisteFactory.cs b/Webzine.Entity/Fixtures/ArtisteFactory.cs index e9af87b..d8ecb26 100644 --- a/Webzine.Entity/Fixtures/ArtisteFactory.cs +++ b/Webzine.Entity/Fixtures/ArtisteFactory.cs @@ -4,15 +4,14 @@ namespace Webzine.Entity.Fixtures { /// /// Factory pour générer des artistes avec des titres associés, à l'aide de la bibliothèque Bogus. - /// /// public class ArtisteFactory { /// /// Récupère un artiste par son nom, en générant des données fictives pour ses titres associés. /// - /// - /// + /// Le nom de l'artiste à générer. + /// Un objet Artiste avec des titres associés générés de manière aléatoire. public static Artiste SeedArtisteByName(string nom) { // On définit nos albums "bouchonnés" diff --git a/Webzine.Entity/Fixtures/DataFactory.cs b/Webzine.Entity/Fixtures/DataFactory.cs index 5199a8a..8b6617d 100644 --- a/Webzine.Entity/Fixtures/DataFactory.cs +++ b/Webzine.Entity/Fixtures/DataFactory.cs @@ -57,6 +57,11 @@ public class DataFactory "https://img.youtube.com/vi/1fjA68k8DAU/maxresdefault.jpg") }, }; + /// + /// 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. + /// + /// Nombre d'artistes à générer + /// Liste d'artistes de musique générés public List GenerateArtists(int count) { var artists = new List(); @@ -103,6 +108,7 @@ public class DataFactory /// /// Nombre de titres à générer /// Liste des artistes à associer aux titres générés + /// Liste des styles à associer aux titres générés /// Liste de titres de musique générés public List GenerateTitres(int count, List artists, List