master
Mathilde JEAN 3 years ago
commit 3897517172

@ -11,8 +11,10 @@ namespace Business
{ {
public class Manager public class Manager
{ {
public ReadOnlyCollection<Requin> Requins { get; private set; } public ObservableCollection<Requin> Requins { get; private set; }
private List<Requin> requins = new List<Requin>(); public ObservableCollection<Requin> RequinsEdit { get; private set; }
public ObservableCollection<Requin> RequinsAdd { get; private set; }
public Requin SelectedRequin { get; set; } public Requin SelectedRequin { get; set; }
/// <summary> /// <summary>
@ -27,44 +29,63 @@ namespace Business
public Manager(IPersistanceManager pers) public Manager(IPersistanceManager pers)
{ {
Requins = new ReadOnlyCollection<Requin>(requins); Requins = new ObservableCollection<Requin>();
RequinsEdit = new ObservableCollection<Requin>();
RequinsAdd = new ObservableCollection<Requin>();
Pers = pers; Pers = pers;
} }
public void LoadRequins() public void LoadRequins()
{ {
requins.Clear(); Requins.Clear();
requins.AddRange(Pers.LoadRequins()); foreach (Requin req in Pers.LoadRequins())
{
Requins.Add(req);
}
RequinsEdit.Clear();
foreach (Requin req in Pers.LoadRequinsEdit())
{
RequinsEdit.Add(req);
}
RequinsAdd.Clear();
foreach (Requin req in Pers.LoadRequinsAdd())
{
RequinsAdd.Add(req);
}
SelectedRequin = null; SelectedRequin = null;
} }
public void SaveRequins() public void SaveRequins()
{ {
Pers.SaveRequins(requins); Pers.SaveRequins(Requins);
Pers.SaveRequinsEdit(RequinsEdit);
Pers.SaveRequinsAdd(RequinsAdd);
} }
public bool AjouterRequin(Requin req) public bool AjouterRequin(Requin req)
{ {
if (requins.Contains(req)){ Requin test = Requins.SingleOrDefault(r => r.Equals(req));
if (Requins.Contains(req) && test!=null){
return false; return false;
} }
requins.Add(req); Requins.Add(req);
return true; return true;
} }
public bool SupprimerRequin(Requin req) public bool SupprimerRequin(Requin req)
{ {
if (!requins.Contains(req)) Requin test = Requins.SingleOrDefault(r => r.Equals(req));
if (!Requins.Contains(req) || test == null)
{ {
return false; return false;
} }
requins.Remove(req); Requins.Remove(req);
return true; return true;
} }
public Requin GetRequin(Requin req) public Requin GetRequin(Requin req)
{ {
return requins.SingleOrDefault(r => r.Equals(req)); return Requins.SingleOrDefault(r => r.Equals(req));
} }
public bool ModifieRequin(Requin oldR, Requin newR) public bool ModifieRequin(Requin oldR, Requin newR)
@ -73,12 +94,69 @@ namespace Business
{ {
return false; return false;
} }
requins.Remove(oldR); Requins.Remove(oldR);
requins.Add(newR); Requins.Add(newR);
return true;
}
public bool AjouterRequinEdit(Requin req)
{
Requin test = RequinsEdit.SingleOrDefault(r => r.Equals(req));
if (RequinsEdit.Contains(req) && test != null)
{
return false;
}
RequinsEdit.Add(req);
return true;
}
public bool SupprimerRequinEdit(Requin req)
{
Requin test = RequinsEdit.SingleOrDefault(r => r.Equals(req));
if (!RequinsEdit.Contains(req) || test == null)
{
return false;
}
RequinsEdit.Remove(req);
return true; return true;
} }
public List<Requin> rechercherRequins(ReadOnlyCollection<Requin> lRech, Nullable<Zone> zone, string motif)
public bool AjouterRequinAdd(Requin req)
{
Requin test = RequinsAdd.SingleOrDefault(r => r.Equals(req));
if (RequinsAdd.Contains(req) && test != null)
{
return false;
}
RequinsAdd.Add(req);
return true;
}
public bool SupprimerRequinAdd(Requin req)
{
Requin test = RequinsAdd.SingleOrDefault(r => r.Equals(req));
if (!RequinsAdd.Contains(req) || test == null)
{
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));
}
public List<Requin> rechercherRequins(ObservableCollection<Requin> lRech, Nullable<Zone> zone, string motif)
{ {
List<Requin> nvReq = new List<Requin>(); List<Requin> nvReq = new List<Requin>();
int test = 0; int test = 0;

@ -1,103 +0,0 @@
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<Requin> RequinsEdit { get; private set; }
public ReadOnlyCollection<Requin> RequinsAdd { get; private set; }
private List<Requin> requinsAdd = new List<Requin>();
private List<Requin> requinsEdit = new List<Requin>();
public Requin SelectedRequin { get; set; }
public IPersistanceManager Pers { get; set; }
public ManagerAddEdit(IPersistanceManager pers)
{
RequinsEdit = new ReadOnlyCollection<Requin>(requinsEdit);
RequinsAdd = new ReadOnlyCollection<Requin>(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));
}
}
}

