persistance qui marche toujours pas

master
Mathilde JEAN 3 years ago
parent 2e8f77c413
commit 1058e32605

@ -11,7 +11,8 @@ namespace Business
{ {
public class ManagerUsers public class ManagerUsers
{ {
public List<Personne> Utilisateurs { get; private set; } public List<Utilisateur> Utilisateurs { get; private set; }
public List<Expert> Experts { get; private set; }
public Personne SelectedUser { get; set; } public Personne SelectedUser { get; set; }
/// <summary> /// <summary>
@ -26,7 +27,8 @@ namespace Business
public ManagerUsers(IPersistanceManager pers) public ManagerUsers(IPersistanceManager pers)
{ {
Utilisateurs = new List<Personne>(); Utilisateurs = new List<Utilisateur>();
Experts = new List<Expert>();
Pers = pers; Pers = pers;
} }
public void LoadUsers() public void LoadUsers()
@ -41,7 +43,12 @@ namespace Business
Pers.SaveUsers(Utilisateurs); Pers.SaveUsers(Utilisateurs);
} }
public bool AjouterUtilisateur(Personne user) public void SaveExperts()
{
Pers.SaveExperts(Experts);
}
public bool AjouterUtilisateur(Utilisateur user)
{ {
if (Utilisateurs.Contains(user)) if (Utilisateurs.Contains(user))
{ {
@ -52,7 +59,7 @@ namespace Business
return true; return true;
} }
public bool SupprimerUtilisateur(Personne user) public bool SupprimerUtilisateur(Utilisateur user)
{ {
if (!Utilisateurs.Contains(user)) if (!Utilisateurs.Contains(user))
{ {
@ -67,7 +74,7 @@ namespace Business
return Utilisateurs.SingleOrDefault(r => r.Equals(user)); return Utilisateurs.SingleOrDefault(r => r.Equals(user));
} }
public bool ModifieUtilisateur(Personne oldU, Personne newU) public bool ModifieUtilisateur(Utilisateur oldU, Utilisateur newU)
{ {
if (!oldU.Equals(newU)) if (!oldU.Equals(newU))
{ {

@ -10,15 +10,23 @@ namespace Modèle
[DataContract] [DataContract]
public enum Conservation public enum Conservation
{ {
[DataMember] [EnumMember]
EX, EX,
[EnumMember]
EW, EW,
[EnumMember]
CR, CR,
[EnumMember]
EN, EN,
[EnumMember]
VU, VU,
[EnumMember]
NT, NT,
[EnumMember]
LC, LC,
[EnumMember]
DD, DD,
[EnumMember]
NE NE
} }
} }

@ -10,10 +10,13 @@ namespace Modèle
[DataContract] [DataContract]
public enum Zone public enum Zone
{ {
[DataMember] [EnumMember]
ATLANTIQUE, ATLANTIQUE,
[EnumMember]
ARCTIQUE, ARCTIQUE,
[EnumMember]
PACIFIQUE, PACIFIQUE,
[EnumMember]
INDIEN INDIEN
} }
} }

@ -17,7 +17,9 @@ namespace Persistance
public DataContractSerializer SerializerReq { get; set; } public DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(List<Requin>)); = new DataContractSerializer(typeof(List<Requin>));
public DataContractSerializer SerializerUsers { get; set; } public DataContractSerializer SerializerUsers { get; set; }
= new DataContractSerializer(typeof(List<Personne>)); = new DataContractSerializer(typeof(List<Utilisateur>));
public DataContractSerializer SerializerExperts { get; set; }
= new DataContractSerializer(typeof(List<Expert>));
@ -35,6 +37,8 @@ namespace Persistance
= "ficReqEdit"; = "ficReqEdit";
string FileNameUsers { get; set; } string FileNameUsers { get; set; }
= "ficUsers"; = "ficUsers";
string FileNameExperts { get; set; }
= "ficExperts";
@ -43,6 +47,7 @@ namespace Persistance
string FileReqAdd => Path.Combine(FilePath, FileNameReqAdd); string FileReqAdd => Path.Combine(FilePath, FileNameReqAdd);
string FileReqEdit => Path.Combine(FilePath, FileNameReqEdit); string FileReqEdit => Path.Combine(FilePath, FileNameReqEdit);
string FileUsers => Path.Combine(FilePath, FileNameUsers); string FileUsers => Path.Combine(FilePath, FileNameUsers);
string FileExperts => Path.Combine(FilePath, FileNameExperts);
@ -50,7 +55,8 @@ namespace Persistance
List<Requin> requins = new List<Requin>(); List<Requin> requins = new List<Requin>();
List<Requin> requinsAdd = new List<Requin>(); List<Requin> requinsAdd = new List<Requin>();
List<Requin> requinsEdit = new List<Requin>(); List<Requin> requinsEdit = new List<Requin>();
List<Personne> users = new List<Personne>(); List<Utilisateur> users = new List<Utilisateur>();
List<Expert> experts = new List<Expert>();
@ -78,7 +84,7 @@ namespace Persistance
using (Stream stream = File.Create(FileReq)) using (Stream stream = File.Create(FileReq))
{ {
SerializerReq.WriteObject(stream, requins); SerializerReq.WriteObject(stream, reqs);
} }
} }
@ -109,7 +115,7 @@ namespace Persistance
using (Stream stream = File.Create(FileReqAdd)) using (Stream stream = File.Create(FileReqAdd))
{ {
SerializerReq.WriteObject(stream, requinsAdd); SerializerReq.WriteObject(stream, reqs);
} }
} }
@ -140,14 +146,14 @@ namespace Persistance
using (Stream stream = File.Create(FileReqEdit)) using (Stream stream = File.Create(FileReqEdit))
{ {
SerializerReq.WriteObject(stream, requinsEdit); SerializerReq.WriteObject(stream, reqs);
} }
} }
// Méthodes pour les utilisateurs (Utilisateur et Manager) // Méthodes pour les utilisateurs (Utilisateur et Manager)
public List<Personne> LoadUsers() public List<Utilisateur> LoadUsers()
{ {
if (!File.Exists(FileUsers)) if (!File.Exists(FileUsers))
{ {
@ -156,13 +162,28 @@ namespace Persistance
using (Stream stream = File.OpenRead(FileUsers)) using (Stream stream = File.OpenRead(FileUsers))
{ {
users = SerializerUsers.ReadObject(stream) as List<Personne>; users = SerializerUsers.ReadObject(stream) as List<Utilisateur>;
} }
return users; return users;
} }
public void SaveUsers(List<Personne> pers) public List<Expert> LoadExperts()
{
if (!File.Exists(FileExperts))
{
throw new FileNotFoundException("The persisance file ficUsers does not exist");
}
using (Stream stream = File.OpenRead(FileExperts))
{
experts = SerializerExperts.ReadObject(stream) as List<Expert>;
}
return experts;
}
public void SaveUsers(List<Utilisateur> users)
{ {
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))
{ {
@ -175,5 +196,18 @@ namespace Persistance
} }
} }
public void SaveExperts(List<Expert> experts)
{
if (!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
}
using (Stream stream = File.Create(FileExperts))
{
SerializerExperts.WriteObject(stream, experts);
}
}
} }
} }

