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 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; }
/// <summary>
@ -26,7 +27,8 @@ namespace Business
public ManagerUsers(IPersistanceManager pers)
{
Utilisateurs = new List<Personne>();
Utilisateurs = new List<Utilisateur>();
Experts = new List<Expert>();
Pers = pers;
}
public void LoadUsers()
@ -41,7 +43,12 @@ namespace Business
Pers.SaveUsers(Utilisateurs);
}
public bool AjouterUtilisateur(Personne user)
public void SaveExperts()
{
Pers.SaveExperts(Experts);
}
public bool AjouterUtilisateur(Utilisateur user)
{
if (Utilisateurs.Contains(user))
{
@ -52,7 +59,7 @@ namespace Business
return true;
}
public bool SupprimerUtilisateur(Personne user)
public bool SupprimerUtilisateur(Utilisateur user)
{
if (!Utilisateurs.Contains(user))
{
@ -67,7 +74,7 @@ namespace Business
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))
{

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

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

@ -17,7 +17,9 @@ namespace Persistance
public DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(List<Requin>));
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";
string FileNameUsers { get; set; }
= "ficUsers";
string FileNameExperts { get; set; }
= "ficExperts";
@ -43,6 +47,7 @@ namespace Persistance
string FileReqAdd => Path.Combine(FilePath, FileNameReqAdd);
string FileReqEdit => Path.Combine(FilePath, FileNameReqEdit);
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> requinsAdd = 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))
{
SerializerReq.WriteObject(stream, requins);
SerializerReq.WriteObject(stream, reqs);
}
}
@ -109,7 +115,7 @@ namespace Persistance
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))
{
SerializerReq.WriteObject(stream, requinsEdit);
SerializerReq.WriteObject(stream, reqs);
}
}
// Méthodes pour les utilisateurs (Utilisateur et Manager)
public List<Personne> LoadUsers()
public List<Utilisateur> LoadUsers()
{
if (!File.Exists(FileUsers))
{
@ -156,13 +162,28 @@ namespace Persistance
using (Stream stream = File.OpenRead(FileUsers))
{
users = SerializerUsers.ReadObject(stream) as List<Personne>;
users = SerializerUsers.ReadObject(stream) as List<Utilisateur>;
}
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))
{
@ -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();
void SaveRequinsAdd(List<Requin> reqs);
List<Personne> LoadUsers();
void SaveUsers(List<Personne> pers);
List<Utilisateur> LoadUsers();
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> 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()
{
@ -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"));
// Utilisateurs
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)
{
requins = reqs;
requinsAdd = reqs;
}
public List<Requin> LoadRequinsEdit()
@ -64,14 +65,23 @@ namespace StubLib
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;
}
public void SaveExperts(List<Expert> experts)
{
expert = experts;
}
}
}

@ -17,8 +17,24 @@ namespace WpfApp1
{
public static IPersistanceManager strat { get; private set; }
= new DataContractPersistance();
public Manager LeManager { get; private set; } = new Manager(strat);
public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(strat);
public static IPersistanceManager stubtruc { get; set; }
= 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()
{
@ -27,13 +43,15 @@ namespace WpfApp1
private void Application_Activated(object sender, EventArgs e)
{
/*
LeManager.LoadRequins();
LeManager.Pers = new DataContractPersistance();
LeManager.Pers = strat;
LeManager.SaveRequins();
LeManagerUsers.LoadUsers();
LeManagerUsers.Pers = new DataContractPersistance();
LeManagerUsers.Pers = strat;
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