/// \file FruitDuDemon.cs /// \brief Contient la définition de la classe FruitDuDemon. /// /// La classe FruitDuDemon représente les différents fruit du démons avec leur nom, nom romanisé, leur type, apparition du premier chapitre/premier épisode, une description et leurs forces et leurs faiblesses. /// using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; namespace Model.Classes { /// /// Représente un Fruit du Démon. /// [DataContract(Name = "fruitdudemon")] public class FruitDuDemon : ObjetOhara { /// /// Obtient ou définit le nom romanisé du Fruit du Démon. /// [DataMember(Name = "nomromanise")] private string? nomromanise; public string? NomRomanise { get=>nomromanise; set { nomromanise = value; OnPropertyChanged(); } } /// /// Obtient ou définit le type du Fruit du Démon. /// [DataMember(Name = "type")] private string? type; public string? Type { get=>type; set { type = value; OnPropertyChanged(); } } /// /// Obtient ou définit le numéro du premier chapitre où le Fruit du Démon est mentionné. /// [DataMember(Name = "premierchap")] private int premierchap; public int PremierChap { get=>premierchap; set { premierchap = value; OnPropertyChanged(); } } /// /// Obtient ou définit le numéro du premier épisode où le Fruit du Démon est mentionné. /// [DataMember(Name = "premierep")] private int premierep; public int PremierEp { get=>premierep; set { premierep=value; OnPropertyChanged(); } } /// /// Obtient ou définit la description du Fruit du Démon. /// [DataMember(Name = "description")] private string? description; public string? Description { get=>description; set { description = value; OnPropertyChanged(); } } /// /// Obtient ou définit les forces du Fruit du Démon. /// [DataMember(Name = "forces")] private string? forces; public string? Forces { get=>forces; set { forces = value; OnPropertyChanged(); } } /// /// Obtient ou définit les faiblesses du Fruit du Démon. /// [DataMember(Name = "faiblesses")] private string? faiblesses; public string? Faiblesses { get=>faiblesses; set { faiblesses = value; OnPropertyChanged(); } } /// /// Obtient ou définit les utilisateurs du Fruit du Démon. /// [DataMember(Name = "utilisateur", EmitDefaultValue = false)] public List Utilisateur { get; set; } = new List(); /// /// Initialise une nouvelle instance de la classe avec les paramètres spécifiés. /// /// Le nom du Fruit du Démon. /// Le nom romanisé du Fruit du Démon. /// Le type du Fruit du Démon. /// Le numéro du premier chapitre où le Fruit du Démon est mentionné. /// Le numéro du premier épisode où le Fruit du Démon est mentionné. /// La description du Fruit du Démon. /// Les forces du Fruit du Démon. /// Les faiblesses du Fruit du Démon. public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses) : base(nom) { NomRomanise = nomRomanise; Type = type; if (premierEp < 0) { PremierEp = 0; } else { PremierEp = premierEp; } if (premierChap < 0) { PremierChap = 0; } else { PremierChap = premierChap; } Description = description; Forces = forces; Faiblesses = faiblesses; } /// /// Initialise une nouvelle instance de la classe avec les paramètres spécifiés. /// /// Le nom du Fruit du Démon. /// Le nom romanisé du Fruit du Démon. /// Le type du Fruit du Démon. /// Le numéro du premier chapitre où le Fruit du Démon est mentionné. /// Le numéro du premier épisode où le Fruit du Démon est mentionné. /// La description du Fruit du Démon. /// Les forces du Fruit du Démon. /// Les faiblesses du Fruit du Démon. /// Le chemin de l'image du Fruit du Démon. public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses, string image) : this(nom, nomRomanise, type, premierChap, premierEp, description, forces, faiblesses) { if (String.IsNullOrWhiteSpace(image)) image = "baseimage.png"; Image = image; } /// /// Détermine si l'objet spécifié est égal à l'objet actuel. /// /// L'objet à comparer avec l'objet actuel. /// si l'objet spécifié est égal à l'objet actuel ; sinon, . public override bool Equals(object? obj) { if (obj == null) return false; if (this.GetType() != obj.GetType()) { return false; } else { FruitDuDemon o = (FruitDuDemon)obj; return o.Nom == Nom; } } /// /// Retourne le code de hachage de l'objet actuel. /// /// Code de hachage calculé à partir des propriétés de l'objet. public override int GetHashCode() { return HashCode.Combine(NomRomanise, Type, PremierChap, PremierEp, Description, Forces, Faiblesses); } /// /// Retourne une chaîne qui représente l'objet actuel. /// /// Chaîne représentant l'objet actuel. public override string ToString() { return "FruitDuDemon : " + Nom +" " +EstFavori+" " + NomRomanise + " " + Type + " " + PremierChap + " " + PremierEp + " " + Description + " " + Forces +" "+Faiblesses+ " " + Image; } } }