@ -18,8 +18,10 @@ namespace Persistance
List<Requin> LoadRequinsAdd(); List<Requin> LoadRequinsAdd();
void SaveRequinsAdd(List<Requin> reqs); void SaveRequinsAdd(List<Requin> reqs);
List<Personne> LoadUsers(); List<Utilisateur> LoadUsers();
void SaveUsers(List<Personne> pers); List<Expert> LoadExperts();
void SaveUsers(List<Utilisateur> users);
void SaveExperts(List<Expert> experts);
} }
} }

@ -13,7 +13,8 @@ namespace StubLib
private List<Requin> requinsEdit = new List<Requin>(); private List<Requin> requinsEdit = new List<Requin>();
private List<Requin> requinsAdd = new List<Requin>(); private List<Requin> requinsAdd = new List<Requin>();
private List<Personne> utilisateurs = new List<Personne>(); private List<Utilisateur> utilisateurs = new List<Utilisateur>();
private List<Expert> expert = new List<Expert>();
public Stub() public Stub()
{ {
@ -30,7 +31,7 @@ namespace StubLib
requinsAdd.Add(new Requin("leQuatrièmeRequinAjouté", "Le requin vraiemnt pas banal", "C'est un requin vraiment pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment vraiment pas banal")); requinsAdd.Add(new Requin("leQuatrièmeRequinAjouté", "Le requin vraiemnt pas banal", "C'est un requin vraiment pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment vraiment pas banal"));
// Utilisateurs // Utilisateurs
utilisateurs.Add(new Utilisateur("a", "salut")); utilisateurs.Add(new Utilisateur("a", "salut"));
utilisateurs.Add(new Expert("salut", "hey", "bob")); expert.Add(new Expert("salut", "hey", "bob"));
} }
@ -51,7 +52,7 @@ namespace StubLib
public void SaveRequinsAdd(List<Requin> reqs) public void SaveRequinsAdd(List<Requin> reqs)
{ {
requins = reqs; requinsAdd = reqs;
} }
public List<Requin> LoadRequinsEdit() public List<Requin> LoadRequinsEdit()
@ -64,14 +65,23 @@ namespace StubLib
requinsEdit = reqs; requinsEdit = reqs;
} }
public List<Personne> LoadUsers() public List<Utilisateur> LoadUsers()
{
return new List<Utilisateur>(utilisateurs);
}
public List<Expert> LoadExperts()
{ {
return new List<Personne>(utilisateurs); return new List<Expert>(expert);
} }
public void SaveUsers(List<Personne> users) public void SaveUsers(List<Utilisateur> users)
{ {
utilisateurs = users; utilisateurs = users;
} }
public void SaveExperts(List<Expert> experts)
{
expert = experts;
}
} }
} }