@ -11,8 +11,7 @@ namespace Business
{ {
public class ManagerUsers public class ManagerUsers
{ {
public ReadOnlyCollection<Personne> Utilisateurs { get; private set; } public List<Personne> Utilisateurs { get; private set; }
private List<Personne> utilisateurs = new List<Personne>();
public Personne SelectedUser { get; set; } public Personne SelectedUser { get; set; }
/// <summary> /// <summary>
@ -27,45 +26,45 @@ namespace Business
public ManagerUsers(IPersistanceManager pers) public ManagerUsers(IPersistanceManager pers)
{ {
Utilisateurs = new ReadOnlyCollection<Personne>(utilisateurs); Utilisateurs = new List<Personne>();
Pers = pers; Pers = pers;
} }
public void LoadUsers() public void LoadUsers()
{ {
utilisateurs.Clear(); Utilisateurs.Clear();
utilisateurs.AddRange(Pers.LoadUsers()); Utilisateurs.AddRange(Pers.LoadUsers());
SelectedUser = null; SelectedUser = null;
} }
public void SaveUsers() public void SaveUsers()
{ {
Pers.SaveUsers(utilisateurs); Pers.SaveUsers(Utilisateurs);
} }
public bool AjouterUtilisateur(Personne user) public bool AjouterUtilisateur(Personne user)
{ {
if (utilisateurs.Contains(user)) if (Utilisateurs.Contains(user))
{ {
return false; return false;
} }
utilisateurs.Add(user); Utilisateurs.Add(user);
return true; return true;
} }
public bool SupprimerUtilisateur(Personne user) public bool SupprimerUtilisateur(Personne user)
{ {
if (!utilisateurs.Contains(user)) if (!Utilisateurs.Contains(user))
{ {
return false; return false;
} }
utilisateurs.Remove(user); Utilisateurs.Remove(user);
return true; return true;
} }
public Personne GetUtilisateur(Personne user) public Personne GetUtilisateur(Personne user)
{ {
return utilisateurs.SingleOrDefault(r => r.Equals(user)); return Utilisateurs.SingleOrDefault(r => r.Equals(user));
} }
public bool ModifieUtilisateur(Personne oldU, Personne newU) public bool ModifieUtilisateur(Personne oldU, Personne newU)
@ -74,8 +73,8 @@ namespace Business
{ {
return false; return false;
} }
utilisateurs.Remove(oldU); Utilisateurs.Remove(oldU);
utilisateurs.Add(newU); Utilisateurs.Add(newU);
return true; return true;
} }

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using Modèle; using Modèle;
using Persistance; using Persistance;
@ -8,9 +9,9 @@ namespace StubLib
public class Stub : IPersistanceManager public class Stub : IPersistanceManager
{ {
private List<Requin> requins = new List<Requin>(); private ObservableCollection<Requin> requins = new ObservableCollection<Requin>();
private List<Requin> requinsEdit = new List<Requin>(); private ObservableCollection<Requin> requinsEdit = new ObservableCollection<Requin>();
private List<Requin> requinsAdd = new List<Requin>(); private ObservableCollection<Requin> requinsAdd = new ObservableCollection<Requin>();
private List<Personne> utilisateurs = new List<Personne>(); private List<Personne> utilisateurs = new List<Personne>();
@ -24,6 +25,7 @@ namespace StubLib
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")); 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"));
requinsAdd.Add(new Requin("leTroisièmeRequinAjouté", "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("leTroisièmeRequinAjouté", "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("leQuatriè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")); requinsAdd.Add(new Requin("leQuatriè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 // Utilisateurs
@ -32,32 +34,32 @@ namespace StubLib
} }
public List<Requin> LoadRequins() public ObservableCollection<Requin> LoadRequins()
{ {
return new List<Requin>(requins); return new ObservableCollection<Requin>(requins);
} }
public void SaveRequins(List<Requin> reqs) public void SaveRequins(ObservableCollection<Requin> reqs)
{ {
requins = reqs; requins = reqs;
} }
public List<Requin> LoadRequinsAdd() public ObservableCollection<Requin> LoadRequinsAdd()
{ {
return new List<Requin>(requinsAdd); return new ObservableCollection<Requin>(requinsAdd);
} }
public void SaveRequinsAdd(List<Requin> reqs) public void SaveRequinsAdd(ObservableCollection<Requin> reqs)
{ {
requins = reqs; requins = reqs;
} }
public List<Requin> LoadRequinsEdit() public ObservableCollection<Requin> LoadRequinsEdit()
{ {
return new List<Requin>(requinsEdit); return new ObservableCollection<Requin>(requinsEdit);
} }
public void SaveRequinsEdit(List<Requin> reqs) public void SaveRequinsEdit(ObservableCollection<Requin> reqs)
{ {
requinsEdit = reqs; requinsEdit = reqs;
} }

@ -24,15 +24,14 @@ namespace WpfApp1
public AddAShark() public AddAShark()
{ {
InitializeComponent(); InitializeComponent();
Manager.LoadRequins(); Mgr.LoadRequins();
DataContext = Manager; DataContext = Mgr;
} }
public Manager Manager => (Application.Current as App).LeManager; public Manager Mgr => (Application.Current as App).LeManager;
public ManagerAddEdit ManagerAddEdit => (Application.Current as App).LeManagerAddEdit;
@ -129,7 +128,7 @@ namespace WpfApp1
else else
{ {
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun); Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
ManagerAddEdit.AjouterRequinAdd(requin); Mgr.AjouterRequinAdd(requin);
Close(); Close();
} }
} }

