documentation des classes
continuous-integration/drone/push Build is passing Details

devGuillaume
Guillaume 2 years ago
parent c4b52324d2
commit 966e2bcdf1

@ -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
{
/// <summary>
/// Représente un Fruit du Démon.
/// </summary>
[DataContract(Name = "fruitdudemon")]
public class FruitDuDemon : ObjetOhara
{
/// <summary>
/// Obtient ou définit le nom romanisé du Fruit du Démon.
/// </summary>
[DataMember(Name = "nomromanise")]
private string? nomromanise;
public string? NomRomanise {
@ -23,6 +34,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le type du Fruit du Démon.
/// </summary>
[DataMember(Name = "type")]
private string? type;
public string? Type {
@ -33,6 +47,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier chapitre où le Fruit du Démon est mentionné.
/// </summary>
[DataMember(Name = "premierchap")]
private int premierchap;
public int PremierChap {
@ -43,6 +60,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier épisode où le Fruit du Démon est mentionné.
/// </summary>
[DataMember(Name = "premierep")]
private int premierep;
public int PremierEp {
@ -53,6 +73,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la description du Fruit du Démon.
/// </summary>
[DataMember(Name = "description")]
private string? description;
public string? Description {
@ -63,6 +86,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit les forces du Fruit du Démon.
/// </summary>
[DataMember(Name = "forces")]
private string? forces;
public string? Forces {
@ -73,6 +99,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit les faiblesses du Fruit du Démon.
/// </summary>
[DataMember(Name = "faiblesses")]
private string? faiblesses;
public string? Faiblesses {
@ -83,10 +112,25 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit les utilisateurs du Fruit du Démon.
/// </summary>
[DataMember(Name = "utilisateur", EmitDefaultValue = false)]
public List<Personnage> Utilisateur { get; set; } = new List<Personnage>();
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="FruitDuDemon"/> avec les paramètres spécifiés.
/// </summary>
/// <param name="nom">Le nom du Fruit du Démon.</param>
/// <param name="nomRomanise">Le nom romanisé du Fruit du Démon.</param>
/// <param name="type">Le type du Fruit du Démon.</param>
/// <param name="premierChap">Le numéro du premier chapitre où le Fruit du Démon est mentionné.</param>
/// <param name="premierEp">Le numéro du premier épisode où le Fruit du Démon est mentionné.</param>
/// <param name="description">La description du Fruit du Démon.</param>
/// <param name="forces">Les forces du Fruit du Démon.</param>
/// <param name="faiblesses">Les faiblesses du Fruit du Démon.</param>
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;
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="FruitDuDemon"/> avec les paramètres spécifiés.
/// </summary>
/// <param name="nom">Le nom du Fruit du Démon.</param>
/// <param name="nomRomanise">Le nom romanisé du Fruit du Démon.</param>
/// <param name="type">Le type du Fruit du Démon.</param>
/// <param name="premierChap">Le numéro du premier chapitre où le Fruit du Démon est mentionné.</param>
/// <param name="premierEp">Le numéro du premier épisode où le Fruit du Démon est mentionné.</param>
/// <param name="description">La description du Fruit du Démon.</param>
/// <param name="forces">Les forces du Fruit du Démon.</param>
/// <param name="faiblesses">Les faiblesses du Fruit du Démon.</param>
/// <param name="image">Le chemin de l'image du Fruit du Démon.</param>
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;
}
/// <summary>
/// Détermine si l'objet spécifié est égal à l'objet actuel.
/// </summary>
/// <param name="obj">L'objet à comparer avec l'objet actuel.</param>
/// <returns><see langword="true"/> si l'objet spécifié est égal à l'objet actuel ; sinon, <see langword="false"/>.</returns>
public override bool Equals(object? obj)
{
if (obj == null) return false;
@ -134,11 +198,24 @@ namespace Model.Classes
}
/// <summary>
/// Retourne le code de hachage de l'objet actuel.
/// </summary>
/// <returns>Code de hachage calculé à partir des propriétés de l'objet.</returns>
public override int GetHashCode()
{
return HashCode.Combine(NomRomanise, Type, PremierChap, PremierEp, Description, Forces, Faiblesses);
}
/// <summary>
/// Retourne une chaîne qui représente l'objet actuel.
/// </summary>
/// <returns>Chaîne représentant l'objet actuel.</returns>
public override string ToString()
{
return "FruitDuDemon : " + Nom +" " +EstFavori+" " + NomRomanise + " " + Type + " " + PremierChap + " " + PremierEp + " " + Description + " " + Forces +" "+Faiblesses+ " " + Image;

@ -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
{
/// <summary>
/// Représente une île dans le monde de One Piece.
/// </summary>
[DataContract(Name = "ile")]
public class Ile : ObjetOhara
{
/// <summary>
/// Obtient ou définit le nom romanisé de l'île.
/// </summary>
[DataMember(Name = "nomromanise")]
private string? nomromanise;
public string? NomRomanise
@ -24,7 +35,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la région où se situe l'île.
/// </summary>
[DataMember(Name = "region")]
private string? region;
public string? Region {
@ -35,6 +48,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier chapitre où l'île est mentionnée.
/// </summary>
[DataMember(Name = "premierchap")]
private int premierchap;
public int PremierChap {
@ -45,6 +61,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier épisode où l'île est mentionnée.
/// </summary>
[DataMember(Name = "premierep")]
private int premierep;
public int PremierEp {
@ -55,6 +74,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la description de l'île.
/// </summary>
[DataMember(Name = "description")]
private string? description;
public string? Description {
@ -65,6 +87,9 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la situation géographique de l'île.
/// </summary>
[DataMember(Name = "geographie")]
private string? geographie;
public string? Geographie {
@ -77,6 +102,16 @@ namespace Model.Classes
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="Ile"/> avec les paramètres spécifiés.
/// </summary>
/// <param name="nom">Le nom de l'île.</param>
/// <param name="nomRomanise">Le nom romanisé de l'île.</param>
/// <param name="region">La région où se situe l'île.</param>
/// <param name="premierChap">Le numéro du premier chapitre où l'île est mentionnée.</param>
/// <param name="premierEp">Le numéro du premier épisode où l'île est mentionnée.</param>
/// <param name="description">La description de l'île.</param>
/// <param name="geographie">La situation géographique de l'île.</param>
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
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="Ile"/> avec les paramètres spécifiés, y compris une image.
/// </summary>
/// <param name="nom">Le nom de l'île.</param>
/// <param name="nomRomanise">Le nom romanisé de l'île.</param>
/// <param name="region">La région où se situe l'île.</param>
/// <param name="premierChap">Le numéro du premier chapitre où l'île est mentionnée.</param>
/// <param name="premierEp">Le numéro du premier épisode où l'île est mentionnée.</param>
/// <param name="description">La description de l'île.</param>
/// <param name="geographie">La situation géographique de l'île.</param>
/// <param name="image">Le chemin de l'image représentant l'île.</param>
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;
}
/// <summary>
/// Détermine si l'objet spécifié est égal à l'objet actuel.
/// </summary>
/// <param name="obj">L'objet à comparer avec l'objet actuel.</param>
/// <returns>true si les objets sont égaux ; sinon, false.</returns>
public override bool Equals(object? obj)
{
if (obj == null) return false;
@ -134,12 +188,25 @@ namespace Model.Classes
}
/// <summary>
/// Retourne le code de hachage de l'objet.
/// </summary>
/// <returns>Le code de hachage de l'objet.</returns>
public override int GetHashCode()
{
return HashCode.Combine(NomRomanise, Region, PremierChap, PremierEp, Description, Geographie);
}
/// <summary>
/// Retourne une chaîne de caractères représentant l'objet actuel.
/// </summary>
/// <returns>Une chaîne de caractères représentant l'objet actuel.</returns>
public override string ToString()
{
return "Ile : "+ Nom +" "+NomRomanise+" "+Region+" "+PremierChap+" "+PremierEp+" "+Description+" "+Geographie+" "+Image;

@ -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
{
/// <summary>
/// Représente un objet du monde de One Piece appartenant à l'île d'Ohara.
/// </summary>
[DataContract(Name = "objetohara")]
/// <summary>
/// Événement déclenché lorsque la valeur d'une propriété change.
/// </summary>
public class ObjetOhara : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
/// <summary>
/// Obtient ou définit le nom de l'objet.
/// </summary>
[DataMember(Name = "nom")]
private string? nom;
public string? Nom {
@ -26,6 +43,10 @@ namespace Model.Classes
}
}
/// <summary>
/// Obtient ou définit le chemin de l'image représentant l'objet.
/// </summary>
[DataMember(Name = "image")]
private string? image;
public string? Image {
@ -38,6 +59,10 @@ namespace Model.Classes
}
}
/// <summary>
/// Obtient ou définit une valeur indiquant si l'objet est marqué comme favori.
/// </summary>
[DataMember(Name = "estfavori")]
private bool estfavori;
public bool EstFavori {
@ -48,7 +73,13 @@ namespace Model.Classes
}
}
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="ObjetOhara"/> avec le nom spécifié.
/// </summary>
/// <param name="nom">Le nom de l'objet.</param>
/// <param name="image">Le chemin de l'image représentant l'objet (par défaut : "baseimage.png").</param>
/// <param name="estFavori">Indique si l'objet est marqué comme favori (par défaut : false).</param>
public ObjetOhara(string nom, string image = "baseimage.png", bool estFavori = false)
{
@ -58,7 +89,12 @@ namespace Model.Classes
EstFavori = estFavori;
}
/// <summary>
/// Détermine si l'objet spécifié est égal à l'objet actuel.
/// </summary>
/// <param name="obj">L'objet à comparer avec l'objet actuel.</param>
/// <returns>true si les objets sont égaux ; sinon, false.</returns>
public override bool Equals(object? obj)
{
@ -75,17 +111,38 @@ namespace Model.Classes
}
/// <summary>
/// Retourne le code de hachage de l'objet.
/// </summary>
/// <returns>Le code de hachage de l'objet.</returns>
public override int GetHashCode()
{
return HashCode.Combine(Nom, Image,EstFavori);
}
/// <summary>
/// Retourne une chaîne de caractères représentant l'objet actuel.
/// </summary>
/// <returns>Une chaîne de caractères représentant l'objet actuel.</returns>
public override string ToString()
{
return "ObjetOhara : " + Nom + " " +EstFavori+ " " + Image;
}
protected void OnPropertyChanged([CallerMemberName] string? propertyName = null)
/// <summary>
/// Déclenche l'événement PropertyChanged.
/// </summary>
/// <param name="propertyName">Le nom de la propriété qui a changé (facultatif).</param>
protected void OnPropertyChanged([CallerMemberName] string? propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}

@ -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
{
/// <summary>
/// Représente un personnage de l'univers de One Piece.
/// </summary>
[DataContract(Name = "personnage")]
public class Personnage : ObjetOhara
{
/// <summary>
/// Obtient ou définit la prime du personnage.
/// </summary>
[DataMember(Name = "prime")]
private double prime;
public double Prime {
@ -19,6 +32,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit l'épithète du personnage.
/// </summary>
[DataMember(Name = "epithete")]
private string? epithete;
public string? Epithete {
@ -28,6 +45,10 @@ namespace Model.Classes
epithete = value;
}
}
/// <summary>
/// Obtient ou définit l'âge du personnage.
/// </summary>
[DataMember(Name = "age")]
private int age;
public int Age {
@ -38,6 +59,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la taille du personnage.
/// </summary>
[DataMember(Name = "taille")]
private double taille;
public double Taille {
@ -48,6 +73,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit l'origine du personnage.
/// </summary>
[DataMember(Name = "origine")]
private string? origine;
public string? Origine {
@ -58,6 +87,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la biographie du personnage.
/// </summary>
[DataMember(Name = "biographie")]
private string? biographie;
public string? Biographie {
@ -68,6 +101,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la citation du personnage.
/// </summary>
[DataMember(Name = "citation")]
private string? citation;
public string? Citation {
@ -78,6 +115,10 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit l'équipage auquel le personnage appartient.
/// </summary>
[DataMember(Name = "equipage", EmitDefaultValue = false)]
private Equipage? equipage;
public Equipage? Equipage {
@ -87,26 +128,57 @@ namespace Model.Classes
equipage = value;
OnPropertyChanged();
}
}
}
/// <summary>
/// Obtient la collection en lecture seule des fruits du démon détenus par le personnage.
/// </summary>
[DataMember(Name = "fruit", EmitDefaultValue = false)]
private ObservableCollection<FruitDuDemon> fruit = new ObservableCollection<FruitDuDemon>();
public IReadOnlyCollection<FruitDuDemon> Fruit {
get=>fruit;
}
/// <summary>
/// Ajoute un fruit du démon à la collection du personnage.
/// </summary>
/// <param name="f">Le fruit du démon à ajouter.</param>
public void AjouterFruit(FruitDuDemon? f)
{
if (f == null) return;
fruit.Add(f);
}
/// <summary>
/// Retire un fruit du démon de la collection du personnage.
/// </summary>
/// <param name="f">Le fruit du démon à retirer.</param>
public void RetierFruit(FruitDuDemon? f)
{
if (f == null) return;
fruit.Remove(f);
}
/// <summary>
/// Vide la collection des fruits du démon du personnage.
/// </summary>
public void ViderFruit() => fruit.Clear();
/// <summary>
/// Initialise une nouvelle instance de la classe Personnage avec un nom et des informations supplémentaires.
/// </summary>
/// <param name="nom">Le nom du personnage.</param>
/// <param name="prime">La prime du personnage.</param>
/// <param name="epithete">L'épithète du personnage.</param>
/// <param name="age">L'âge du personnage.</param>
/// <param name="taille">La taille du personnage.</param>
/// <param name="origine">L'origine du personnage.</param>
/// <param name="biographie">La biographie du personnage.</param>
/// <param name="citation">La citation du personnage.</param>
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
}
/// <summary>
/// Initialise une nouvelle instance de la classe Personnage avec un nom, des informations supplémentaires et une image.
/// </summary>
/// <param name="nom">Le nom du personnage.</param>
/// <param name="prime">La prime du personnage.</param>
/// <param name="epithete">L'épithète du personnage.</param>
/// <param name="age">L'âge du personnage.</param>
/// <param name="taille">La taille du personnage.</param>
/// <param name="origine">L'origine du personnage.</param>
/// <param name="biographie">La biographie du personnage.</param>
/// <param name="citation">La citation du personnage.</param>
/// <param name="image">Le chemin de l'image du personnage.</param>
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;
}
/// <summary>
/// Détermine si l'objet spécifié est égal à l'objet actuel.
/// </summary>
/// <param name="obj">L'objet à comparer avec l'objet actuel.</param>
/// <returns>true si les objets sont égaux, sinon false.</returns>
public override bool Equals(object? obj)
{
if (obj == null) return false;
@ -156,11 +250,24 @@ namespace Model.Classes
}
/// <summary>
/// Retourne le code de hachage de l'objet actuel.
/// </summary>
/// <returns>Code de hachage calculé à partir des propriétés de l'objet.</returns>
public override int GetHashCode()
{
return HashCode.Combine(Prime, Epithete, Age, Origine,Biographie, Citation,Equipage,Fruit);
}
/// <summary>
/// Retourne une chaîne qui représente l'objet actuel.
/// </summary>
/// <returns>Chaîne représentant l'objet actuel.</returns>
public override string ToString()
{
return "Personnage : " + Nom + " " + EstFavori + " " + Prime + " " + Epithete + " " + Age + " " + Origine + " " + Biographie + " "+ Citation+" " +Equipage+" " + Fruit+" "+ Image;

Loading…
Cancel
Save