You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MapManga/MangaMap/Model/Utilisateur.cs

113 lines
4.1 KiB

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
{
/// <summary>
/// Représente un utilisateur de l'application de gestion de listes d'anime.
/// </summary>
[DataContract]
public class Utilisateur : Personne
{
/// <summary>
/// Obtient ou définit le nom de l'utilisateur.
/// </summary>
[DataMember]
public string nom { get; private set; }
/// <summary>
/// Obtient ou définit le prénom de l'utilisateur.
/// </summary>
[DataMember]
public string prenom { get; private set; }
/// <summary>
/// Obtient ou définit l'âge de l'utilisateur.
/// </summary>
[DataMember]
public int age { get; private set; }
/// <summary>
/// Obtient ou définit la liste des oeuvres en visionnage de l'utilisateur.
/// </summary>
[DataMember]
public ObservableCollection<Oeuvre> ListeOeuvreEnVisionnage { get; set; }
/// <summary>
/// Obtient ou définit la liste des oeuvres déjà vues par l'utilisateur.
/// </summary>
[DataMember]
public ObservableCollection<Oeuvre> ListeOeuvreDejaVu { get; set; }
/// <summary>
/// Obtient ou définit la liste des oeuvres à voir ultérieurement par l'utilisateur.
/// </summary>
[DataMember]
public ObservableCollection<Oeuvre> ListeOeuvrePourPlusTard { get; set; }
/// <summary>
/// Obtient ou définit la liste des oeuvres favorites de l'utilisateur.
/// </summary>
[DataMember]
public ObservableCollection<Oeuvre> ListeOeuvreFavorites { get; set; }
/// <summary>
/// Obtient ou définit le dictionnaire des notes et nombres associés par l'utilisateur.
/// </summary>
[DataMember]
public Dictionary<string, List<int>> notesNombres { get; set; }
/// <summary>
/// Initialise une nouvelle instance de la classe Utilisateur avec les paramètres spécifiés.
/// </summary>
/// <param name="email">L'adresse email de l'utilisateur.</param>
/// <param name="pseudo">Le pseudo de l'utilisateur.</param>
/// <param name="mdp">Le mot de passe de l'utilisateur.</param>
/// <param name="nom">Le nom de l'utilisateur.</param>
/// <param name="prenom">Le prénom de l'utilisateur.</param>
/// <param name="age">L'âge de l'utilisateur.</param>
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<Oeuvre>();
ListeOeuvreDejaVu = new ObservableCollection<Oeuvre>();
ListeOeuvrePourPlusTard = new ObservableCollection<Oeuvre>();
ListeOeuvreFavorites = new ObservableCollection<Oeuvre>();
notesNombres = new Dictionary<string, List<int>>();
}
/// <summary>
/// Initialise une nouvelle instance par défaut de la classe Utilisateur.
/// </summary>
public Utilisateur()
{
ListeOeuvreEnVisionnage = new ObservableCollection<Oeuvre>();
ListeOeuvreDejaVu = new ObservableCollection<Oeuvre>();
ListeOeuvrePourPlusTard = new ObservableCollection<Oeuvre>();
ListeOeuvreFavorites = new ObservableCollection<Oeuvre>();
notesNombres = new Dictionary<string, List<int>>();
}
/// <summary>
/// Supprime l'utilisateur en réinitialisant les propriétés nom, prénom et âge.
/// </summary>
public void SupprimerUtilisateur()
{
this.nom = null;
this.prenom = null;
this.age = 0;
}
}
}