@ -0,0 +1,46 @@
<Window x:Class="WpfApp1.DescriptionAdd"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="Description" Height="450" Width="800">
<DockPanel>
<Grid DockPanel.Dock="Top">
<Image Source="Images\Logo_entier.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,10" Height="40" Stretch="Uniform" StretchDirection="Both"></Image>
<Button Style="{StaticResource Button1}" x:Name="exit" HorizontalAlignment="Right" VerticalAlignment="Center" DockPanel.Dock="Right" Width="50" Height="50" FontSize="25" Click="exit_Click" BorderBrush="{StaticResource Couleur1}">
<Image Source="Images\cross.png" />
</Button>
</Grid>
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding SelectedRequin.Nom}" Foreground="{StaticResource Couleur3}" FontSize="20" Margin="15,5,0,0" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="0" VerticalAlignment="Bottom" x:Name="nameReq"/>
<TextBlock Text="{Binding SelectedRequin.NomSci}" Foreground="{StaticResource Couleur3}" FontSize="15" Margin="15,0,0,10" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="1" VerticalAlignment="Top" x:Name="sciName"/>
<Image Source="{Binding SelectedRequin.Photo}" DockPanel.Dock="Right" Margin="30,30,30,0" MinHeight="50" MaxHeight="125" Grid.Column="0" Grid.RowSpan="2" VerticalAlignment="Top" x:Name="photo"/>
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2">
<TextBlock TextWrapping="Wrap" FontSize="12" Margin="15,5,15,5" HorizontalAlignment="Left" DockPanel.Dock="Top" Foreground="{StaticResource Couleur3}" TextAlignment="Center" x:Name="desc" Text="{Binding SelectedRequin.Description}"></TextBlock>
</ScrollViewer>
<MediaElement Source="{Binding SelectedRequin.Video}" DockPanel.Dock="Bottom" MaxHeight="125" MinHeight="50" Margin="0,20,0,0" HorizontalAlignment="Center" Grid.ColumnSpan="2" Grid.Row="3" x:Name="vid"/>
</Grid>
</DockPanel>
<DockPanel Background="{StaticResource Couleur3}" DockPanel.Dock="Right">
<Image Source="{Binding SelectedRequin.PhotoCarte}" Margin="0,25,0,20" DockPanel.Dock="Top" MinHeight="50" MaxHeight="125" HorizontalAlignment="Center" x:Name="cartePic"></Image>
<Image Source="{Binding SelectedRequin.StatutCons}" Margin="15,5,5,5" DockPanel.Dock="Top" HorizontalAlignment="Center" MinHeight="5" MaxHeight="60" x:Name="consPic" ></Image>
<TextBlock Text="Fun fact" FontSize="20" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,15,0,0" Foreground="{StaticResource Couleur1}" FontFamily="{StaticResource Police2}" ></TextBlock>
<TextBlock Text="{Binding SelectedRequin.FunFact}" FontSize="12" DockPanel.Dock="Top" TextWrapping="Wrap" Foreground="{StaticResource Couleur1}" Margin="0,5,0,0" TextAlignment="Center" HorizontalAlignment="Center" Width="175" x:Name="funFact"></TextBlock>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Left" Width="80" Height="50" Content="Valider" Margin="50,20,0,0" Click="valider_Click" x:Name="valider"/>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Right" Width="80" Height="50" Content="Refuser" Margin="0,20,0,0" x:Name="refuser" Click="refuser_Click"/>
</DockPanel>
</DockPanel>
</Window>

