diff --git a/Sources/Model/Classes/FruitDuDemon.cs b/Sources/Model/Classes/FruitDuDemon.cs
index fdad12e..a25e567 100644
--- a/Sources/Model/Classes/FruitDuDemon.cs
+++ b/Sources/Model/Classes/FruitDuDemon.cs
@@ -1,4 +1,9 @@
-using System;
+/// \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;
@@ -10,9 +15,15 @@ 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 {
@@ -23,6 +34,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit le type du Fruit du Démon.
+ ///
[DataMember(Name = "type")]
private string? type;
public string? Type {
@@ -33,6 +47,9 @@ namespace Model.Classes
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 {
@@ -43,6 +60,9 @@ namespace Model.Classes
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 {
@@ -53,6 +73,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit la description du Fruit du Démon.
+ ///
[DataMember(Name = "description")]
private string? description;
public string? Description {
@@ -63,6 +86,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit les forces du Fruit du Démon.
+ ///
[DataMember(Name = "forces")]
private string? forces;
public string? Forces {
@@ -73,6 +99,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit les faiblesses du Fruit du Démon.
+ ///
[DataMember(Name = "faiblesses")]
private string? faiblesses;
public string? Faiblesses {
@@ -83,10 +112,25 @@ namespace Model.Classes
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)
{
@@ -113,12 +157,32 @@ namespace Model.Classes
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;
@@ -134,11 +198,24 @@ namespace Model.Classes
}
+
+ ///
+ /// 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;
diff --git a/Sources/Model/Classes/Ile.cs b/Sources/Model/Classes/Ile.cs
index 43b574f..d2af8ff 100644
--- a/Sources/Model/Classes/Ile.cs
+++ b/Sources/Model/Classes/Ile.cs
@@ -1,4 +1,9 @@
-using System;
+/// \file Ile.cs
+/// \brief Contient la définition de la classe Ile.
+///
+/// La classe Ile représente les différents iles avec leur nom, nom romanisé, leur région de localisation, la première fois qu'on les vois dans le manga/animé, une description de l'île et une description géographique d'où se situe l'île.
+///
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
@@ -10,9 +15,15 @@ using System.Xml.Linq;
namespace Model.Classes
{
+ ///
+ /// Représente une île dans le monde de One Piece.
+ ///
[DataContract(Name = "ile")]
public class Ile : ObjetOhara
{
+ ///
+ /// Obtient ou définit le nom romanisé de l'île.
+ ///
[DataMember(Name = "nomromanise")]
private string? nomromanise;
public string? NomRomanise
@@ -24,7 +35,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
-
+ ///
+ /// Obtient ou définit la région où se situe l'île.
+ ///
[DataMember(Name = "region")]
private string? region;
public string? Region {
@@ -35,6 +48,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit le numéro du premier chapitre où l'île est mentionnée.
+ ///
[DataMember(Name = "premierchap")]
private int premierchap;
public int PremierChap {
@@ -45,6 +61,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit le numéro du premier épisode où l'île est mentionnée.
+ ///
[DataMember(Name = "premierep")]
private int premierep;
public int PremierEp {
@@ -55,6 +74,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit la description de l'île.
+ ///
[DataMember(Name = "description")]
private string? description;
public string? Description {
@@ -65,6 +87,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+ ///
+ /// Obtient ou définit la situation géographique de l'île.
+ ///
[DataMember(Name = "geographie")]
private string? geographie;
public string? Geographie {
@@ -77,6 +102,16 @@ namespace Model.Classes
}
+ ///
+ /// Initialise une nouvelle instance de la classe avec les paramètres spécifiés.
+ ///
+ /// Le nom de l'île.
+ /// Le nom romanisé de l'île.
+ /// La région où se situe l'île.
+ /// Le numéro du premier chapitre où l'île est mentionnée.
+ /// Le numéro du premier épisode où l'île est mentionnée.
+ /// La description de l'île.
+ /// La situation géographique de l'île.
public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie) : base(nom)
{
@@ -111,6 +146,18 @@ namespace Model.Classes
}
+ ///
+ /// Initialise une nouvelle instance de la classe avec les paramètres spécifiés, y compris une image.
+ ///
+ /// Le nom de l'île.
+ /// Le nom romanisé de l'île.
+ /// La région où se situe l'île.
+ /// Le numéro du premier chapitre où l'île est mentionnée.
+ /// Le numéro du premier épisode où l'île est mentionnée.
+ /// La description de l'île.
+ /// La situation géographique de l'île.
+ /// Le chemin de l'image représentant l'île.
+
public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie, string image) : this(nom, nomRomanise, region, premierChap, premierEp, description, geographie)
{
if(String.IsNullOrWhiteSpace(image)) {
@@ -119,6 +166,13 @@ namespace Model.Classes
Image = image;
}
+
+ ///
+ /// Détermine si l'objet spécifié est égal à l'objet actuel.
+ ///
+ /// L'objet à comparer avec l'objet actuel.
+ /// true si les objets sont égaux ; sinon, false.
+
public override bool Equals(object? obj)
{
if (obj == null) return false;
@@ -134,12 +188,25 @@ namespace Model.Classes
}
+
+
+ ///
+ /// Retourne le code de hachage de l'objet.
+ ///
+ /// Le code de hachage de l'objet.
+
public override int GetHashCode()
{
return HashCode.Combine(NomRomanise, Region, PremierChap, PremierEp, Description, Geographie);
}
+
+ ///
+ /// Retourne une chaîne de caractères représentant l'objet actuel.
+ ///
+ /// Une chaîne de caractères représentant l'objet actuel.
+
public override string ToString()
{
return "Ile : "+ Nom +" "+NomRomanise+" "+Region+" "+PremierChap+" "+PremierEp+" "+Description+" "+Geographie+" "+Image;
diff --git a/Sources/Model/Classes/ObjetOhara.cs b/Sources/Model/Classes/ObjetOhara.cs
index 7d9b692..2820ce2 100644
--- a/Sources/Model/Classes/ObjetOhara.cs
+++ b/Sources/Model/Classes/ObjetOhara.cs
@@ -1,4 +1,10 @@
-using System;
+/// \file ObjetOhara.cs
+/// \brief Contient la définition de la classe ObjetOhara.
+///
+/// La classe ObjetOhara représente les différents objets de notre application Ohara avec leur nom et l'image qui leur est attitré pour pouvoir factoriser le code.
+///
+
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
@@ -10,11 +16,22 @@ using System.Xml.Linq;
namespace Model.Classes
{
+ ///
+ /// Représente un objet du monde de One Piece appartenant à l'île d'Ohara.
+ ///
[DataContract(Name = "objetohara")]
+
+ ///
+ /// Événement déclenché lorsque la valeur d'une propriété change.
+ ///
public class ObjetOhara : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
+
+ ///
+ /// Obtient ou définit le nom de l'objet.
+ ///
[DataMember(Name = "nom")]
private string? nom;
public string? Nom {
@@ -26,6 +43,10 @@ namespace Model.Classes
}
}
+
+ ///
+ /// Obtient ou définit le chemin de l'image représentant l'objet.
+ ///
[DataMember(Name = "image")]
private string? image;
public string? Image {
@@ -38,6 +59,10 @@ namespace Model.Classes
}
}
+
+ ///
+ /// Obtient ou définit une valeur indiquant si l'objet est marqué comme favori.
+ ///
[DataMember(Name = "estfavori")]
private bool estfavori;
public bool EstFavori {
@@ -48,7 +73,13 @@ namespace Model.Classes
}
}
-
+
+ ///
+ /// Initialise une nouvelle instance de la classe avec le nom spécifié.
+ ///
+ /// Le nom de l'objet.
+ /// Le chemin de l'image représentant l'objet (par défaut : "baseimage.png").
+ /// Indique si l'objet est marqué comme favori (par défaut : false).
public ObjetOhara(string nom, string image = "baseimage.png", bool estFavori = false)
{
@@ -58,7 +89,12 @@ namespace Model.Classes
EstFavori = estFavori;
}
-
+
+ ///
+ /// Détermine si l'objet spécifié est égal à l'objet actuel.
+ ///
+ /// L'objet à comparer avec l'objet actuel.
+ /// true si les objets sont égaux ; sinon, false.
public override bool Equals(object? obj)
{
@@ -75,17 +111,38 @@ namespace Model.Classes
}
+
+
+
+ ///
+ /// Retourne le code de hachage de l'objet.
+ ///
+ /// Le code de hachage de l'objet.
+
public override int GetHashCode()
{
return HashCode.Combine(Nom, Image,EstFavori);
}
+
+
+ ///
+ /// Retourne une chaîne de caractères représentant l'objet actuel.
+ ///
+ /// Une chaîne de caractères représentant l'objet actuel.
+
public override string ToString()
{
return "ObjetOhara : " + Nom + " " +EstFavori+ " " + Image;
}
- protected void OnPropertyChanged([CallerMemberName] string? propertyName = null)
+
+ ///
+ /// Déclenche l'événement PropertyChanged.
+ ///
+ /// Le nom de la propriété qui a changé (facultatif).
+
+ protected void OnPropertyChanged([CallerMemberName] string? propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
diff --git a/Sources/Model/Classes/Personnage.cs b/Sources/Model/Classes/Personnage.cs
index 594c7f0..1b6f589 100644
--- a/Sources/Model/Classes/Personnage.cs
+++ b/Sources/Model/Classes/Personnage.cs
@@ -1,14 +1,27 @@
-using System.Collections.ObjectModel;
+/// \file Personnage.cs
+/// \brief Contient la définition de la classe Personnage.
+///
+/// La classe Personnage représente les différents personnages avec leur nom, épithète, leur prime, leur âge, leur taille, leur origine, leur biographie et une citation.
+///
+
+using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
namespace Model.Classes
{
+ ///
+ /// Représente un personnage de l'univers de One Piece.
+ ///
[DataContract(Name = "personnage")]
public class Personnage : ObjetOhara
{
+
+ ///
+ /// Obtient ou définit la prime du personnage.
+ ///
[DataMember(Name = "prime")]
private double prime;
public double Prime {
@@ -19,6 +32,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit l'épithète du personnage.
+ ///
[DataMember(Name = "epithete")]
private string? epithete;
public string? Epithete {
@@ -28,6 +45,10 @@ namespace Model.Classes
epithete = value;
}
}
+
+ ///
+ /// Obtient ou définit l'âge du personnage.
+ ///
[DataMember(Name = "age")]
private int age;
public int Age {
@@ -38,6 +59,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit la taille du personnage.
+ ///
[DataMember(Name = "taille")]
private double taille;
public double Taille {
@@ -48,6 +73,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit l'origine du personnage.
+ ///
[DataMember(Name = "origine")]
private string? origine;
public string? Origine {
@@ -58,6 +87,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit la biographie du personnage.
+ ///
[DataMember(Name = "biographie")]
private string? biographie;
public string? Biographie {
@@ -68,6 +101,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit la citation du personnage.
+ ///
[DataMember(Name = "citation")]
private string? citation;
public string? Citation {
@@ -78,6 +115,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
+
+ ///
+ /// Obtient ou définit l'équipage auquel le personnage appartient.
+ ///
[DataMember(Name = "equipage", EmitDefaultValue = false)]
private Equipage? equipage;
public Equipage? Equipage {
@@ -87,26 +128,57 @@ namespace Model.Classes
equipage = value;
OnPropertyChanged();
}
- }
+ }
+
+ ///
+ /// Obtient la collection en lecture seule des fruits du démon détenus par le personnage.
+ ///
[DataMember(Name = "fruit", EmitDefaultValue = false)]
private ObservableCollection fruit = new ObservableCollection();
public IReadOnlyCollection Fruit {
get=>fruit;
}
+
+
+ ///
+ /// Ajoute un fruit du démon à la collection du personnage.
+ ///
+ /// Le fruit du démon à ajouter.
public void AjouterFruit(FruitDuDemon? f)
{
if (f == null) return;
fruit.Add(f);
}
+
+
+ ///
+ /// Retire un fruit du démon de la collection du personnage.
+ ///
+ /// Le fruit du démon à retirer.
public void RetierFruit(FruitDuDemon? f)
{
if (f == null) return;
fruit.Remove(f);
}
+
+
+ ///
+ /// Vide la collection des fruits du démon du personnage.
+ ///
public void ViderFruit() => fruit.Clear();
-
+ ///
+ /// Initialise une nouvelle instance de la classe Personnage avec un nom et des informations supplémentaires.
+ ///
+ /// Le nom du personnage.
+ /// La prime du personnage.
+ /// L'épithète du personnage.
+ /// L'âge du personnage.
+ /// La taille du personnage.
+ /// L'origine du personnage.
+ /// La biographie du personnage.
+ /// La citation du personnage.
public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation) : base(nom)
{
if (prime < 0)
@@ -135,12 +207,34 @@ namespace Model.Classes
}
+
+
+ ///
+ /// Initialise une nouvelle instance de la classe Personnage avec un nom, des informations supplémentaires et une image.
+ ///
+ /// Le nom du personnage.
+ /// La prime du personnage.
+ /// L'épithète du personnage.
+ /// L'âge du personnage.
+ /// La taille du personnage.
+ /// L'origine du personnage.
+ /// La biographie du personnage.
+ /// La citation du personnage.
+ /// Le chemin de l'image du personnage.
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)
{
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.
+ /// true si les objets sont égaux, sinon false.
public override bool Equals(object? obj)
{
if (obj == null) return false;
@@ -156,11 +250,24 @@ namespace Model.Classes
}
+
+
+ ///
+ /// 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(Prime, Epithete, Age, Origine,Biographie, Citation,Equipage,Fruit);
}
+
+
+ ///
+ /// Retourne une chaîne qui représente l'objet actuel.
+ ///
+ /// Chaîne représentant l'objet actuel.
public override string ToString()
{
return "Personnage : " + Nom + " " + EstFavori + " " + Prime + " " + Epithete + " " + Age + " " + Origine + " " + Biographie + " "+ Citation+" " +Equipage+" " + Fruit+" "+ Image;