documentation et descriptions des diagrammes de classes

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

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

@ -298,7 +298,7 @@
"font": "Arial;13;0",
"left": 197,
"top": 317,
"width": 1009.05517578125,
"width": 1014,
"height": 13,
"text": "+ModifierRequin(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): void",
"horizontalAlignment": 0
@ -1966,7 +1966,7 @@
"font": "Arial;13;0",
"left": 1357,
"top": 637,
"width": 998.20068359375,
"width": 1007,
"height": 13,
"text": "+FaireUnSubmit(nom: string, nomSci: string, desc: string, photo: string, video: string, photoCarte: string, statutCons: Conservation, funFact: string, repartition: List<Zone>): int",
"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="
},
"font": "Arial;13;0",
"left": 30.55908203125,
"left": 32,
"top": 5,
"width": 84.35107421875,
"width": 86,
"height": 13,
"text": "Recherche carte"
},
@ -3579,7 +3617,7 @@
"font": "Arial;13;1",
"left": 13,
"top": 5,
"width": 12.55908203125,
"width": 14,
"height": 13,
"text": "sd"
}
@ -4295,9 +4333,9 @@
"$ref": "AAAAAAGAI2vLjtnug4s="
},
"font": "Arial;13;0",
"left": 22.55908203125,
"left": 24,
"top": 5,
"width": 93.421875,
"width": 96,
"height": 13,
"text": "Ajouter un requin"
},
@ -4310,7 +4348,7 @@
"font": "Arial;13;1",
"left": 5,
"top": 5,
"width": 12.55908203125,
"width": 14,
"height": 13,
"text": "sd"
}
@ -4923,7 +4961,7 @@
},
"visible": false,
"font": "Arial;13;0",
"left": 47.99365234375,
"left": 48,
"top": 357,
"width": 1,
"height": 13
@ -4937,7 +4975,7 @@
"font": "Arial;13;1",
"left": 29,
"top": 357,
"width": 13.99365234375,
"width": 14,
"height": 13,
"text": "alt"
},
@ -5642,7 +5680,7 @@
},
"visible": false,
"font": "Arial;13;0",
"left": 39.99365234375,
"left": 40,
"top": 213,
"width": 1,
"height": 13
@ -5656,7 +5694,7 @@
"font": "Arial;13;1",
"left": 21,
"top": 213,
"width": 13.99365234375,
"width": 14,
"height": 13,
"text": "alt"
},

@ -11,14 +11,27 @@ using System.Xml;
namespace Persistance
{
/// <summary>
/// Classe DataContractPersistance qui implémente IPersistanceManager et stocke les données dans les fichiers de persistance
/// </summary>
public class DataContractPersistance : IPersistanceManager
{
// Serializers pour requins et utlisateurs/experts
/// <summary>
/// DataContractSerializer permet de serialiser le type DataToPersistReq
/// </summary>
DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(DataToPersistReq));
/// <summary>
/// DataContractSerializer permet de serialiser le type DataToPersistUsers
/// </summary>
DataContractSerializer SerializerUsers { get; set; }
= new DataContractSerializer(typeof(DataToPersistUsers));
/// <summary>
/// DataContractSerializer permet de serialiser le type List de String
/// </summary>
DataContractSerializer SerializerFun { get; set; }
= new DataContractSerializer(typeof(List<String>));
@ -26,41 +39,84 @@ namespace Persistance
// DataToPersistReq et DataToPersistUsers
/// <summary>
/// DataToPersistReq permet de structurer le fichier de persistance des requins
/// </summary>
DataToPersistReq dataReq = new DataToPersistReq();
/// <summary>
/// DataToPersistUsers permet de structurer le fichier de persistance des utilisateurs
/// </summary>
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>();
// Chemin des fichiers
/// <summary>
/// String le chemin des fichiers de persistance
/// </summary>
String FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//..//Persistance");
// Noms des fichiers
/// <summary>
/// String le nom du fichier de persistance des requins
/// </summary>
String FileNameReq { get; set; }
= "ficReqs";
/// <summary>
/// String le nom du fichier de persistance des utilisateurs
/// </summary>
String FileNameUsers { get; set; }
= "ficUsers";
/// <summary>
/// String le nom du fichier de persistance des fun facts
/// </summary>
String FileNameFunFacts { get; set; }
= "ficFunFacts";
// Fichiers complets
/// <summary>
/// String le chemin complet du fichier de persistance des requins
/// </summary>
String FileReq => Path.Combine(FilePath, FileNameReq);
/// <summary>
/// String le chemin complet du fichier de persistance des utilisateurs
/// </summary>
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);
// Settings
/// <summary>
/// XmlWriterSettings permet de rajouter des paramètres dans l'écriture des fichiers de persistance
/// </summary>
public XmlWriterSettings settings { get; set; }
= new XmlWriterSettings() { Indent = true };
// 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()
{
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)
{
if (!Directory.Exists(FilePath))
@ -101,6 +161,11 @@ namespace Persistance
// 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()
{
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)
{
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()
{
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)
{
if (!Directory.Exists(FilePath))

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

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

@ -8,14 +8,43 @@ using System.Threading.Tasks;
namespace Persistance
{
/// <summary>
/// Classe IPersistanceManager décrivant le comportement des différentes instances de persistance
/// </summary>
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();
/// <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);
/// <summary>
/// Chargement des utilisateurs
/// </summary>
/// <returns>List d'Utilisateur et d'Expert</returns>
(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);
/// <summary>
/// Chargement des fun facts
/// </summary>
/// <returns>List de String les fun facts</returns>
List<String> LoadFunFacts();
/// <summary>
/// Sauvegarde des fun facts
/// </summary>
/// <param name="funFacts"></param>
void SaveFunFacts(List<String> funFacts);
}

@ -6,18 +6,40 @@ using Persistance;
namespace StubLib
{
/// <summary>
/// Classe Stub qui implémente IPersistanceManager et stocke des données dans le code
/// </summary>
public class Stub : IPersistanceManager
{
/// <summary>
/// List de Requin stocke les requins qui sont dans l'application
/// </summary>
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>();
/// <summary>
/// List de Requin stocke les requins qui ont été ajoutés par les utilisateurs
/// </summary>
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>();
/// <summary>
/// List d'Expert stocke les experts de l'application
/// </summary>
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>();
/// <summary>
/// Remplissage des listes avec des données pour l'application
/// </summary>
public Stub()
{
// 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()
{
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)
{
requins = reqs;
@ -53,22 +85,39 @@ namespace StubLib
requinsEdit = reqsEdit;
}
/// <summary>
/// Charge les utilisateurs de la liste de la classe
/// </summary>
/// <returns></returns>
public (List<Utilisateur> users, List<Expert> experts) LoadUsers()
{
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)
{
utilisateurs = users;
expert = experts;
}
/// <summary>
/// Charge les fun facts dans la liste de la classe
/// </summary>
/// <returns></returns>
public List<String> LoadFunFacts()
{
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)
{
funFacts = fun;

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

@ -34,7 +34,11 @@ namespace WpfApp1
/// </summary>
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)
{
LeManager.LoadRequins();
@ -42,6 +46,11 @@ namespace WpfApp1
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)
{
LeManager.SaveRequins();

Loading…
Cancel
Save