@ -0,0 +1,78 @@
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.Shapes;
namespace WpfApp1
{
/// <summary>
/// Logique d'interaction pour Description.xaml
/// </summary>
public partial class DescriptionAdd : Window
{
public DescriptionAdd()
{
InitializeComponent();
}
public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;
public Requin requin
{
get { return _requin; }
set
{
_requin = value;
uptadeUi(_requin);
}
}
public void uptadeUi(Requin requin)
{
string url = "Images/" + requin.StatutCons.ToString() + ".png";
nameReq.Text = requin.Nom;
sciName.Text = requin.NomSci;
desc.Text = requin.Description;
vid.Source = new Uri(requin.Video, UriKind.Relative);
photo.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative));
funFact.Text = requin.FunFact;
consPic.Source = new BitmapImage(new Uri(url, UriKind.Relative));
cartePic.Source = new BitmapImage(new Uri(requin.PhotoCarte, UriKind.Relative));
}
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
}
private void valider_Click(object sender, RoutedEventArgs e)
{
Mgr.AjouterRequin(requin);
Mgr.SupprimerRequinAdd(requin);
}
private void refuser_Click(object sender, RoutedEventArgs e)
{
Mgr.SupprimerRequinAdd(requin);
}
}
}

@ -0,0 +1,77 @@
<Window x:Class="WpfApp1.DescriptionEdit"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="DescriptionEdit" Height="550" Width="1600">
<DockPanel>
<Grid DockPanel.Dock="Top">
<Image Source="Images\Logo_entier.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,10" Height="40" Stretch="Uniform" StretchDirection="Both"></Image>
<Button Style="{StaticResource Button1}" x:Name="exit" HorizontalAlignment="Right" VerticalAlignment="Center" DockPanel.Dock="Right" Width="50" Height="50" FontSize="25" Click="exit_Click" BorderBrush="{StaticResource Couleur1}">
<Image Source="Images\cross.png" />
</Button>
</Grid>
<DockPanel DockPanel.Dock="Right">
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding SelectedRequin.Nom}" Foreground="{StaticResource Couleur3}" FontSize="20" Margin="15,5,0,0" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="0" VerticalAlignment="Bottom" x:Name="nameReqOld"/>
<TextBlock Text="{Binding SelectedRequin.NomSci}" Foreground="{StaticResource Couleur3}" FontSize="15" Margin="15,0,0,10" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="1" VerticalAlignment="Top" x:Name="sciNameOld"/>
<Image Source="{Binding SelectedRequin.Photo}" DockPanel.Dock="Right" Margin="30,30,30,0" MinHeight="50" MaxHeight="125" Grid.Column="0" Grid.RowSpan="2" VerticalAlignment="Top" x:Name="photoOld"/>
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2">
<TextBlock TextWrapping="Wrap" FontSize="12" Margin="15,5,15,5" HorizontalAlignment="Left" DockPanel.Dock="Top" Foreground="{StaticResource Couleur3}" TextAlignment="Center" x:Name="descOld" Text="{Binding SelectedRequin.Description}"></TextBlock>
</ScrollViewer>
<MediaElement Source="{Binding SelectedRequin.Video}" DockPanel.Dock="Bottom" MaxHeight="125" MinHeight="50" Margin="0,20,0,0" HorizontalAlignment="Center" Grid.ColumnSpan="2" Grid.Row="3" x:Name="vidOld"/>
</Grid>
</DockPanel>
<DockPanel Background="{StaticResource Couleur3}" DockPanel.Dock="Right">
<Image Source="{Binding SelectedRequin.PhotoCarte}" Margin="0,25,0,20" DockPanel.Dock="Top" MinHeight="50" MaxHeight="125" HorizontalAlignment="Center" x:Name="cartePicOld"></Image>
<Image Source="{Binding SelectedRequin.StatutCons}" Margin="15,5,5,5" DockPanel.Dock="Top" HorizontalAlignment="Center" MinHeight="5" MaxHeight="60" x:Name="consPicOld" ></Image>
<TextBlock Text="Fun fact" FontSize="20" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,15,0,0" Foreground="{StaticResource Couleur1}" FontFamily="{StaticResource Police2}" ></TextBlock>
<TextBlock Text="{Binding SelectedRequin.FunFact}" FontSize="12" DockPanel.Dock="Top" TextWrapping="Wrap" Foreground="{StaticResource Couleur1}" Margin="0,5,0,0" TextAlignment="Center" HorizontalAlignment="Center" Width="175" x:Name="funFactOld"></TextBlock>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Left" Width="80" Height="50" Content="Remplacer" Margin="0,20,0,0" Click="remplacer_Click" x:Name="remplacer"/>
</DockPanel>
</DockPanel>
<DockPanel DockPanel.Dock="Left">
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding SelectedRequin.Nom}" Foreground="{StaticResource Couleur3}" FontSize="20" Margin="15,5,0,0" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="0" VerticalAlignment="Bottom" x:Name="nameReq"/>
<TextBlock Text="{Binding SelectedRequin.NomSci}" Foreground="{StaticResource Couleur3}" FontSize="15" Margin="15,0,0,10" DockPanel.Dock="Top" Grid.Column="1" Grid.Row="1" VerticalAlignment="Top" x:Name="sciName"/>
<Image Source="{Binding SelectedRequin.Photo}" DockPanel.Dock="Right" Margin="30,30,30,0" MinHeight="50" MaxHeight="125" Grid.Column="0" Grid.RowSpan="2" VerticalAlignment="Top" x:Name="photo"/>
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2">
<TextBlock TextWrapping="Wrap" FontSize="12" Margin="15,5,15,5" HorizontalAlignment="Left" DockPanel.Dock="Top" Foreground="{StaticResource Couleur3}" TextAlignment="Center" x:Name="desc" Text="{Binding SelectedRequin.Description}"></TextBlock>
</ScrollViewer>
<MediaElement Source="{Binding SelectedRequin.Video}" DockPanel.Dock="Bottom" MaxHeight="125" MinHeight="50" Margin="0,20,0,0" HorizontalAlignment="Center" Grid.ColumnSpan="2" Grid.Row="3" x:Name="vid"/>
</Grid>
</DockPanel>
<DockPanel Background="{StaticResource Couleur3}" DockPanel.Dock="Right">
<Image Source="{Binding SelectedRequin.PhotoCarte}" Margin="0,25,0,20" DockPanel.Dock="Top" MinHeight="50" MaxHeight="125" HorizontalAlignment="Center" x:Name="cartePic"></Image>
<Image Source="{Binding SelectedRequin.StatutCons}" Margin="15,5,5,5" DockPanel.Dock="Top" HorizontalAlignment="Center" MinHeight="5" MaxHeight="60" x:Name="consPic" ></Image>
<TextBlock Text="Fun fact" FontSize="20" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,15,0,0" Foreground="{StaticResource Couleur1}" FontFamily="{StaticResource Police2}" ></TextBlock>
<TextBlock Text="{Binding SelectedRequin.FunFact}" FontSize="12" DockPanel.Dock="Top" TextWrapping="Wrap" Foreground="{StaticResource Couleur1}" Margin="0,5,0,0" TextAlignment="Center" HorizontalAlignment="Center" Width="175" x:Name="funFact"></TextBlock>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Left" Width="80" Height="50" Content="Garder" Margin="0,20,0,0" Click="garder_Click" x:Name="garder"/>
</DockPanel>
</DockPanel>
</DockPanel>
</Window>

