using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace MangaMap.Model { /// /// Représente un utilisateur de l'application de gestion de listes d'anime. /// [DataContract] public class Utilisateur : Personne { /// /// Obtient ou définit le nom de l'utilisateur. /// [DataMember] public string nom { get; private set; } /// /// Obtient ou définit le prénom de l'utilisateur. /// [DataMember] public string prenom { get; private set; } /// /// Obtient ou définit l'âge de l'utilisateur. /// [DataMember] public int age { get; private set; } /// /// Obtient ou définit la liste des oeuvres en visionnage de l'utilisateur. /// [DataMember] public ObservableCollection ListeOeuvreEnVisionnage { get; set; } /// /// Obtient ou définit la liste des oeuvres déjà vues par l'utilisateur. /// [DataMember] public ObservableCollection ListeOeuvreDejaVu { get; set; } /// /// Obtient ou définit la liste des oeuvres à voir ultérieurement par l'utilisateur. /// [DataMember] public ObservableCollection ListeOeuvrePourPlusTard { get; set; } /// /// Obtient ou définit la liste des oeuvres favorites de l'utilisateur. /// [DataMember] public ObservableCollection ListeOeuvreFavorites { get; set; } /// /// Obtient ou définit le dictionnaire des notes et nombres associés par l'utilisateur. /// [DataMember] public Dictionary> notesNombres { get; set; } /// /// Initialise une nouvelle instance de la classe Utilisateur avec les paramètres spécifiés. /// /// L'adresse email de l'utilisateur. /// Le pseudo de l'utilisateur. /// Le mot de passe de l'utilisateur. /// Le nom de l'utilisateur. /// Le prénom de l'utilisateur. /// L'âge de l'utilisateur. public Utilisateur(string email, string pseudo, string mdp, string nom, string prenom, int age) { Email = email; Pseudo = pseudo; MotDePasse = mdp; this.nom = nom; this.prenom = prenom; this.age = age; ListeOeuvreEnVisionnage = new ObservableCollection(); ListeOeuvreDejaVu = new ObservableCollection(); ListeOeuvrePourPlusTard = new ObservableCollection(); ListeOeuvreFavorites = new ObservableCollection(); notesNombres = new Dictionary>(); } /// /// Initialise une nouvelle instance par défaut de la classe Utilisateur. /// public Utilisateur() { ListeOeuvreEnVisionnage = new ObservableCollection(); ListeOeuvreDejaVu = new ObservableCollection(); ListeOeuvrePourPlusTard = new ObservableCollection(); ListeOeuvreFavorites = new ObservableCollection(); notesNombres = new Dictionary>(); } /// /// Supprime l'utilisateur en réinitialisant les propriétés nom, prénom et âge. /// public void SupprimerUtilisateur() { this.nom = null; this.prenom = null; this.age = 0; } } }