Une autre fusion

master
thchazot1 3 years ago
commit 3c5f55c810

@ -1,7 +1,9 @@
using Modèle;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
@ -9,37 +11,110 @@ namespace Persistance
{
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()
{
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))
{
requins = SerializerReq.ReadObject(stream) as List<Requin>;
}
return requins;
}
public void SaveRequins(List<Requin> reqs)
{
throw new NotImplementedException();
if (!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
}
using (Stream stream = File.Create(FileReq))
{
SerializerReq.WriteObject(stream, requins);
}
}
public List<Requin> LoadRequinsEdit()
// Méthodes pour les requins ajoutés par les Utilisateurs
public List<Requin> LoadRequinsAdd()
{
throw new NotImplementedException();
}
public List<Personne> LoadUsers()
public void SaveRequinsAdd(List<Requin> reqs)
{
throw new NotImplementedException();
}
public void SaveRequins(List<Requin> reqs)
// Méthodes pour les requins édités par les utilisateurs
public List<Requin> LoadRequinsEdit()
{
throw new NotImplementedException();
}
public void SaveRequinsAdd(List<Requin> reqs)
public void SaveRequinsEdit(List<Requin> reqs)
{
throw new NotImplementedException();
}
public void SaveRequinsEdit(List<Requin> reqs)
// Méthodes pour les utilisateurs (Utilisateur et Manager)
public List<Personne> LoadUsers()
{
throw new NotImplementedException();
}
@ -48,5 +123,6 @@ namespace Persistance
{
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("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"));
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 Expert("salut", "hey", "bob"));

@ -15,6 +15,7 @@ namespace WpfApp1
/// </summary>
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());

@ -9,7 +9,12 @@
<DockPanel>
<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}"/>
<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>
@ -25,16 +30,17 @@
</Grid.RowDefinitions>
<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"/>
<ListBox DockPanel.Dock="Right" Grid.Column="0" Grid.Row="3"/>
<ItemsControl DockPanel.Dock="Right" Grid.Column="0" Grid.Row="3" x:Name="laListeEdit"/>
</Grid>
</DockPanel>
<DockPanel>
<ContentControl x:Name="contentControl">
<local:UCRequinValSubmit/>
</ContentControl>
</DockPanel>
</DockPanel>
</Window>

@ -38,12 +38,6 @@ namespace WpfApp1
chargerUC();
}
public void ContentControlSwapDes(Requin req)
{
contentControl.Content = new userControlDescription { requin = req };
}
private void exit_Click(object sender, RoutedEventArgs e)
@ -55,30 +49,23 @@ namespace WpfApp1
{
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)
{
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)
{
//contentControl.Content = new userControlDescription { requin = req };
}
public void PremierRequin()
private void addShark_Click(object sender, RoutedEventArgs e)
{
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] };
}
else
{
MessageBox.Show("Tous les requins ont été ajouté");
}
var AddSharkWindow = new AddAShark();
AddSharkWindow.ShowDialog();
}
}
}

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

Loading…
Cancel
Save