@ -0,0 +1,101 @@
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.Shapes;
namespace WpfApp1
{
/// <summary>
/// Logique d'interaction pour DescriptionEdit.xaml
/// </summary>
public partial class DescriptionEdit : Window
{
public DescriptionEdit()
{
InitializeComponent();
}
public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;
public Requin requin
{
get { return _requin; }
set
{
_requin = value;
uptadeUi(_requin);
}
}
private Requin _requinOld;
public Requin requinOld
{
get { return _requinOld; }
set
{
_requinOld = value;
uptadeUiOld(_requinOld);
}
}
public void uptadeUi(Requin requin)
{
string url = "Images/" + requin.StatutCons.ToString() + ".png";
nameReq.Text = requin.Nom;
sciName.Text = requin.NomSci;
desc.Text = requin.Description;
vid.Source = new Uri(requin.Video, UriKind.Relative);
photo.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative));
funFact.Text = requin.FunFact;
consPic.Source = new BitmapImage(new Uri(url, UriKind.Relative));
cartePic.Source = new BitmapImage(new Uri(requin.PhotoCarte, UriKind.Relative));
}
public void uptadeUiOld(Requin oldRequin)
{
string url = "Images/" + oldRequin.StatutCons.ToString() + ".png";
nameReqOld.Text = oldRequin.Nom;
sciNameOld.Text = oldRequin.NomSci;
descOld.Text = oldRequin.Description;
vidOld.Source = new Uri(oldRequin.Video, UriKind.Relative);
photoOld.Source = new BitmapImage(new Uri(oldRequin.Photo, UriKind.Relative));
funFactOld.Text = oldRequin.FunFact;
consPicOld.Source = new BitmapImage(new Uri(url, UriKind.Relative));
cartePicOld.Source = new BitmapImage(new Uri(oldRequin.PhotoCarte, UriKind.Relative));
}
private void remplacer_Click(object sender, RoutedEventArgs e)
{
Mgr.ModifieRequin(requinOld, requin);
Mgr.SupprimerRequinEdit(requin);
Close();
}
private void garder_Click(object sender, RoutedEventArgs e)
{
Mgr.SupprimerRequinEdit(requin);
Close();
}
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
}
}
}

