documentation et descriptions des diagrammes de classes

master
Mathilde JEAN 3 years ago
parent 2181a9a518
commit 5d513ec117

@ -48,7 +48,6 @@ namespace Business
/// <summary> /// <summary>
/// constructeur avec INJECTION DE LA DéPENDANCE /// constructeur avec INJECTION DE LA DéPENDANCE
/// </summary> /// </summary>
public Manager(IPersistanceManager pers) public Manager(IPersistanceManager pers)
{ {
Requins = new ObservableCollection<Requin>(); Requins = new ObservableCollection<Requin>();

@ -298,7 +298,7 @@
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 197, "left": 197,
"top": 317, "top": 317,
"width": 1009.05517578125, "width": 1014,
"height": 13, "height": 13,
"text": "+ModifierRequin(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): void", "text": "+ModifierRequin(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): void",
"horizontalAlignment": 0 "horizontalAlignment": 0
@ -1966,7 +1966,7 @@
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 1357, "left": 1357,
"top": 637, "top": 637,
"width": 998.20068359375, "width": 1007,
"height": 13, "height": 13,
"text": "+FaireUnSubmit(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): int", "text": "+FaireUnSubmit(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): int",
"horizontalAlignment": 0 "horizontalAlignment": 0
@ -3520,6 +3520,44 @@
] ]
} }
] ]
},
{
"_type": "UMLClass",
"_id": "AAAAAAGBWF6pZfXgxjg=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "UCrequinType",
"stereotype": "enumeration",
"attributes": [
{
"_type": "UMLAttribute",
"_id": "AAAAAAGBWF9DC/oY1zw=",
"_parent": {
"$ref": "AAAAAAGBWF6pZfXgxjg="
},
"name": "normal",
"type": ""
},
{
"_type": "UMLAttribute",
"_id": "AAAAAAGBWGBYe/7KaOY=",
"_parent": {
"$ref": "AAAAAAGBWF6pZfXgxjg="
},
"name": "edit",
"type": ""
},
{
"_type": "UMLAttribute",
"_id": "AAAAAAGBWGBcH/7u79E=",
"_parent": {
"$ref": "AAAAAAGBWF6pZfXgxjg="
},
"name": "add",
"type": ""
}
]
} }
] ]
}, },
@ -3564,9 +3602,9 @@
"$ref": "AAAAAAGAI04iLFHiQSY=" "$ref": "AAAAAAGAI04iLFHiQSY="
}, },
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 30.55908203125, "left": 32,
"top": 5, "top": 5,
"width": 84.35107421875, "width": 86,
"height": 13, "height": 13,
"text": "Recherche carte" "text": "Recherche carte"
}, },
@ -3579,7 +3617,7 @@
"font": "Arial;13;1", "font": "Arial;13;1",
"left": 13, "left": 13,
"top": 5, "top": 5,
"width": 12.55908203125, "width": 14,
"height": 13, "height": 13,
"text": "sd" "text": "sd"
} }
@ -4295,9 +4333,9 @@
"$ref": "AAAAAAGAI2vLjtnug4s=" "$ref": "AAAAAAGAI2vLjtnug4s="
}, },
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 22.55908203125, "left": 24,
"top": 5, "top": 5,
"width": 93.421875, "width": 96,
"height": 13, "height": 13,
"text": "Ajouter un requin" "text": "Ajouter un requin"
}, },
@ -4310,7 +4348,7 @@
"font": "Arial;13;1", "font": "Arial;13;1",
"left": 5, "left": 5,
"top": 5, "top": 5,
"width": 12.55908203125, "width": 14,
"height": 13, "height": 13,
"text": "sd" "text": "sd"
} }
@ -4923,7 +4961,7 @@
}, },
"visible": false, "visible": false,
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 47.99365234375, "left": 48,
"top": 357, "top": 357,
"width": 1, "width": 1,
"height": 13 "height": 13
@ -4937,7 +4975,7 @@
"font": "Arial;13;1", "font": "Arial;13;1",
"left": 29, "left": 29,
"top": 357, "top": 357,
"width": 13.99365234375, "width": 14,
"height": 13, "height": 13,
"text": "alt" "text": "alt"
}, },
@ -5642,7 +5680,7 @@
}, },
"visible": false, "visible": false,
"font": "Arial;13;0", "font": "Arial;13;0",
"left": 39.99365234375, "left": 40,
"top": 213, "top": 213,
"width": 1, "width": 1,
"height": 13 "height": 13
@ -5656,7 +5694,7 @@
"font": "Arial;13;1", "font": "Arial;13;1",
"left": 21, "left": 21,
"top": 213, "top": 213,
"width": 13.99365234375, "width": 14,
"height": 13, "height": 13,
"text": "alt" "text": "alt"
}, },

