validation des submits + un peu de persistance

master
Mathilde JEAN 3 years ago
parent c4d8423eff
commit c4eb823732

@ -11,27 +11,60 @@ namespace Persistance
{ {
public class DataContractPersistance : IPersistanceManager public class DataContractPersistance : IPersistanceManager
{ {
public DataContractSerializer Serializer { get; set; }
// DataContractSerializer pour chaque type
public DataContractSerializer SerializerReq { get; set; }
= new DataContractSerializer(typeof(List<Requin>)); = 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"); string FilePath { get; set; } = Path.Combine(Directory.GetCurrentDirectory(), "..//..//Persistance");
string FileName { get; set; }
string Filepers => Path.Combine(FilePath, FileName);
// 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> 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()
{ {
if (File.Exists(Filepers)) if (File.Exists(FileReq))
{ {
throw new FileNotFoundException("The persisance file Persisitance does not exist"); throw new FileNotFoundException("The persisance file Persisitance does not exist");
} }
using (Stream stream = File.OpenRead(Filepers)) using (Stream stream = File.OpenRead(FileReq))
{ {
requins = Serializer.ReadObject(stream) as List<Requin>; requins = SerializerReq.ReadObject(stream) as List<Requin>;
} }
return requins; return requins;
@ -43,39 +76,45 @@ namespace Persistance
Directory.CreateDirectory(FilePath); Directory.CreateDirectory(FilePath);
} }
using (Stream stream = File.Create(Filepers)) using (Stream stream = File.Create(FileReq))
{ {
Serializer.WriteObject(stream, requins); SerializerReq.WriteObject(stream, requins);
} }
} }
// Méthodes pour les requins ajoutés par les Utilisateurs
public List<Requin> LoadRequinsAdd() public List<Requin> LoadRequinsAdd()
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public List<Requin> LoadRequinsEdit() public void SaveRequinsAdd(List<Requin> reqs)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public List<Personne> LoadUsers()
// Méthodes pour les requins édités par les utilisateurs
public List<Requin> LoadRequinsEdit()
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public void SaveRequinsEdit(List<Requin> reqs)
public void SaveRequinsAdd(List<Requin> reqs)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public void SaveRequinsEdit(List<Requin> reqs)
// Méthodes pour les utilisateurs (Utilisateur et Manager)
public List<Personne> LoadUsers()
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
@ -84,5 +123,6 @@ namespace Persistance
{ {
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"));
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"));
// Utilisateurs // Utilisateurs

@ -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>

@ -49,11 +49,11 @@ 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 });
} }
} }
@ -62,6 +62,10 @@ namespace WpfApp1
//contentControl.Content = new userControlDescription { requin = req }; //contentControl.Content = new userControlDescription { requin = req };
} }
private void addShark_Click(object sender, RoutedEventArgs e)
{
var AddSharkWindow = new AddAShark();
AddSharkWindow.ShowDialog();
}
} }
} }

Loading…
Cancel
Save