@ -44,6 +44,7 @@ namespace WpfApp1
chargerUC(); chargerUC();
} }

@ -7,7 +7,7 @@
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"> d:DesignHeight="450" d:DesignWidth="800">
<DockPanel> <DockPanel>
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left"> <DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
@ -33,8 +33,8 @@
<Image Source="{Binding SelectedRequin.StatutCons}" Margin="15,5,5,5" DockPanel.Dock="Top" HorizontalAlignment="Center" MinHeight="5" MaxHeight="60" x:Name="consPic" ></Image> <Image Source="{Binding SelectedRequin.StatutCons}" Margin="15,5,5,5" DockPanel.Dock="Top" HorizontalAlignment="Center" MinHeight="5" MaxHeight="60" x:Name="consPic" ></Image>
<TextBlock Text="Fun fact" FontSize="20" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,15,0,0" Foreground="{StaticResource Couleur1}" FontFamily="{StaticResource Police2}" ></TextBlock> <TextBlock Text="Fun fact" FontSize="20" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,15,0,0" Foreground="{StaticResource Couleur1}" FontFamily="{StaticResource Police2}" ></TextBlock>
<TextBlock Text="{Binding SelectedRequin.FunFact}" FontSize="12" DockPanel.Dock="Top" TextWrapping="Wrap" Foreground="{StaticResource Couleur1}" Margin="0,5,0,0" TextAlignment="Center" HorizontalAlignment="Center" Width="175" x:Name="funFact"></TextBlock> <TextBlock Text="{Binding SelectedRequin.FunFact}" FontSize="12" DockPanel.Dock="Top" TextWrapping="Wrap" Foreground="{StaticResource Couleur1}" Margin="0,5,0,0" TextAlignment="Center" HorizontalAlignment="Center" Width="175" x:Name="funFact"></TextBlock>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Left" Width="80" Height="50" Content="Valider" Margin="50,20,0,0"/> <Button Style="{StaticResource Button1}" DockPanel.Dock="Left" Width="80" Height="50" Content="Valider" Margin="50,20,0,0" Click="valider_Click" x:Name="valider"/>
<Button Style="{StaticResource Button1}" DockPanel.Dock="Right" Width="80" Height="50" Content="Refuser" Margin="0,20,0,0"/> <Button Style="{StaticResource Button1}" DockPanel.Dock="Right" Width="80" Height="50" Content="Refuser" Margin="0,20,0,0" x:Name="refuser" Click="refuser_Click"/>
</DockPanel> </DockPanel>
</DockPanel> </DockPanel>
</UserControl> </UserControl>