@ -17,8 +17,24 @@ namespace WpfApp1
{ {
public static IPersistanceManager strat { get; private set; } public static IPersistanceManager strat { get; private set; }
= new DataContractPersistance(); = new DataContractPersistance();
public Manager LeManager { get; private set; } = new Manager(strat); public static IPersistanceManager stubtruc { get; set; }
public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(strat); = new StubLib.Stub();
public Manager LeManager { get; private set; } = new Manager(stubtruc);
public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(stubtruc);
public App()
{
var users = stubtruc.LoadUsers();
var experts = stubtruc.LoadExperts();
var requins = stubtruc.LoadRequins();
var requinsAdd = stubtruc.LoadRequinsAdd();
var requinsEdit = stubtruc.LoadRequinsEdit();
strat.SaveUsers(users);
strat.SaveExperts(experts);
strat.SaveRequins(requins);
strat.SaveRequinsAdd(requinsAdd);
strat.SaveRequinsEdit(requinsEdit);
}
public void Temp() public void Temp()
{ {
@ -27,13 +43,15 @@ namespace WpfApp1
private void Application_Activated(object sender, EventArgs e) private void Application_Activated(object sender, EventArgs e)
{ {
/*
LeManager.LoadRequins(); LeManager.LoadRequins();
LeManager.Pers = new DataContractPersistance(); LeManager.Pers = strat;
LeManager.SaveRequins(); LeManager.SaveRequins();
LeManagerUsers.LoadUsers(); LeManagerUsers.LoadUsers();
LeManagerUsers.Pers = new DataContractPersistance(); LeManagerUsers.Pers = strat;
LeManagerUsers.SaveUsers(); LeManagerUsers.SaveUsers();
*/
} }
} }
} }

@ -0,0 +1 @@
<ArrayOfExpert xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Expert><Email>salut</Email><MotDePasse>hey</MotDePasse><DateD>2022-06-07T19:49:45.1873684+02:00</DateD><Surnom>bob</Surnom></Expert></ArrayOfExpert>

@ -1 +1 @@
<ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/> <ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Requin><Description>wow il est trop bo</Description><FunFact>(C'est pas un vrai requin)</FunFact><Nom>mon requin adoré</Nom><NomSci>trop cool ce requin</NomSci><Photo>Images/Dormeur-Mexicain.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>ATLANTIQUE</Zone></Repartition><StatutCons>EW</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin><Requin><Description>C'est un requin ultra banal</Description><FunFact>Il est pas aussi banal qu'il en a l'air</FunFact><Nom>Banane</Nom><NomSci>Le requin banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>ATLANTIQUE</Zone></Repartition><StatutCons>LC</StatutCons><Video>Videos/Vid-Requin-Blanc.mp4</Video></Requin><Requin><Description>C'est un requin pas ultra banal</Description><FunFact>Il est vraiment pas banal</FunFact><Nom>Req1</Nom><NomSci>Le requin pas banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>PACIFIQUE</Zone></Repartition><StatutCons>EX</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin></ArrayOfRequin>

@ -1 +1 @@
<ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/> <ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Requin><Description>C'est un requin pas ultra banal</Description><FunFact>Il est vraiment pas banal</FunFact><Nom>leRequinAjouté</Nom><NomSci>Le requin pas banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>PACIFIQUE</Zone></Repartition><StatutCons>EX</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin><Requin><Description>C'est un requin vraiment pas ultra banal</Description><FunFact>Il est vraiment vraiment pas banal</FunFact><Nom>leDeuxièmeRequinAjouté</Nom><NomSci>Le requin vraiemnt pas banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>PACIFIQUE</Zone></Repartition><StatutCons>EX</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin><Requin><Description>C'est un requin pas ultra banal</Description><FunFact>Il est vraiment pas banal</FunFact><Nom>leTroisièmeRequinAjouté</Nom><NomSci>Le requin pas banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>PACIFIQUE</Zone></Repartition><StatutCons>EX</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin><Requin><Description>C'est un requin vraiment pas ultra banal</Description><FunFact>Il est vraiment vraiment pas banal</FunFact><Nom>leQuatrièmeRequinAjouté</Nom><NomSci>Le requin vraiemnt pas banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>PACIFIQUE</Zone></Repartition><StatutCons>EX</StatutCons><Video>Videos/Vid-dormeur-mexicain.mp4</Video></Requin></ArrayOfRequin>

@ -1 +1 @@
<ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/> <ArrayOfRequin xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Requin><Description>C'est un requin ultra banal</Description><FunFact>En fait il est giga banal</FunFact><Nom>Banane</Nom><NomSci>Le requin banal</NomSci><Photo>Images/White_shark.png</Photo><PhotoCarte>Images/rep_Heterodontus_mexicanus.png</PhotoCarte><Repartition><Zone>ATLANTIQUE</Zone></Repartition><StatutCons>EW</StatutCons><Video>Videos/Vid-Requin-Blanc.mp4</Video></Requin></ArrayOfRequin>

@ -1 +1 @@
<ArrayOfPersonne xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/> <ArrayOfUtilisateur xmlns="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Utilisateur><Email>a</Email><MotDePasse>salut</MotDePasse><NbSubmit>0</NbSubmit></Utilisateur></ArrayOfUtilisateur>
Loading…
Cancel
Save