diff --git a/Business/Manager.cs b/Business/Manager.cs
index 209204e..08f3dc7 100644
--- a/Business/Manager.cs
+++ b/Business/Manager.cs
@@ -19,7 +19,7 @@ namespace Business
/// DéPENDANCE
///
- public IPersistanceManager Pers { get; private set; }
+ public IPersistanceManager Pers { get; set; }
///
/// constructeur avec INJECTION DE LA DéPENDANCE
diff --git a/Business/ManagerAddEdit.cs b/Business/ManagerAddEdit.cs
index 783db8f..90b710b 100644
--- a/Business/ManagerAddEdit.cs
+++ b/Business/ManagerAddEdit.cs
@@ -22,7 +22,7 @@ namespace Business
public Requin SelectedRequin { get; set; }
- public IPersistanceManager Pers { get; private set; }
+ public IPersistanceManager Pers { get; set; }
public ManagerAddEdit(IPersistanceManager pers)
{
diff --git a/Business/ManagerUsers.cs b/Business/ManagerUsers.cs
index 5a97ef5..ce5ff07 100644
--- a/Business/ManagerUsers.cs
+++ b/Business/ManagerUsers.cs
@@ -19,7 +19,7 @@ namespace Business
/// DéPENDANCE
///
- public IPersistanceManager Pers { get; private set; }
+ public IPersistanceManager Pers { get; set; }
///
/// constructeur avec INJECTION DE LA DéPENDANCE
diff --git a/Modèle/Conservation.cs b/Modèle/Conservation.cs
index 4a63995..de1bac8 100644
--- a/Modèle/Conservation.cs
+++ b/Modèle/Conservation.cs
@@ -1,13 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public enum Conservation
{
+ [DataMember]
EX,
EW,
CR,
diff --git a/Modèle/Expert.cs b/Modèle/Expert.cs
index 9e5bd12..c57d1bf 100644
--- a/Modèle/Expert.cs
+++ b/Modèle/Expert.cs
@@ -1,14 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public class Expert : Personne
{
+ [DataMember]
public DateTime DateD { get; private set; }
+ [DataMember]
public string Surnom { get; private set; }
public Expert(string email, string mdp, string surnom) : base(email, mdp)
diff --git a/Modèle/Personne.cs b/Modèle/Personne.cs
index 479ad33..2c5b034 100644
--- a/Modèle/Personne.cs
+++ b/Modèle/Personne.cs
@@ -1,14 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public abstract class Personne
{
+ [DataMember]
public string Email { get; protected set; }
+ [DataMember]
public string MotDePasse { get; protected set; }
public Personne(string email, string mdp)
diff --git a/Modèle/Requin.cs b/Modèle/Requin.cs
index a7e0f9f..bc4ca4c 100644
--- a/Modèle/Requin.cs
+++ b/Modèle/Requin.cs
@@ -1,21 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public class Requin : IEquatable
{
+ [DataMember]
public string Nom { get; private set; }
+ [DataMember]
public string NomSci { get; private set; }
+ [DataMember]
public string Description { get; private set; }
+ [DataMember]
public string Photo { get; private set; }
+ [DataMember]
public string Video { get; private set; }
+ [DataMember]
public string PhotoCarte { get; private set; }
+ [DataMember]
public Conservation StatutCons { get; private set; }
+ [DataMember]
public string FunFact { get; private set; }
+ [DataMember]
public List Repartition { get; private set; }
diff --git a/Modèle/Utilisateur.cs b/Modèle/Utilisateur.cs
index 5c69cb6..85bad3c 100644
--- a/Modèle/Utilisateur.cs
+++ b/Modèle/Utilisateur.cs
@@ -1,13 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public class Utilisateur : Personne
{
+ [DataMember]
public int NbSubmit { get; private set; }
public Utilisateur(string mail, string mdp): base(mail, mdp)
{
diff --git a/Modèle/Zone.cs b/Modèle/Zone.cs
index a4ad8b2..7a73460 100644
--- a/Modèle/Zone.cs
+++ b/Modèle/Zone.cs
@@ -1,13 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
+ [DataContract]
public enum Zone
{
+ [DataMember]
ATLANTIQUE,
ARCTIQUE,
PACIFIQUE,
diff --git a/Persistance/DataContractPersistance.cs b/Persistance/DataContractPersistance.cs
index 523d935..70a6682 100644
--- a/Persistance/DataContractPersistance.cs
+++ b/Persistance/DataContractPersistance.cs
@@ -1,6 +1,7 @@
using Modèle;
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
@@ -20,19 +21,20 @@ namespace Persistance
-
// Chemin des fichiers
- string FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//Persistance");
-
+ string FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//..//Persistance");
// Noms des fichiers
string FileNameReq { get; set; }
+ = "ficReq";
string FileNameReqAdd { get; set; }
+ = "ficReqAdd";
string FileNameReqEdit { get; set; }
+ = "ficReqEdit";
string FileNameUsers { get; set; }
-
+ = "ficUsers";
@@ -44,32 +46,30 @@ namespace Persistance
-
// Listes des requins et utilisateurs
- List requins = new List();
- List requinsAdd = new List();
- List requinEdit = new List();
- List users = new List();
-
+ ObservableCollection requins = new ObservableCollection();
+ ObservableCollection requinsAdd = new ObservableCollection();
+ ObservableCollection requinsEdit = new ObservableCollection();
+ ObservableCollection users = new ObservableCollection();
// Méthodes pour les requins de l'application
- public List LoadRequins()
+ public ObservableCollection LoadRequins()
{
- if (File.Exists(FileReq))
+ if (!File.Exists(FileReq))
{
- throw new FileNotFoundException("The persisance file Persisitance does not exist");
+ throw new FileNotFoundException("The persisance ficReq does not exist");
}
using (Stream stream = File.OpenRead(FileReq))
{
- requins = SerializerReq.ReadObject(stream) as List;
+ requins = SerializerReq.ReadObject(stream) as ObservableCollection;
}
return requins;
}
- public void SaveRequins(List reqs)
+ public void SaveRequins(ObservableCollection reqs)
{
if (!Directory.Exists(FilePath))
{
@@ -84,44 +84,95 @@ namespace Persistance
-
// Méthodes pour les requins ajoutés par les Utilisateurs
- public List LoadRequinsAdd()
+ public ObservableCollection LoadRequinsAdd()
{
- throw new NotImplementedException();
+ if (!File.Exists(FileReqAdd))
+ {
+ throw new FileNotFoundException("The persisance file ficReqAdd does not exist");
+ }
+
+ using (Stream stream = File.OpenRead(FileReqAdd))
+ {
+ requinsAdd = SerializerReq.ReadObject(stream) as ObservableCollection;
+ }
+
+ return requinsAdd;
}
- public void SaveRequinsAdd(List reqs)
+ public void SaveRequinsAdd(ObservableCollection reqs)
{
- throw new NotImplementedException();
- }
+ if (!Directory.Exists(FilePath))
+ {
+ Directory.CreateDirectory(FilePath);
+ }
+ using (Stream stream = File.Create(FileReqAdd))
+ {
+ SerializerReq.WriteObject(stream, requinsAdd);
+ }
+ }
// Méthodes pour les requins édités par les utilisateurs
- public List LoadRequinsEdit()
+ public ObservableCollection LoadRequinsEdit()
{
- throw new NotImplementedException();
+ if (!File.Exists(FileReqEdit))
+ {
+ throw new FileNotFoundException("The persisance file ficReqEdit does not exist");
+ }
+
+ using (Stream stream = File.OpenRead(FileReqEdit))
+ {
+ requinsEdit = SerializerReq.ReadObject(stream) as ObservableCollection;
+ }
+
+ return requinsEdit;
}
- public void SaveRequinsEdit(List reqs)
+ public void SaveRequinsEdit(ObservableCollection reqs)
{
- throw new NotImplementedException();
- }
+ if (!Directory.Exists(FilePath))
+ {
+ Directory.CreateDirectory(FilePath);
+ }
+ using (Stream stream = File.Create(FileReqEdit))
+ {
+ SerializerReq.WriteObject(stream, requinsEdit);
+ }
+ }
// Méthodes pour les utilisateurs (Utilisateur et Manager)
- public List LoadUsers()
+ public ObservableCollection LoadUsers()
{
- throw new NotImplementedException();
+ if (!File.Exists(FileUsers))
+ {
+ throw new FileNotFoundException("The persisance file ficUsers does not exist");
+ }
+
+ using (Stream stream = File.OpenRead(FileUsers))
+ {
+ users = SerializerUsers.ReadObject(stream) as ObservableCollection;
+ }
+
+ return users;
}
- public void SaveUsers(List pers)
+ public void SaveUsers(ObservableCollection pers)
{
- throw new NotImplementedException();
+ if (!Directory.Exists(FilePath))
+ {
+ Directory.CreateDirectory(FilePath);
+ }
+
+ using (Stream stream = File.Create(FileUsers))
+ {
+ SerializerUsers.WriteObject(stream, users);
+ }
}
}
diff --git a/Persistance/IPersistanceManager.cs b/Persistance/IPersistanceManager.cs
index 1449a30..f529898 100644
--- a/Persistance/IPersistanceManager.cs
+++ b/Persistance/IPersistanceManager.cs
@@ -1,6 +1,7 @@
using Modèle;
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -9,18 +10,18 @@ namespace Persistance
{
public interface IPersistanceManager
{
- List LoadRequins();
- void SaveRequins(List reqs);
+ ObservableCollection LoadRequins();
+ void SaveRequins(ObservableCollection reqs);
- List LoadRequinsEdit();
- void SaveRequinsEdit(List reqs);
+ ObservableCollection LoadRequinsEdit();
+ void SaveRequinsEdit(ObservableCollection reqs);
- List LoadRequinsAdd();
- void SaveRequinsAdd(List reqs);
+ ObservableCollection LoadRequinsAdd();
+ void SaveRequinsAdd(ObservableCollection reqs);
- List LoadUsers();
- void SaveUsers(List pers);
+ ObservableCollection LoadUsers();
+ void SaveUsers(ObservableCollection pers);
}
}
\ No newline at end of file
diff --git a/StubLib/Stub.cs b/StubLib/Stub.cs
index 14971c5..2556ae7 100644
--- a/StubLib/Stub.cs
+++ b/StubLib/Stub.cs
@@ -24,10 +24,12 @@ namespace StubLib
requins.Add(new Requin("Req1", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
requinsAdd.Add(new Requin("leRequinAjouté", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
requinsAdd.Add(new Requin("leDeuxiè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("leTroisièmeRequinAjouté", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est 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.Add(new Utilisateur("a", "salut"));
utilisateurs.Add(new Expert("salut", "hey", "bob"));
- // Utilisateurs
-
+
}
public List LoadRequins()
diff --git a/WpfApp1/App.xaml b/WpfApp1/App.xaml
index 0c062d3..e700dec 100644
--- a/WpfApp1/App.xaml
+++ b/WpfApp1/App.xaml
@@ -2,7 +2,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
- StartupUri="MainWindow.xaml">
+ StartupUri="MainWindow.xaml"
+ Activated="Application_Activated">
diff --git a/WpfApp1/App.xaml.cs b/WpfApp1/App.xaml.cs
index 20aa0a4..4ae0600 100644
--- a/WpfApp1/App.xaml.cs
+++ b/WpfApp1/App.xaml.cs
@@ -15,14 +15,25 @@ namespace WpfApp1
///
public partial class App : Application
{
- public IPersistanceManager strat = new DataContractPersistance();
- public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub());
- public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub());
+ 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 ManagerAddEdit LeManagerAddEdit { get; private set; } = new ManagerAddEdit(new StubLib.Stub());
public void Temp()
{
var mw = MainWindow as MainWindow;
}
+
+ private void Application_Activated(object sender, EventArgs e)
+ {
+ LeManager.LoadRequins();
+ LeManager.Pers = new DataContractPersistance();
+ LeManager.SaveRequins();
+
+ LeManagerUsers.LoadUsers();
+ LeManagerUsers.Pers = new DataContractPersistance();
+ LeManagerUsers.SaveUsers();
+ }
}
}
diff --git a/WpfApp1/CreerCompte.xaml.cs b/WpfApp1/CreerCompte.xaml.cs
index 5c8d2af..749fb30 100644
--- a/WpfApp1/CreerCompte.xaml.cs
+++ b/WpfApp1/CreerCompte.xaml.cs
@@ -26,7 +26,7 @@ namespace WpfApp1
InitializeComponent();
}
- public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
private void exit_Click(object sender, RoutedEventArgs e)
{
diff --git a/WpfApp1/InfoUtilisateur.xaml.cs b/WpfApp1/InfoUtilisateur.xaml.cs
index 0161132..1a89576 100644
--- a/WpfApp1/InfoUtilisateur.xaml.cs
+++ b/WpfApp1/InfoUtilisateur.xaml.cs
@@ -27,7 +27,7 @@ namespace WpfApp1
InitializeComponent();
}
- public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
private Personne _pers;
public Personne pers
diff --git a/WpfApp1/MainWindow.xaml.cs b/WpfApp1/MainWindow.xaml.cs
index 782240b..f689103 100644
--- a/WpfApp1/MainWindow.xaml.cs
+++ b/WpfApp1/MainWindow.xaml.cs
@@ -28,7 +28,7 @@ namespace WpfApp1
public partial class MainWindow : Window
{
public Manager Mgr => (Application.Current as App).LeManager;
- public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
Nullable zonePage{ get; set; }
diff --git a/WpfApp1/Persistance/ficReq b/WpfApp1/Persistance/ficReq
new file mode 100644
index 0000000..9203cf3
--- /dev/null
+++ b/WpfApp1/Persistance/ficReq
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/WpfApp1/Persistance/ficReqAdd b/WpfApp1/Persistance/ficReqAdd
new file mode 100644
index 0000000..9203cf3
--- /dev/null
+++ b/WpfApp1/Persistance/ficReqAdd
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/WpfApp1/Persistance/ficReqEdit b/WpfApp1/Persistance/ficReqEdit
new file mode 100644
index 0000000..9203cf3
--- /dev/null
+++ b/WpfApp1/Persistance/ficReqEdit
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/WpfApp1/Persistance/ficUsers b/WpfApp1/Persistance/ficUsers
new file mode 100644
index 0000000..40e34f9
--- /dev/null
+++ b/WpfApp1/Persistance/ficUsers
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/WpfApp1/SeConnecter.xaml.cs b/WpfApp1/SeConnecter.xaml.cs
index 9d36e95..5fa0f3b 100644
--- a/WpfApp1/SeConnecter.xaml.cs
+++ b/WpfApp1/SeConnecter.xaml.cs
@@ -22,7 +22,7 @@ namespace WpfApp1
public partial class SeConnecter : Window
{
- public ManagerUsers Mgr => (Application.Current as App).LeManagerUser;
+ public ManagerUsers Mgr => (Application.Current as App).LeManagerUsers;
public SeConnecter()
{
InitializeComponent();
diff --git a/WpfApp1/UserControlEdit.xaml.cs b/WpfApp1/UserControlEdit.xaml.cs
index 5008882..ccc63db 100644
--- a/WpfApp1/UserControlEdit.xaml.cs
+++ b/WpfApp1/UserControlEdit.xaml.cs
@@ -32,7 +32,7 @@ namespace WpfApp1
}
public Manager Manager => (Application.Current as App).LeManager;
- public ManagerUsers ManagerUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers ManagerUser => (Application.Current as App).LeManagerUsers;
private Requin _requin;
public Requin requin
diff --git a/WpfApp1/ValiderSubmit.xaml b/WpfApp1/ValiderSubmit.xaml
index b73933e..8caa006 100644
--- a/WpfApp1/ValiderSubmit.xaml
+++ b/WpfApp1/ValiderSubmit.xaml
@@ -8,7 +8,7 @@
Title="ValiderSubmit" Height="450" Width="800">
-
+
@@ -38,7 +38,13 @@
-
+
+
+
+
+
+
+
diff --git a/WpfApp1/WpfApp1.csproj b/WpfApp1/WpfApp1.csproj
index 45d9a05..b09de9f 100644
--- a/WpfApp1/WpfApp1.csproj
+++ b/WpfApp1/WpfApp1.csproj
@@ -131,8 +131,4 @@
-
-
-
-
diff --git a/WpfApp1/userControlAcceuil.xaml.cs b/WpfApp1/userControlAcceuil.xaml.cs
index 5072521..9ad785c 100644
--- a/WpfApp1/userControlAcceuil.xaml.cs
+++ b/WpfApp1/userControlAcceuil.xaml.cs
@@ -22,7 +22,7 @@ namespace WpfApp1
///
public partial class userControlAcceuil : UserControl
{
- public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
public userControlAcceuil()
{
diff --git a/WpfApp1/userControlDescription.xaml.cs b/WpfApp1/userControlDescription.xaml.cs
index 75ddf1b..7fe8635 100644
--- a/WpfApp1/userControlDescription.xaml.cs
+++ b/WpfApp1/userControlDescription.xaml.cs
@@ -26,7 +26,7 @@ namespace WpfApp1
{
InitializeComponent();
}
- public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;