@ -1,4 +1,5 @@
using Modèle; using Business;
using Modèle;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -21,6 +22,9 @@ namespace WpfApp1
/// </summary> /// </summary>
public partial class UCRequinValSubmit : UserControl public partial class UCRequinValSubmit : UserControl
{ {
public Manager Mgr => (Application.Current as App).LeManager;
public UCRequinValSubmit() public UCRequinValSubmit()
{ {
InitializeComponent(); InitializeComponent();
@ -28,11 +32,6 @@ namespace WpfApp1
public void UserControlReq_MouseDown(object sender, MouseButtonEventArgs e)
{
((ValiderSubmit)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(this.requin);
}
private Requin _requin; private Requin _requin;
public Requin requin public Requin requin
{ {
@ -48,14 +47,31 @@ namespace WpfApp1
public void uptadeUi(Requin requin) public void uptadeUi(Requin requin)
{ {
string url = "Images/" + requin.StatutCons.ToString() + ".png";
nameReq.Text = requin.Nom; nameReq.Text = requin.Nom;
sciName.Text = requin.NomSci; sciName.Text = requin.NomSci;
//image.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative)); desc.Text = requin.Description;
vid.Source = new Uri(requin.Video, UriKind.Relative);
photo.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative));
funFact.Text = requin.FunFact;
consPic.Source = new BitmapImage(new Uri(url, UriKind.Relative));
cartePic.Source = new BitmapImage(new Uri(requin.PhotoCarte, UriKind.Relative));
} }
private void exit_Click(object sender, RoutedEventArgs e) private void exit_Click(object sender, RoutedEventArgs e)
{ {
} }
private void valider_Click(object sender, RoutedEventArgs e)
{
Mgr.AjouterRequin(requin);
Mgr.SupprimerRequinAdd(requin);
}
private void refuser_Click(object sender, RoutedEventArgs e)
{
Mgr.SupprimerRequinAdd(requin);
}
} }
} }

@ -5,10 +5,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1" xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" d:DesignHeight="450" d:DesignWidth="800">
MouseDown="UserControlReq_MouseDown"> <ListBoxItem>
<ListBoxItem MouseDown="UserControlReq_MouseDown"> <Border BorderThickness="2" BorderBrush="{StaticResource Couleur2}" CornerRadius="4" Padding="4">
<Border MouseDown="UserControlReq_MouseDown" BorderThickness="2" BorderBrush="{StaticResource Couleur2}" CornerRadius="4" Padding="4">
<Grid MouseDown="UserControlReq_MouseDown" Width="225"> <Grid MouseDown="UserControlReq_MouseDown" Width="225">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -19,8 +18,10 @@
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding SelectedRequin.Nom}" FontFamily="{StaticResource Police2}" MouseDown="UserControlReq_MouseDown" Foreground="{StaticResource Couleur1}" x:Name="nameReq" Margin="0,5,0,0"/> <Image Source="{Binding SelectedRequin.Photo}" Width="100" Height="50" Grid.RowSpan="2" Margin="4" x:Name="image" Stretch="Fill"/>
<TextBlock Grid.Column="1" Grid.Row="1" Text="{Binding SelectedRequin.NomSci}" FontWeight="Thin" MouseDown="UserControlReq_MouseDown" Foreground="{StaticResource Couleur2}" x:Name="sciName"/> <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding SelectedRequin.Nom}" FontFamily="{StaticResource Police2}" Foreground="{StaticResource Couleur1}" x:Name="nameReq" Margin="0,5,0,0"/>
<TextBlock Grid.Column="1" Grid.Row="1" Text="{Binding SelectedRequin.NomSci}" FontWeight="Thin" Foreground="{StaticResource Couleur2}" x:Name="sciName"/>
</Grid> </Grid>
</Border> </Border>
</ListBoxItem> </ListBoxItem>

