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 DataContractSerializer Serializer { get; set; }
// 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");
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> 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()
{
if (File.Exists(Filepers))
if (File.Exists(FileReq))
{
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;
@ -43,39 +76,45 @@ namespace Persistance
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()
{
throw new NotImplementedException();
}
public List<Requin> LoadRequinsEdit()
public void SaveRequinsAdd(List<Requin> reqs)
{
throw new NotImplementedException();
}
public List<Personne> LoadUsers()
// 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();
}
@ -84,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"));
utilisateurs.Add(new Utilisateur("a", "salut"));
utilisateurs.Add(new Expert("salut", "hey", "bob"));
// Utilisateurs

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

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

Loading…
Cancel
Save