From 4f2b239ebbd64fc15f922c6e72c5e8efea8844fd Mon Sep 17 00:00:00 2001 From: Yoan Date: Sun, 11 Jun 2023 17:57:27 +0200 Subject: [PATCH] Debut documentation du code --- Sources/Model/Classes/Bateau.cs | 42 ++++++++- Sources/Model/Classes/Bestiaire.cs | 33 ++++++- Sources/Model/Managers/Manager.cs | 143 ++++++++++++++++++++++++++--- 3 files changed, 198 insertions(+), 20 deletions(-) diff --git a/Sources/Model/Classes/Bateau.cs b/Sources/Model/Classes/Bateau.cs index b0a6c85..9342b7b 100644 --- a/Sources/Model/Classes/Bateau.cs +++ b/Sources/Model/Classes/Bateau.cs @@ -1,4 +1,9 @@ -using System; +/// \file Bateau.cs +/// \brief Contient la définition de la classe Bateau. +/// +/// La classe Bateau représente les différents bateaux avec leur nom, leur affiliation à un équipage (Implémentation de la classe Equipage), quand on les voit pour la première fois dans le manga et dans l'anime. +/// +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -11,10 +16,16 @@ using System.Xml.Linq; namespace Model.Classes { [DataContract(Name = "bateau")] + /// \class Bateau + /// \brief Représente les différents bateaux avec leur nom, leur affiliation ... + /// + ///La classe Bateau représente les différents bateaux avec leur nom, leur affiliation à un équipage (Implémentation de la classe Equipage), quand on les voit pour la première fois dans le manga et dans l'anime. public class Bateau : ObjetOhara { [DataMember(Name = "nomromanise")] private string? nomromanise; + /// \property NomRomanise + /// \brief Chaine de caractère représentant du nom romanisé du bateau. public string? NomRomanise { get=>nomromanise; set @@ -26,6 +37,8 @@ namespace Model.Classes } [DataMember(Name = "affiliation", EmitDefaultValue = false)] private Equipage? equipage; + /// \property Affiliation + /// \brief Equipage représentant l'équipage auquel appartient le bateau. public Equipage? Affiliation { get=>equipage; set @@ -37,6 +50,8 @@ namespace Model.Classes } [DataMember(Name = "premierchap")] private int premierchap; + /// \property PremierChap + /// \brief Entier représentant le numéro du chapitre où est apparu le bateau. public int PremierChap { get => premierchap; @@ -49,6 +64,8 @@ namespace Model.Classes } [DataMember(Name = "premierep")] private int premierep; + /// \property PremierEp + /// \brief Entier représentant le numéro de l'épisode où est apparu le bateau. public int PremierEp { get => premierep; @@ -61,6 +78,8 @@ namespace Model.Classes } [DataMember(Name = "description")] private string? description; + /// \property Description + /// \brief Chaine de caractère représentant la description du bateau. public string? Description { get => description; @@ -74,6 +93,8 @@ namespace Model.Classes [DataMember(Name = "caracteristique")] private string? caracteristique; + /// \property Caracteristique + /// \brief Chaine de caractère représentant les caracteristiques du bateau. public string? Caracteristique { get=> caracteristique; set @@ -84,7 +105,13 @@ namespace Model.Classes } } - + /// \brief Constructeur de la classe Bateau sans image. + /// \param nom Le nom du bateau. + /// \param nomRomanise Le nom romanisé du bateau. + /// \param premierChap Le numéro du premier chapitre dans lequel apparait le bateau. + /// \param premierEp Le numéro du premier épisode dans lequel apparait le bateau. + /// \param description La description du bateau + /// \param caracteristique Les caractéristiques du bateau. public Bateau(string nom, string nomRomanise, int premierChap, int premierEp, string description, string? caracteristique) : base(nom) { @@ -120,6 +147,14 @@ namespace Model.Classes Caracteristique = caracteristique; } + /// \brief Constructeur de la classe Bateau avec image. + /// \param nom Le nom du bateau. + /// \param nomRomanise Le nom romanisé du bateau. + /// \param premierChap Le numéro du premier chapitre dans lequel apparait le bateau. + /// \param premierEp Le numéro du premier épisode dans lequel apparait le bateau. + /// \param description La description du bateau + /// \param caracteristique Les caractéristiques. + /// \param image Le nom de l'image du bateau. public Bateau(string nom, string nomRomanise, int premierChap, int premierEp, string description, string caracteristique, string image) : this(nom, nomRomanise, premierChap, premierEp, description, caracteristique) { if (String.IsNullOrEmpty(image)) @@ -127,6 +162,9 @@ namespace Model.Classes Image = image; } + /// \brief Renvoie un booléen permettant de savoir si deux bateaux sont égaux. + /// \param obj bateau à comparer. + /// \return bool Booléen exprimant l'égalité ou non. public override bool Equals(object? obj) { diff --git a/Sources/Model/Classes/Bestiaire.cs b/Sources/Model/Classes/Bestiaire.cs index 2b3650d..b773d68 100644 --- a/Sources/Model/Classes/Bestiaire.cs +++ b/Sources/Model/Classes/Bestiaire.cs @@ -1,4 +1,9 @@ -using System; +/// \file Bestiaire.cs +/// \brief Contient la définition de la classe Bestiaire. +/// +/// La classe Bestiaire représente toutes les races présents dans l'univers de One Piece avec leur nom, leur origine, une description ainsi que les caractéristiques de la race. +/// +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -12,10 +17,16 @@ using System.Xml.Linq; namespace Model.Classes { [DataContract(Name = "bestiaire")] + /// \class Bestiaire + /// \brief Représente les différents bestiaires avec leur nom, leur origine ... + /// + ///La classe Bateau représente les différents bateaux avec leur nom, leur affiliation à un équipage (Implémentation de la classe Equipage), quand on les voit pour la première fois dans le manga et dans l'anime. public class Bestiaire : ObjetOhara { [DataMember(Name = "origine")] private string? origine; + /// \property Origine + /// \brief Chaine de caractère représentant l'origine du bestiaire. public string? Origine { get=>origine; set @@ -27,6 +38,8 @@ namespace Model.Classes } [DataMember(Name = "description")] private string? description; + /// \property Description + /// \brief Chaine de caractère représentant la description du bestiaire. public string? Description { get=>description; set @@ -38,6 +51,8 @@ namespace Model.Classes } [DataMember(Name = "caracteristique")] private string? caracteristique; + /// \property Caracteristique + /// \brief Chaine de caractère représentant les caractéristiques du bestiaire. public string? Caracteristique { get=>caracteristique; set @@ -47,7 +62,11 @@ namespace Model.Classes OnPropertyChanged(); } } - + /// \brief Constructeur de la classe Bestiaire sans image. + /// \param nom Le nom du bestiaire. + /// \param origine Origine du bestiaire. + /// \param description La description du bestiaire. + /// \param caracteristique Les caractéristiques du bestiaire. public Bestiaire(string nom, string origine, string description, string caracteristique) : base(nom) { if (String.IsNullOrEmpty(origine)) @@ -60,13 +79,21 @@ namespace Model.Classes caracteristique = "Les caracteristiques ..."; Caracteristique = caracteristique; } - + /// \brief Constructeur de la classe Bestiaire avec image. + /// \param nom Le nom du bestiaire. + /// \param origine Origine du bestiaire. + /// \param description La description du bestiaire. + /// \param caracteristique Les caractéristiques du bestiaire. + /// \param image Le nom de l'image du bestiaire. public Bestiaire(string nom, string origine, string description, string caracteristique, string image) : this(nom, origine, description, caracteristique) { if (String.IsNullOrWhiteSpace(image)) image = "baseimage.png"; Image = image; } + /// \brief Renvoie un booléen permettant de savoir si deux bateaux sont égaux. + /// \param obj bateau à comparer. + /// \return bool Booléen exprimant l'égalité ou non. public override bool Equals(object? obj) { if (obj == null) return false; diff --git a/Sources/Model/Managers/Manager.cs b/Sources/Model/Managers/Manager.cs index c9d5614..b8c7d22 100644 --- a/Sources/Model/Managers/Manager.cs +++ b/Sources/Model/Managers/Manager.cs @@ -1,5 +1,9 @@ - -using Model.Classes; +/// \file Manager.cs +/// \brief Contient la définition de la classe Manager. +/// +/// La classe Manager gère les différentes collections de données du système. +/// +using Model.Classes; using Microsoft.VisualBasic; using Model.Serializer; using Model.Stub; @@ -15,19 +19,49 @@ using System.Threading.Tasks; namespace Model.Managers { + /// \class Manager + /// \brief Gère les différentes collections de données du système. + /// + /// La classe Manager permet d'accéder et de manipuler les différentes collections de données du système, telles que les bateaux, les personnages, les fruits du démon, les îles, le bestiaire et les équipages. public class Manager { + /// \property DataManager + /// \brief Gestionnaire de données. + /// \details Permet d'accéder aux méthodes de récupération de données. public IDataManager DataManager { get; set; } + /// \property Bateaux + /// \brief Collection de bateaux. public ObservableCollection Bateaux { get; set; } + + /// \property Personnages + /// \brief Collection de personnages. public ObservableCollection Personnages { get; set; } + + /// \property Fruits + /// \brief Collection de fruits du démon. public ObservableCollection Fruits { get; set; } + + /// \property Iles + /// \brief Collection d'îles. public ObservableCollection Iles { get; set; } + + /// \property Bestiaire + /// \brief Collection de bestiaires. public ObservableCollection Bestiaire { get; set; } + + /// \property Equipages + /// \brief Collection d'équipages. public ObservableCollection Equipages { get; set; } - + + /// \property SelectedItem + /// \brief Élément sélectionné de type ObjetOhara. + /// \details Peut être nul. public ObjetOhara? SelectedItem { get; set; } = null; - public Manager(IDataManager dataManager) { + /// \brief Constructeur de la classe Manager. + /// \param dataManager Le gestionnaire de données à utiliser. + public Manager(IDataManager dataManager) + { DataManager = dataManager; Bateaux = new ObservableCollection(DataManager.GetBateaux()); Personnages = new ObservableCollection(DataManager.GetPersonnages()); @@ -37,52 +71,74 @@ namespace Model.Managers Equipages = new ObservableCollection(DataManager.GetEquipages()); } + /// \brief Récupère la liste des personnages. + /// \return La liste des personnages. public List GetPersonnages() { return DataManager.GetPersonnages().ToList(); } + /// \brief Récupère la liste des fruits du démon. + /// \return La liste des fruits du démon. public List GetFruits() { return DataManager.GetFruits().ToList(); } + /// \brief Récupère la liste des équipages. + /// \return La liste des équipages. public List GetEquipages() { return DataManager.GetEquipages().ToList(); } + /// \brief Récupère la liste des bateaux. + /// \return La liste des bateaux. public List GetBateaux() { return DataManager.GetBateaux().ToList(); } + /// \brief Récupère la liste des bestiaires. + /// \return La liste des bestiaires. public List GetBestiaires() { return DataManager.GetBestiaires().ToList(); } + /// \brief Récupère la liste des îles. + /// \return La liste des îles. public List GetIles() { return DataManager.GetIles().ToList(); } + /// \brief Filtre les fruits du démon par type. + /// \param type Le type de fruit du démon à filtrer. + /// \return La liste filtrée des fruits du démon. public List FiltrerFDD(string type) { List fdd = new List(); fdd=Fruits.Where(p=>p.Type==type).ToList(); return fdd; } - + /// \brief Filtre les bateaux par nom d'affiliation. + /// \param nom Le nom de l'équipage affilié au(x) bateau(x). + /// \return La liste filtrée des bateaux. public List FiltrerBateau(string nom) { List bateau = new List(); bateau = Bateaux.Where(p => p.Affiliation?.Nom == nom).ToList(); return bateau; } - + /// \brief Filtre les îles par région. + /// \param region La région des îles à filtrer. + /// \return La liste filtrée des îles. public List FiltrerIle(string region) { List ile = new List(); ile = Iles.Where(p => p.Region == region).ToList(); return ile; } - + /// \brief Recherche les objets Ohara correspondant au texte donné. + /// \param text Le texte à rechercher. + /// \param liste La liste des objets Ohara sur laquel réaliser la recherche. + /// \return La liste filtrée des objets Ohara correspondant à la recherche. public List RechercheObjetOhara(string text, List liste) { if (text == "") @@ -113,6 +169,8 @@ namespace Model.Managers } return liste; } + /// \brief Récupère la liste des objets Ohara ayant le parametre EstFavori égal a true. + /// \return La liste des objets Ohara ayant le parametre EstFavori égal a true. public List GetFavoris() { List listeFavoris = new List(); @@ -131,7 +189,9 @@ namespace Model.Managers } return listeFavoris; } - + /// \brief Modifie le parametre EstFavori d'un fruit du démon. + /// \param fruit Le fruit du démon à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavFDD(FruitDuDemon fruit, bool value) { FruitDuDemon? fruitToUpdate = Fruits.FirstOrDefault(b => b.Equals(fruit)); @@ -141,7 +201,9 @@ namespace Model.Managers DataManager.SetFDD(Fruits.ToList()); } } - + /// \brief Modifie le parametre EstFavori d'un équipage. + /// \param equip L'équipage à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavEquip(Equipage equip, bool value) { Equipage? equipToUpdate = Equipages.FirstOrDefault(e => e.Equals(equip)); @@ -151,7 +213,9 @@ namespace Model.Managers DataManager.SetEquipage(Equipages.ToList()); } } - + /// \brief Modifie le parametre EstFavori d'un bestiaire. + /// \param best Bestiaire à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavBest(Bestiaire best, bool value) { Bestiaire? bestToUpdate = Bestiaire.FirstOrDefault(b => b.Equals(best)); @@ -161,7 +225,9 @@ namespace Model.Managers DataManager.SetBestiaire(Bestiaire.ToList()); } } - + /// \brief Modifie le parametre EstFavori d'un personnage. + /// \param perso Personnage à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavPerso(Personnage perso, bool value) { Personnage? persoToUpdate = Personnages.FirstOrDefault(p => p.Equals(perso)); @@ -171,7 +237,9 @@ namespace Model.Managers DataManager.SetPersonnage(Personnages.ToList()); } } - + /// \brief Modifie le parametre EstFavori d'une ile. + /// \param ile Ile à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavIle(Ile ile, bool value) { Ile? ileToUpdate = Iles.FirstOrDefault(i => i.Equals(ile)); @@ -181,7 +249,9 @@ namespace Model.Managers DataManager.SetIle(Iles.ToList()); } } - + /// \brief Modifie le parametre EstFavori d'un bateau. + /// \param bateau Bateau à modifier. + /// \param value La nouvelle valeur du parametre EstFavori. public void ModifierFavBateau(Bateau bateau, bool value) { Bateau? bateauToUpdate = Bateaux.FirstOrDefault(b => b.Equals(bateau)); @@ -191,67 +261,96 @@ namespace Model.Managers DataManager.SetBateau(Bateaux.ToList()); } } + /// \brief Ajoute un nouveau fruit du démon à la collection Fruits. + /// \param fruit Le fruit du démon à ajouter. public void AjouterFDD(FruitDuDemon fruit) { Fruits.Add(fruit); DataManager.SetFDD(Fruits.ToList()); } + + /// \brief Ajoute un nouvel équipage à la collection Equipages. + /// \param equip L'équipage à ajouter. public void AjouterEquip(Equipage equip) { Equipages.Add(equip); DataManager.SetEquipage(Equipages.ToList()); } + + /// \brief Ajoute un nouveau bestiaire à la collection Bestiaire. + /// \param best Le bestiaire à ajouter. public void AjouterBest(Bestiaire best) { Bestiaire.Add(best); DataManager.SetBestiaire(Bestiaire.ToList()); } + + /// \brief Ajoute un nouveau personnage à la collection Personnages. + /// \param perso Le personnage à ajouter. public void AjouterPerso(Personnage perso) { Personnages.Add(perso); DataManager.SetPersonnage(Personnages.ToList()); } + /// \brief Ajoute une nouvel ile à la collection Iles. + /// \param ile l'ile à ajouter. public void AjouterIle(Ile ile) { Iles.Add(ile); DataManager.SetIle(Iles.ToList()); } + /// \brief Ajoute un nouveau bateau à la collection Bateaux. + /// \param bateau le bateau à ajouter. public void AjouterBateau(Bateau bateau) { Bateaux.Add(bateau); DataManager.SetBateau(Bateaux.ToList()); } + /// \brief Supprime un fruit du démon de la collection Fruits + /// \param fruit fruit à supprimer. public void SupprimerFDD(FruitDuDemon fruit) { Fruits.Remove(fruit); DataManager.SetFDD(Fruits.ToList()); } + /// \brief Supprime un équipage de la collection Equipages + /// \param equip équipage à supprimer. public void SupprimerEquip(Equipage equip) { Equipages.Remove(equip); DataManager.SetEquipage(Equipages.ToList()); } + /// \brief Supprime un bestiaire de la collection Bestiaire + /// \param best bestiaire à supprimer. public void SupprimerBest(Bestiaire best) { Bestiaire.Remove(best); DataManager.SetBestiaire(Bestiaire.ToList()); } + /// \brief Supprime un personnage de la collection Personnages + /// \param perso personnage à supprimer. public void SupprimerPerso(Personnage perso) { Personnages.Remove(perso); DataManager.SetPersonnage(Personnages.ToList()); } + /// \brief Supprime une ile de la collection Iles + /// \param ile ile à supprimer. public void SupprimerIle(Ile ile) { Iles.Remove(ile); DataManager.SetIle(Iles.ToList()); } + /// \brief Supprime un bateau de la collection Bateaux + /// \param bateau bateau à supprimer. public void SupprimerBateau(Bateau bateau) { Bateaux.Remove(bateau); DataManager.SetBateau(Bateaux.ToList()); } - + /// \brief Modifie une ile dans la collection Iles + /// \param ile La nouvelle ile à intégrer. + /// \param ancienNom le nom de l'ancienne ile modifié. public void ModifierIle(Ile ile, string ancienNom) { Ile? ancienneIle = Iles.FirstOrDefault(p => p.Nom == ancienNom); @@ -261,6 +360,9 @@ namespace Model.Managers DataManager.SetIle(Iles.ToList()); } } + /// \brief Modifie un bestiaire dans la collection Bestiaire + /// \param best Le nouveau bestiaire à intégrer. + /// \param ancienNom le nom de l'ancien bestaire modifié. public void ModifierBest(Bestiaire best, string ancienNom) { Bestiaire? ancienBest = Bestiaire.FirstOrDefault(p => p.Nom == ancienNom); @@ -269,6 +371,9 @@ namespace Model.Managers Bestiaire.Add(best); DataManager.SetBestiaire(Bestiaire.ToList()); } + /// \brief Modifie un équipage dans la collection Equipages + /// \param equip Le nouveau équipage à intégrer. + /// \param ancienNom le nom de l'ancien équipage modifié. public void ModifierEquipage(Equipage equip, string ancienNom) { Equipage? ancienEquip = Equipages.FirstOrDefault(p => p.Nom == ancienNom); @@ -277,7 +382,9 @@ namespace Model.Managers Equipages.Add(equip); DataManager.SetEquipage(Equipages.ToList()); } - + /// \brief Modifie un bateau dans la collection Bateaux + /// \param bateau Le nouveau bateau à intégrer. + /// \param ancienNom le nom de l'ancien bateau modifié. public void ModifierBateau(Bateau bateau, string ancienNom) { Bateau? ancienBateau = Bateaux.FirstOrDefault(p => p.Nom == ancienNom); @@ -286,6 +393,9 @@ namespace Model.Managers Bateaux.Add(bateau); DataManager.SetBateau(Bateaux.ToList()); } + /// \brief Modifie un fruit du demon dans la collection Fruits + /// \param fruit Le nouveau fruit du demon à intégrer. + /// \param ancienNom le nom de l'ancien fruit du demon modifié. public void ModifierFDD(FruitDuDemon fruit, string ancienNom) { FruitDuDemon? ancienFDD = Fruits.FirstOrDefault(p => p.Nom == ancienNom); @@ -294,6 +404,9 @@ namespace Model.Managers Fruits.Add(fruit); DataManager.SetFDD(Fruits.ToList()); } + /// \brief Modifie un personnage dans la collection Personnages + /// \param perso Le nouveau personnage à intégrer. + /// \param ancienNom le nom de l'ancien personnage modifié. public void ModifierPerso(Personnage perso, string ancienNom) { Personnage? ancienPerso = Personnages.FirstOrDefault(p => p.Nom == ancienNom);