@ -24,6 +24,7 @@ namespace WpfApp1
public partial class UserControlRequin : UserControl public partial class UserControlRequin : UserControl
{ {
public Manager Mgr => (Application.Current as App).LeManager; public Manager Mgr => (Application.Current as App).LeManager;
public UserControlRequin() public UserControlRequin()
@ -42,11 +43,13 @@ namespace WpfApp1
} }
else if (type == UCrequinType.edit) else if (type == UCrequinType.edit)
{ {
var descEdit = new DescriptionEdit { requin = requin, requinOld = Mgr.GetRequin(requin) };
descEdit.ShowDialog();
} }
else else if (type == UCrequinType.add)
{ {
var descAdd = new DescriptionAdd { requin = requin };
descAdd.ShowDialog();
} }
} }
@ -66,7 +69,7 @@ namespace WpfApp1
{ {
nameReq.Text = requin.Nom; nameReq.Text = requin.Nom;
sciName.Text = requin.NomSci; sciName.Text = requin.NomSci;
//image.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative)); image.Source = new BitmapImage(new Uri(requin.Photo, UriKind.Relative));
} }
} }
} }

@ -1,20 +0,0 @@
<UserControl x:Class="WpfApp1.UserControlValidation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<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>
</DockPanel>
<ListBox Background="White" x:Name="laListe" DockPanel.Dock="Left"/>
<ContentControl DockPanel.Dock="Right"/>
</DockPanel>
</Grid>
</UserControl>

@ -1,47 +0,0 @@
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
{
/// <summary>
/// Logique d'interaction pour UserControlValidation.xaml
/// </summary>
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)
{
}
}
}

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1" xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d" mc:Ignorable="d"
Title="ValiderSubmit" Height="450" Width="800"> Title="ValiderSubmit" Height="550" Width="1100">
<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" Foreground="{StaticResource Couleur2}"/> <TextBlock Text="VALIDATION DES SUBMITS" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20" FontSize="30" FontWeight="Bold" Foreground="{StaticResource Couleur2}"/>

@ -26,18 +26,27 @@ namespace WpfApp1
public ManagerAddEdit MgrAddEdit => (Application.Current as App).LeManagerAddEdit; public Manager Mgr => (Application.Current as App).LeManager;
public ValiderSubmit() public ValiderSubmit()
{ {
InitializeComponent(); InitializeComponent();
MgrAddEdit.LoadRequins(); Mgr.RequinsEdit.CollectionChanged += RequinsEdit_CollectionChanged;
Mgr.RequinsAdd.CollectionChanged += RequinsAdd_CollectionChanged;
DataContext = MgrAddEdit; ChargerUCAdd();
ChargerUCEdit();
}
chargerUC(); private void RequinsAdd_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
ChargerUCAdd();
}
private void RequinsEdit_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
ChargerUCEdit();
} }
private void exit_Click(object sender, RoutedEventArgs e) private void exit_Click(object sender, RoutedEventArgs e)
@ -45,22 +54,22 @@ namespace WpfApp1
Close(); Close();
} }
public void chargerUC() public void ChargerUCAdd()
{ {
foreach (Requin req in MgrAddEdit.RequinsAdd) foreach (Requin req in Mgr.RequinsAdd)
{ {
laListeAdd.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) }
public void ChargerUCEdit()
{
foreach (Requin req in Mgr.RequinsEdit)
{ {
laListeEdit.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 };
}
private void addShark_Click(object sender, RoutedEventArgs e) private void addShark_Click(object sender, RoutedEventArgs e)
{ {

Loading…
Cancel
Save