From 0c3575913db933a6e0c08b92d29b6d57403c63f4 Mon Sep 17 00:00:00 2001 From: thchazot1 Date: Wed, 1 Jun 2022 15:42:46 +0200 Subject: [PATCH] plein de choses --- Business/ManagerAddEdit.cs | 103 ++++++++++++++++++++++++++ Persistance/IPersistanceManager.cs | 10 ++- StubLib/Stub.cs | 23 ++++++ WpfApp1/AddAShark.xaml.cs | 6 +- WpfApp1/App.xaml.cs | 1 + WpfApp1/UserControlValidation.xaml | 20 +++++ WpfApp1/UserControlValidation.xaml.cs | 47 ++++++++++++ WpfApp1/ValiderSubmit.xaml.cs | 17 +++-- 8 files changed, 219 insertions(+), 8 deletions(-) create mode 100644 Business/ManagerAddEdit.cs create mode 100644 WpfApp1/UserControlValidation.xaml create mode 100644 WpfApp1/UserControlValidation.xaml.cs diff --git a/Business/ManagerAddEdit.cs b/Business/ManagerAddEdit.cs new file mode 100644 index 0000000..783db8f --- /dev/null +++ b/Business/ManagerAddEdit.cs @@ -0,0 +1,103 @@ +using Modèle; +using Persistance; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Business +{ + public class ManagerAddEdit + { + public ReadOnlyCollection RequinsEdit { get; private set; } + + public ReadOnlyCollection RequinsAdd { get; private set; } + + private List requinsAdd = new List(); + + private List requinsEdit = new List(); + + public Requin SelectedRequin { get; set; } + + + public IPersistanceManager Pers { get; private set; } + + public ManagerAddEdit(IPersistanceManager pers) + { + RequinsEdit = new ReadOnlyCollection(requinsEdit); + RequinsAdd = new ReadOnlyCollection(requinsAdd); + Pers = pers; + } + public void LoadRequins() + { + requinsEdit.Clear(); + requinsEdit.AddRange(Pers.LoadRequinsEdit()); + requinsAdd.Clear(); + requinsAdd.AddRange(Pers.LoadRequinsAdd()); + SelectedRequin = null; + } + + public void SaveRequins() + { + Pers.SaveRequinsEdit(requinsEdit); + Pers.SaveRequinsAdd(requinsAdd); + } + + public bool AjouterRequinEdit(Requin req) + { + if (requinsEdit.Contains(req)) + { + return false; + + } + requinsEdit.Add(req); + return true; + } + + public bool SupprimerRequinEdit(Requin req) + { + if (!requinsEdit.Contains(req)) + { + return false; + } + requinsEdit.Remove(req); + return true; + } + + + public bool AjouterRequinAdd(Requin req) + { + if (requinsAdd.Contains(req)) + { + return false; + + } + requinsAdd.Add(req); + return true; + } + + public bool SupprimerRequinAdd(Requin req) + { + if (!requinsAdd.Contains(req)) + { + return false; + } + requinsAdd.Remove(req); + return true; + } + + public Requin GetRequinEdit(Requin req) + { + return requinsEdit.SingleOrDefault(r => r.Equals(req)); + } + + public Requin GetRequinAdd(Requin req) + { + return requinsAdd.SingleOrDefault(r => r.Equals(req)); + } + + + } +} diff --git a/Persistance/IPersistanceManager.cs b/Persistance/IPersistanceManager.cs index 0875d20..1449a30 100644 --- a/Persistance/IPersistanceManager.cs +++ b/Persistance/IPersistanceManager.cs @@ -11,8 +11,16 @@ namespace Persistance { List LoadRequins(); void SaveRequins(List reqs); + + List LoadRequinsEdit(); + void SaveRequinsEdit(List reqs); + + List LoadRequinsAdd(); + void SaveRequinsAdd(List reqs); + + List LoadUsers(); - void SaveUsers(List reqs); + void SaveUsers(List pers); } } \ No newline at end of file diff --git a/StubLib/Stub.cs b/StubLib/Stub.cs index 8e7f70b..55ba5d1 100644 --- a/StubLib/Stub.cs +++ b/StubLib/Stub.cs @@ -9,6 +9,8 @@ namespace StubLib { private List requins = new List(); + private List requinsEdit = new List(); + private List requinsAdd = new List(); private List utilisateurs = new List(); @@ -20,6 +22,7 @@ namespace StubLib requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Images/Dormeur-Mexicain.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EW, zone, "(C'est pas un vrai requin)")); requins.Add(new Requin("Banane", "Le requin banal", "C'est un requin ultra banal", "Images/White_shark.png", "Videos/Vid-Requin-Blanc.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.LC, zone, "Il est pas aussi banal qu'il en a l'air")); 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")); utilisateurs.Add(new Utilisateur("a", "salut")); utilisateurs.Add(new Expert("salut", "hey", "bob")); // Utilisateurs @@ -36,6 +39,26 @@ namespace StubLib requins = reqs; } + public List LoadRequinsAdd() + { + return new List(requinsAdd); + } + + public void SaveRequinsAdd(List reqs) + { + requins = reqs; + } + + public List LoadRequinsEdit() + { + return new List(requinsEdit); + } + + public void SaveRequinsEdit(List reqs) + { + requinsEdit = reqs; + } + public List LoadUsers() { return new List(utilisateurs); diff --git a/WpfApp1/AddAShark.xaml.cs b/WpfApp1/AddAShark.xaml.cs index 0d8f69c..e0526ff 100644 --- a/WpfApp1/AddAShark.xaml.cs +++ b/WpfApp1/AddAShark.xaml.cs @@ -32,7 +32,9 @@ namespace WpfApp1 public Manager Manager => (Application.Current as App).LeManager; - + public ManagerAddEdit ManagerAddEdit => (Application.Current as App).LeManagerAddEdit; + + private void exit_Click(object sender, RoutedEventArgs e) @@ -127,7 +129,7 @@ namespace WpfApp1 else { Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun); - Manager.AjouterRequin(requin); + ManagerAddEdit.AjouterRequinAdd(requin); Close(); } } diff --git a/WpfApp1/App.xaml.cs b/WpfApp1/App.xaml.cs index 810453e..9f6b386 100644 --- a/WpfApp1/App.xaml.cs +++ b/WpfApp1/App.xaml.cs @@ -18,6 +18,7 @@ namespace WpfApp1 public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub()); public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub()); + public ManagerAddEdit LeManagerAddEdit { get; private set; } = new ManagerAddEdit(new StubLib.Stub()); public void Temp() { var mw = MainWindow as MainWindow; diff --git a/WpfApp1/UserControlValidation.xaml b/WpfApp1/UserControlValidation.xaml new file mode 100644 index 0000000..30e2e8d --- /dev/null +++ b/WpfApp1/UserControlValidation.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/WpfApp1/UserControlValidation.xaml.cs b/WpfApp1/UserControlValidation.xaml.cs new file mode 100644 index 0000000..65e2d13 --- /dev/null +++ b/WpfApp1/UserControlValidation.xaml.cs @@ -0,0 +1,47 @@ +using Business; +using Modèle; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace WpfApp1 +{ + /// + /// Logique d'interaction pour UserControlValidation.xaml + /// + public partial class UserControlValidation : UserControl + { + + public Manager Mgr => (Application.Current as App).LeManager; + public UserControlValidation() + { + InitializeComponent(); + } + + + + public void chargerUC() + { + foreach (Requin req in Mgr.Requins) + { + laListe.Items.Add(new UserControlRequin { requin = req }); + } + } + + private void exit_Click(object sender, RoutedEventArgs e) + { + + } + } +} diff --git a/WpfApp1/ValiderSubmit.xaml.cs b/WpfApp1/ValiderSubmit.xaml.cs index 62f6cf4..e605597 100644 --- a/WpfApp1/ValiderSubmit.xaml.cs +++ b/WpfApp1/ValiderSubmit.xaml.cs @@ -24,13 +24,16 @@ namespace WpfApp1 public partial class ValiderSubmit : Window { - public Manager Mgr => (Application.Current as App).LeManager; + + + public ManagerAddEdit MgrAddEdit => (Application.Current as App).LeManagerAddEdit; public ValiderSubmit() { InitializeComponent(); - Mgr.LoadRequins(); - DataContext = Mgr; + MgrAddEdit.LoadRequins(); + + DataContext = MgrAddEdit; chargerUC(); @@ -44,9 +47,13 @@ namespace WpfApp1 public void chargerUC() { - foreach (Requin req in Mgr.Requins) + foreach (Requin req in MgrAddEdit.RequinsAdd) + { + laListe.Items.Add(new UserControlRequin { requin = req, type=UCrequinType.add }); + } + foreach (Requin req in MgrAddEdit.RequinsEdit) { - laListe.Items.Add(new UserControlRequin { requin = req }); + laListe.Items.Add(new UserControlRequin { requin = req, type = UCrequinType.edit }); } }