@ -11,14 +11,27 @@ using System.Xml;
namespace Persistance namespace Persistance
{ {
/// <summary>
/// Classe DataContractPersistance qui implémente IPersistanceManager et stocke les données dans les fichiers de persistance
/// </summary>
public class DataContractPersistance : IPersistanceManager public class DataContractPersistance : IPersistanceManager
{ {
// Serializers pour requins et utlisateurs/experts // Serializers pour requins et utlisateurs/experts
/// <summary>
/// DataContractSerializer permet de serialiser le type DataToPersistReq
/// </summary>
DataContractSerializer SerializerReq { get; set; } DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(DataToPersistReq)); = new DataContractSerializer(typeof(DataToPersistReq));
/// <summary>
/// DataContractSerializer permet de serialiser le type DataToPersistUsers
/// </summary>
DataContractSerializer SerializerUsers { get; set; } DataContractSerializer SerializerUsers { get; set; }
= new DataContractSerializer(typeof(DataToPersistUsers)); = new DataContractSerializer(typeof(DataToPersistUsers));
/// <summary>
/// DataContractSerializer permet de serialiser le type List de String
/// </summary>
DataContractSerializer SerializerFun { get; set; } DataContractSerializer SerializerFun { get; set; }
= new DataContractSerializer(typeof(List<String>)); = new DataContractSerializer(typeof(List<String>));
@ -26,41 +39,84 @@ namespace Persistance
// DataToPersistReq et DataToPersistUsers // DataToPersistReq et DataToPersistUsers
/// <summary>
/// DataToPersistReq permet de structurer le fichier de persistance des requins
/// </summary>
DataToPersistReq dataReq = new DataToPersistReq(); DataToPersistReq dataReq = new DataToPersistReq();
/// <summary>
/// DataToPersistUsers permet de structurer le fichier de persistance des utilisateurs
/// </summary>
DataToPersistUsers data = new DataToPersistUsers(); DataToPersistUsers data = new DataToPersistUsers();
/// <summary>
/// List de String permet de strcturer le fichier de persistance des fun facts
/// </summary>
List<String> lesFunFacts = new List<String>(); List<String> lesFunFacts = new List<String>();
// Chemin des fichiers // Chemin des fichiers
/// <summary>
/// String le chemin des fichiers de persistance
/// </summary>
String FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//..//Persistance"); String FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//..//Persistance");
// Noms des fichiers // Noms des fichiers
/// <summary>
/// String le nom du fichier de persistance des requins
/// </summary>
String FileNameReq { get; set; } String FileNameReq { get; set; }
= "ficReqs"; = "ficReqs";
/// <summary>
/// String le nom du fichier de persistance des utilisateurs
/// </summary>
String FileNameUsers { get; set; } String FileNameUsers { get; set; }
= "ficUsers"; = "ficUsers";
/// <summary>
/// String le nom du fichier de persistance des fun facts
/// </summary>
String FileNameFunFacts { get; set; } String FileNameFunFacts { get; set; }
= "ficFunFacts"; = "ficFunFacts";
// Fichiers complets // Fichiers complets
/// <summary>
/// String le chemin complet du fichier de persistance des requins
/// </summary>
String FileReq => Path.Combine(FilePath, FileNameReq); String FileReq => Path.Combine(FilePath, FileNameReq);
/// <summary>
/// String le chemin complet du fichier de persistance des utilisateurs
/// </summary>
String FileUsers => Path.Combine(FilePath, FileNameUsers); String FileUsers => Path.Combine(FilePath, FileNameUsers);
/// <summary>
/// String le chemin compket du fichier de persistance des fun facts
/// </summary>
String FileFunFacts => Path.Combine(FilePath, FileNameFunFacts); String FileFunFacts => Path.Combine(FilePath, FileNameFunFacts);
// Settings // Settings
/// <summary>
/// XmlWriterSettings permet de rajouter des paramètres dans l'écriture des fichiers de persistance
/// </summary>
public XmlWriterSettings settings { get; set; } public XmlWriterSettings settings { get; set; }
= new XmlWriterSettings() { Indent = true }; = new XmlWriterSettings() { Indent = true };
// Méthodes pour les utilisateurs et experts // Méthodes pour les utilisateurs et experts
/// <summary>
/// Charge les utilisateurs des fichiers
/// </summary>
/// <returns>Les List d'Utilisateur et d'Expert du fichier</returns>
public (List<Utilisateur>, List<Expert>) LoadUsers() public (List<Utilisateur>, List<Expert>) LoadUsers()
{ {
if (!File.Exists(FileUsers)) if (!File.Exists(FileUsers))
@ -77,7 +133,11 @@ namespace Persistance
} }
/// <summary>
/// Sauvegarde les listes en paramètres dans le fichier des utilisateurs
/// </summary>
/// <param name="users"></param>
/// <param name="experts"></param>
public void SaveUsers(List<Utilisateur> users, List<Expert> experts) public void SaveUsers(List<Utilisateur> users, List<Expert> experts)
{ {
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))
@ -101,6 +161,11 @@ namespace Persistance
// Méthodes pour tous les requins // Méthodes pour tous les requins
/// <summary>
/// Charge les listes des requins depuis les fichiers et les retourne
/// </summary>
/// <returns>Les List de Requin : ceux de l'application, ceux ajoutés par les utilisateurs, et ceux édités par les utilisateurs</returns>
public (List<Requin>, List<Requin>, List<Requin>) LoadRequins() public (List<Requin>, List<Requin>, List<Requin>) LoadRequins()
{ {
if (!File.Exists(FileReq)) if (!File.Exists(FileReq))
@ -118,6 +183,12 @@ namespace Persistance
/// <summary>
/// Sauvegarde les listes de requins en paramètres dans le fichier de persistance pour les requins
/// </summary>
/// <param name="reqs"></param>
/// <param name="reqsAdd"></param>
/// <param name="reqsEdit"></param>
public void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) public void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit)
{ {
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))
@ -142,7 +213,10 @@ namespace Persistance
} }
} }
/// <summary>
/// Charge les fun facts du fichier de persistance dans un liste et la retourne
/// </summary>
/// <returns>List de String avec les fun facts du fichier dedans</returns>
public List<String> LoadFunFacts() public List<String> LoadFunFacts()
{ {
if (!File.Exists(FileFunFacts)) if (!File.Exists(FileFunFacts))
@ -159,7 +233,10 @@ namespace Persistance
} }
/// <summary>
/// Sauvegarde les fun facts de la liste en paramètre dans le fichier de persistance des fun facts
/// </summary>
/// <param name="funFacts"></param>
public void SaveFunFacts(List<String> funFacts) public void SaveFunFacts(List<String> funFacts)
{ {
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))

