using System.Runtime.Serialization; namespace Model.Classes { [DataContract(Name = "personnage")] public class Personnage : ObjetOhara { [DataMember(Name = "prime")] public double Prime { get; set; } [DataMember(Name = "epithete")] public string Epithete { get; set; } [DataMember(Name = "age")] public int Age { get; set; } [DataMember(Name = "taille")] public double Taille { get; set; } [DataMember(Name = "origine")] public string Origine { get; set; } [DataMember(Name = "biographie")] public string Biographie { get; set; } [DataMember(Name = "citation")] public string Citation { get; set; } [DataMember(Name = "equipage", EmitDefaultValue = false)] public List Equipage { get; set; } = new List(); [DataMember(Name = "fruit", EmitDefaultValue = false)] public List Fruit { get; set; } = new List(); public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation) : base(nom) { if (prime < 0) { Prime = 0; } else { Prime = prime; } Epithete = epithete; Age = age; if (taille < 0) { Taille = 0; } else { Taille = taille; } Origine = origine; Biographie = biographie; Citation = citation; } public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation, string image) : this(nom, prime, epithete, age, taille, origine, biographie, citation) { Image = image; } public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation, string image, List equipage, List fruit) : this(nom, prime, epithete, age, taille, origine, biographie, citation, image) { Equipage = equipage; Fruit = fruit; } public override bool Equals(object? obj) { if (obj == null) return false; if (this.GetType() != obj.GetType()) { return false; } else { Personnage o = (Personnage)obj; return o.Nom == Nom; } } public override int GetHashCode() { return HashCode.Combine(Prime, Epithete, Age, Origine,Biographie, Citation,Equipage,Fruit); } public override string ToString() { return "Personnage :" + Nom + " " + EstFavori + " " + Prime + " " + Epithete + " " + Age + " " + Origine + " " + Biographie + " "+ Citation+" " +Equipage+" " + Fruit+" "+ Image; } } }