Une autre fusion

master
thchazot1 3 years ago
commit 3c5f55c810

@ -1,7 +1,9 @@
using Modèle; using Modèle;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -9,27 +11,82 @@ namespace Persistance
{ {
public class DataContractPersistance : IPersistanceManager public class DataContractPersistance : IPersistanceManager
{ {
// DataContractSerializer pour chaque type
public DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(List<Requin>));
public DataContractSerializer SerializerUsers { get; set; }
= new DataContractSerializer(typeof(List<Personne>));
// Chemin des fichiers
string FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//Persistance");
// Noms des fichiers
string FileNameReq { get; set; }
string FileNameReqAdd { get; set; }
string FileNameReqEdit { get; set; }
string FileNameUsers { get; set; }
// Fichiers complets
string FileReq => Path.Combine(FilePath, FileNameReq);
string FileReqAdd => Path.Combine(FilePath, FileNameReqAdd);
string FileReqEdit => Path.Combine(FilePath, FileNameReqEdit);
string FileUsers => Path.Combine(FilePath, FileNameUsers);
// Listes des requins et utilisateurs
List<Requin> requins = new List<Requin>();
List<Requin> requinsAdd = new List<Requin>();
List<Requin> requinEdit = new List<Requin>();
List<Personne> users = new List<Personne>();
// Méthodes pour les requins de l'application
public List<Requin> LoadRequins() public List<Requin> LoadRequins()
{ {
throw new NotImplementedException(); if (File.Exists(FileReq))
{
throw new FileNotFoundException("The persisance file Persisitance does not exist");
} }
public List<Requin> LoadRequinsAdd() using (Stream stream = File.OpenRead(FileReq))
{ {
throw new NotImplementedException(); requins = SerializerReq.ReadObject(stream) as List<Requin>;
} }
public List<Requin> LoadRequinsEdit() return requins;
}
public void SaveRequins(List<Requin> reqs)
{ {
throw new NotImplementedException(); if (!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
} }
public List<Personne> LoadUsers() using (Stream stream = File.Create(FileReq))
{ {
throw new NotImplementedException(); SerializerReq.WriteObject(stream, requins);
}
} }
public void SaveRequins(List<Requin> reqs)
// Méthodes pour les requins ajoutés par les Utilisateurs
public List<Requin> LoadRequinsAdd()
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
@ -39,14 +96,33 @@ namespace Persistance
throw new NotImplementedException(); throw new NotImplementedException();
} }
// Méthodes pour les requins édités par les utilisateurs
public List<Requin> LoadRequinsEdit()
{
throw new NotImplementedException();
}
public void SaveRequinsEdit(List<Requin> reqs) public void SaveRequinsEdit(List<Requin> reqs)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
// Méthodes pour les utilisateurs (Utilisateur et Manager)
public List<Personne> LoadUsers()
{
throw new NotImplementedException();
}
public void SaveUsers(List<Personne> pers) public void SaveUsers(List<Personne> pers)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
} }
} }

@ -23,6 +23,7 @@ namespace StubLib
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("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")); 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("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"));
requinsEdit.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.EW, zone, "En fait il est giga banal")); requinsEdit.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.EW, zone, "En fait il est giga banal"));
utilisateurs.Add(new Utilisateur("a", "salut")); utilisateurs.Add(new Utilisateur("a", "salut"));
utilisateurs.Add(new Expert("salut", "hey", "bob")); utilisateurs.Add(new Expert("salut", "hey", "bob"));

@ -15,6 +15,7 @@ namespace WpfApp1
/// </summary> /// </summary>
public partial class App : Application public partial class App : Application
{ {
public IPersistanceManager strat = new DataContractPersistance();
public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub()); public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub());
public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub()); public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub());