@ -8,13 +8,25 @@ using System.Threading.Tasks;
namespace Persistance namespace Persistance
{ {
/// <summary>
/// Classe DataToPersistReq
/// </summary>
[DataContract] [DataContract]
class DataToPersistReq class DataToPersistReq
{ {
/// <summary>
/// List de Requin pour les requins de l'application
/// </summary>
[DataMember] [DataMember]
public List<Requin> Requins { get; set; } = new List<Requin>(); public List<Requin> Requins { get; set; } = new List<Requin>();
/// <summary>
/// List de Requin pour les requins ajoutés par les utilisateurs
/// </summary>
[DataMember] [DataMember]
public List<Requin> RequinsAdd { get; set; } = new List<Requin>(); public List<Requin> RequinsAdd { get; set; } = new List<Requin>();
/// <summary>
/// List de Requin pour les requins édités par les utilisateurs
/// </summary>
[DataMember] [DataMember]
public List<Requin> RequinsEdit { get; set; } = new List<Requin>(); public List<Requin> RequinsEdit { get; set; } = new List<Requin>();
} }

@ -8,11 +8,20 @@ using System.Threading.Tasks;
namespace Persistance namespace Persistance
{ {
/// <summary>
/// Classe DataToPersistUsers
/// </summary>
[DataContract] [DataContract]
class DataToPersistUsers class DataToPersistUsers
{ {
/// <summary>
/// List d'Utilisateur pour les utilisateurs de l'application
/// </summary>
[DataMember] [DataMember]
public List<Utilisateur> Users { get; set; } = new List<Utilisateur>(); public List<Utilisateur> Users { get; set; } = new List<Utilisateur>();
/// <summary>
/// List d'Expert pour les experts de l'application
/// </summary>
[DataMember] [DataMember]
public List<Expert> Experts { get; set; } = new List<Expert>(); public List<Expert> Experts { get; set; } = new List<Expert>();
} }

@ -8,14 +8,43 @@ using System.Threading.Tasks;
namespace Persistance namespace Persistance
{ {
/// <summary>
/// Classe IPersistanceManager décrivant le comportement des différentes instances de persistance
/// </summary>
public interface IPersistanceManager public interface IPersistanceManager
{ {
/// <summary>
/// Chargement des requins
/// </summary>
/// <returns>List de Requin : une pour les requins de l'application, une pour les requins ajoutés par les utilisateurs, et une pour les requins édités par les utilisateurs</returns>
(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) LoadRequins(); (List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) LoadRequins();
/// <summary>
/// Sauvegarde des requins
/// </summary>
/// <param name="reqs"></param>
/// <param name="reqsAdd"></param>
/// <param name="reqsEdit"></param>
void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit); void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit);
/// <summary>
/// Chargement des utilisateurs
/// </summary>
/// <returns>List d'Utilisateur et d'Expert</returns>
(List<Utilisateur> users, List<Expert> experts) LoadUsers(); (List<Utilisateur> users, List<Expert> experts) LoadUsers();
/// <summary>
/// Sauvegarde des utilisateurs
/// </summary>
/// <param name="users"></param>
/// <param name="experts"></param>
void SaveUsers(List<Utilisateur> users, List<Expert> experts); void SaveUsers(List<Utilisateur> users, List<Expert> experts);
/// <summary>
/// Chargement des fun facts
/// </summary>
/// <returns>List de String les fun facts</returns>
List<String> LoadFunFacts(); List<String> LoadFunFacts();
/// <summary>
/// Sauvegarde des fun facts
/// </summary>
/// <param name="funFacts"></param>
void SaveFunFacts(List<String> funFacts); void SaveFunFacts(List<String> funFacts);
} }

@ -6,18 +6,40 @@ using Persistance;
namespace StubLib namespace StubLib
{ {
/// <summary>
/// Classe Stub qui implémente IPersistanceManager et stocke des données dans le code
/// </summary>
public class Stub : IPersistanceManager public class Stub : IPersistanceManager
{ {
/// <summary>
/// List de Requin stocke les requins qui sont dans l'application
/// </summary>
private List<Requin> requins = new List<Requin>(); private List<Requin> requins = new List<Requin>();
/// <summary>
/// List de Requin stocke les requins qui ont été édités par les utilisateurs
/// </summary>
private List<Requin> requinsEdit = new List<Requin>(); private List<Requin> requinsEdit = new List<Requin>();
/// <summary>
/// List de Requin stocke les requins qui ont été ajoutés par les utilisateurs
/// </summary>
private List<Requin> requinsAdd = new List<Requin>(); private List<Requin> requinsAdd = new List<Requin>();
/// <summary>
/// List d'Utilisateur stocke les utilisateurs de l'applications
/// </summary>
private List<Utilisateur> utilisateurs = new List<Utilisateur>(); private List<Utilisateur> utilisateurs = new List<Utilisateur>();
/// <summary>
/// List d'Expert stocke les experts de l'application
/// </summary>
private List<Expert> expert = new List<Expert>(); private List<Expert> expert = new List<Expert>();
/// <summary>
/// List de String stocke les fun facts de l'application
/// </summary>
private List<String> funFacts = new List<String>(); private List<String> funFacts = new List<String>();
/// <summary>
/// Remplissage des listes avec des données pour l'application
/// </summary>
public Stub() public Stub()
{ {
// Requins // Requins
@ -41,11 +63,21 @@ namespace StubLib
} }
/// <summary>
/// Charge les requins des listes de la classe
/// </summary>
/// <returns></returns>
public (List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) LoadRequins() public (List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) LoadRequins()
{ {
return (new List<Requin>(requins), new List<Requin>(requinsAdd), new List<Requin>(requinsEdit)); return (new List<Requin>(requins), new List<Requin>(requinsAdd), new List<Requin>(requinsEdit));
} }
/// <summary>
/// Sauvegarde les requins dans les listes de la classe
/// </summary>
/// <param name="reqs"></param>
/// <param name="reqsAdd"></param>
/// <param name="reqsEdit"></param>
public void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) public void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit)
{ {
requins = reqs; requins = reqs;
@ -53,22 +85,39 @@ namespace StubLib
requinsEdit = reqsEdit; requinsEdit = reqsEdit;
} }
/// <summary>
/// Charge les utilisateurs de la liste de la classe
/// </summary>
/// <returns></returns>
public (List<Utilisateur> users, List<Expert> experts) LoadUsers() public (List<Utilisateur> users, List<Expert> experts) LoadUsers()
{ {
return (new List<Utilisateur>(utilisateurs), new List<Expert>(expert)); return (new List<Utilisateur>(utilisateurs), new List<Expert>(expert));
} }
/// <summary>
/// Sauvegarde les utilisateurs dans la liste de la classe
/// </summary>
/// <param name="users"></param>
/// <param name="experts"></param>
public void SaveUsers(List<Utilisateur> users, List<Expert> experts) public void SaveUsers(List<Utilisateur> users, List<Expert> experts)
{ {
utilisateurs = users; utilisateurs = users;
expert = experts; expert = experts;
} }
/// <summary>
/// Charge les fun facts dans la liste de la classe
/// </summary>
/// <returns></returns>
public List<String> LoadFunFacts() public List<String> LoadFunFacts()
{ {
return new List<String>(funFacts); return new List<String>(funFacts);
} }
/// <summary>
/// Sauvegarde les fun facts dans la liste de la classe
/// </summary>
/// <param name="fun"></param>
public void SaveFunFacts(List<String> fun) public void SaveFunFacts(List<String> fun)
{ {
funFacts = fun; funFacts = fun;

@ -1,6 +1,8 @@
using System; using System;
using Xunit;
using Modèle; using Modèle;
using System.Collections.Generic; using System.Collections.Generic;
using NPOI.SS.Formula.Functions;
namespace UnitTests namespace UnitTests
{ {

@ -34,7 +34,11 @@ namespace WpfApp1
/// </summary> /// </summary>
public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(strat); public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(strat);
/// <summary>
/// Charge les données des fichiers de persistance dans l'application
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Application_Activated(object sender, EventArgs e) private void Application_Activated(object sender, EventArgs e)
{ {
LeManager.LoadRequins(); LeManager.LoadRequins();
@ -42,6 +46,11 @@ namespace WpfApp1
LeManager.LoadFunFacts(); LeManager.LoadFunFacts();
} }
/// <summary>
/// Sauvegarde les données de l'application dans les fichiers de persistance
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Application_Deactivated(object sender, EventArgs e) private void Application_Deactivated(object sender, EventArgs e)
{ {
LeManager.SaveRequins(); LeManager.SaveRequins();

Loading…
Cancel
Save