@ -9,7 +9,12 @@
<DockPanel> <DockPanel>
<DockPanel x:Name="Button" DockPanel.Dock="Top"> <DockPanel x:Name="Button" DockPanel.Dock="Top">
<TextBlock Text="VALIDATION DES SUBMITS" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20" FontSize="30" FontWeight="Bold" FontFamily="Candara Light" Foreground="{StaticResource Couleur2}"/> <TextBlock Text="VALIDATION DES SUBMITS" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20" FontSize="30" FontWeight="Bold" FontFamily="Candara Light" Foreground="{StaticResource Couleur2}"/>
<Button x:Name="exit" Style="{StaticResource Button1}" HorizontalAlignment="Right" VerticalAlignment="Center" Content="x" Width="50" Height="50" FontSize="25" Click="exit_Click"></Button> <Button x:Name="add" Style="{StaticResource Button1}" Background="{StaticResource Couleur3}" Margin="280,0,0,0" VerticalAlignment="Center" Width="50" Height="50" FontSize="25" Click="addShark_Click">
<Image Source="Images/plus.png" HorizontalAlignment="Center" Height="40" VerticalAlignment="Center"/>
</Button>
<Button x:Name="exit" Style="{StaticResource Button1}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="50" Height="50" FontSize="25" Click="exit_Click">
<Image Source="Images/cross.png" HorizontalAlignment="Center" Height="40" VerticalAlignment="Center"/>
</Button>
</DockPanel> </DockPanel>
<DockPanel> <DockPanel>
@ -25,16 +30,17 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="Ajouts" Height="20" Grid.Column="0" Grid.Row="0" Background="{StaticResource Couleur1}" Foreground="{StaticResource Couleur3}" TextAlignment="Center"/> <TextBlock Text="Ajouts" Height="20" Grid.Column="0" Grid.Row="0" Background="{StaticResource Couleur1}" Foreground="{StaticResource Couleur3}" TextAlignment="Center"/>
<ListBox DockPanel.Dock="Left" x:Name="laListe" Grid.Column="0" Grid.Row="1"/> <ItemsControl DockPanel.Dock="Left" Grid.Column="0" Grid.Row="1" x:Name="laListeAdd">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<TextBlock Text="Modifications" Height="20" Grid.Column="0" Grid.Row="2" Background="{StaticResource Couleur1}" Foreground="{StaticResource Couleur3}" TextAlignment="Center"/> <TextBlock Text="Modifications" Height="20" Grid.Column="0" Grid.Row="2" Background="{StaticResource Couleur1}" Foreground="{StaticResource Couleur3}" TextAlignment="Center"/>
<ListBox DockPanel.Dock="Right" Grid.Column="0" Grid.Row="3"/> <ItemsControl DockPanel.Dock="Right" Grid.Column="0" Grid.Row="3" x:Name="laListeEdit"/>
</Grid> </Grid>
</DockPanel> </DockPanel>
<DockPanel>
<ContentControl x:Name="contentControl">
<local:UCRequinValSubmit/>
</ContentControl>
</DockPanel>
</DockPanel> </DockPanel>
</Window> </Window>

@ -38,12 +38,6 @@ namespace WpfApp1
chargerUC(); chargerUC();
}
public void ContentControlSwapDes(Requin req)
{
contentControl.Content = new userControlDescription { requin = req };
} }
private void exit_Click(object sender, RoutedEventArgs e) private void exit_Click(object sender, RoutedEventArgs e)
@ -55,30 +49,23 @@ namespace WpfApp1
{ {
foreach (Requin req in MgrAddEdit.RequinsAdd) foreach (Requin req in MgrAddEdit.RequinsAdd)
{ {
laListe.Items.Add(new UserControlRequin { requin = req, type=UCrequinType.add }); laListeAdd.Items.Add(new UserControlRequin { requin = req, type=UCrequinType.add });
} }
foreach (Requin req in MgrAddEdit.RequinsEdit) foreach (Requin req in MgrAddEdit.RequinsEdit)
{ {
laListe.Items.Add(new UserControlRequin { requin = req, type = UCrequinType.edit }); laListeEdit.Items.Add(new UserControlRequin { requin = req, type = UCrequinType.edit });
} }
} }
public void ContentControlSwapDes(Requin req)
public void PremierRequin()
{
if (MgrAddEdit.RequinsAdd.Count > 0)
{
contentControl.Content = new UCRequinValSubmit { requin = MgrAddEdit.RequinsAdd[0] };
}
else if (MgrAddEdit.RequinsEdit.Count > 0)
{ {
contentControl.Content = new UCRequinValSubmit { requin = MgrAddEdit.RequinsEdit[0] }; //contentControl.Content = new userControlDescription { requin = req };
} }
else
private void addShark_Click(object sender, RoutedEventArgs e)
{ {
MessageBox.Show("Tous les requins ont été ajouté"); var AddSharkWindow = new AddAShark();
} AddSharkWindow.ShowDialog();
} }
} }
} }

@ -131,4 +131,8 @@
<Resource Include="Images\Logo_entier.png" /> <Resource Include="Images\Logo_entier.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Persistance\" />
</ItemGroup>
</Project> </Project>

Loading…
Cancel
Save