Mathilde JEAN 3 years ago
commit 84dd4fdaa9

@ -34,10 +34,7 @@ namespace Business
{
requins.Clear();
requins.AddRange(Pers.LoadRequins());
if (requins.Count > 0)
{
SelectedRequin = requins.First();
}
SelectedRequin = null;
}
public void SaveRequins()
@ -81,6 +78,39 @@ namespace Business
return true;
}
public List<Requin> rechercherRequins(ReadOnlyCollection<Requin> lRech, Nullable<Zone> zone, string motif)
{
List<Requin> nvReq = new List<Requin>();
int test = 0;
if (!string.IsNullOrWhiteSpace(motif))
{
foreach (Requin req in lRech)
{
if (zone == null)
{
if (req.Nom.Contains(motif) || req.NomSci.Contains(motif))
{
nvReq.Add(req);
}
}
else
{
foreach (Zone z in req.Repartition)
{
if ((req.Nom.Contains(motif) || req.NomSci.Contains(motif)) && zone == z)
{
test++;
}
}
if (test > 0)
{
nvReq.Add(req);
}
}
test = 0;
}
}
return nvReq;
}
}
}

@ -0,0 +1,103 @@
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; private 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));
}
}
}

@ -34,10 +34,7 @@ namespace Business
{
utilisateurs.Clear();
utilisateurs.AddRange(Pers.LoadUsers());
if (utilisateurs.Count > 0)
{
SelectedUser = utilisateurs.First();
}
SelectedUser = null;
}
public void SaveUsers()

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Modèle
{
public enum UCrequinType
{
normal,
edit,
add,
}
}

@ -11,8 +11,16 @@ namespace Persistance
{
List<Requin> LoadRequins();
void SaveRequins(List<Requin> reqs);
List<Requin> LoadRequinsEdit();
void SaveRequinsEdit(List<Requin> reqs);
List<Requin> LoadRequinsAdd();
void SaveRequinsAdd(List<Requin> reqs);
List<Personne> LoadUsers();
void SaveUsers(List<Personne> reqs);
void SaveUsers(List<Personne> pers);
}
}

@ -9,6 +9,8 @@ namespace StubLib
{
private List<Requin> requins = new List<Requin>();
private List<Requin> requinsEdit = new List<Requin>();
private List<Requin> requinsAdd = new List<Requin>();
private List<Personne> utilisateurs = new List<Personne>();
@ -20,7 +22,9 @@ namespace StubLib
requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Images/Dormeur-Mexicain.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EW, zone, "(C'est pas un vrai requin)"));
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"));
utilisateurs.Add(new Utilisateur("a", "salut"));
utilisateurs.Add(new Expert("salut", "hey", "bob"));
// Utilisateurs
}
@ -35,6 +39,26 @@ namespace StubLib
requins = reqs;
}
public List<Requin> LoadRequinsAdd()
{
return new List<Requin>(requinsAdd);
}
public void SaveRequinsAdd(List<Requin> reqs)
{
requins = reqs;
}
public List<Requin> LoadRequinsEdit()
{
return new List<Requin>(requinsEdit);
}
public void SaveRequinsEdit(List<Requin> reqs)
{
requinsEdit = reqs;
}
public List<Personne> LoadUsers()
{
return new List<Personne>(utilisateurs);

@ -25,12 +25,13 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<local:UserControlBoite Grid.Column="0" Grid.Row="0" Message="Nom"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="1" Message="Nom scientifique"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="2" Message="Lien de la photo"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="3" Message="Lien de la vidéo"/>
<local:UserControlBoite Grid.Column="1" Grid.Row="0" Message="Lien de la map"/>
<local:UserControlBoite Grid.Column="1" Grid.Row="1" Message="Fun fact (optionnel)"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="0" Message="Nom" x:Name="name"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="1" Message="Nom scientifique" x:Name="sciName"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="2" Message="Description" x:Name="desc"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="3" Message="Lien de la photo" x:Name="lienPhoto"/>
<local:UserControlBoite Grid.Column="0" Grid.Row="4" Message="Lien de la vidéo" x:Name="lienVid"/>
<local:UserControlBoite Grid.Column="1" Grid.Row="0" Message="Lien de la map" x:Name="lienMap"/>
<local:UserControlBoite Grid.Column="1" Grid.Row="1" Message="Fun fact (optionnel)" x:Name="funny"/>
<Grid Grid.Column="1" Grid.Row="2" ShowGridLines="True" Width="320" Height="19" VerticalAlignment="Top" Background="{StaticResource Couleur2}">
<Grid.RowDefinitions>
<RowDefinition/>
@ -46,10 +47,10 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox Content="Océan Atlantique" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="40,0,0,0"/>
<CheckBox Content="Océan Arctique" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Margin="0,0,20,0"/>
<CheckBox Content="Océan Indien" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="40,0,0,0"/>
<CheckBox Content="Océan Pacifique" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" Margin="0,0,20,0"/>
<CheckBox Content="Océan Atlantique" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="40,0,0,0" x:Name="Atla"/>
<CheckBox Content="Océan Arctique" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Margin="0,0,20,0" x:Name="Arct"/>
<CheckBox Content="Océan Indien" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="40,0,0,0" x:Name="Indi"/>
<CheckBox Content="Océan Pacifique" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" Margin="0,0,20,0" x:Name="Paci"/>
</Grid>
<Grid Grid.Column="1" Grid.Row="3" ShowGridLines="True" Width="320" Height="19" VerticalAlignment="Top" Background="{StaticResource Couleur2}" Margin="40,0,40,0">
@ -58,8 +59,8 @@
</Grid.RowDefinitions>
<TextBlock Text="Conservation" HorizontalAlignment="Center" Grid.Row="0" Foreground="{StaticResource Couleur3}"/>
</Grid>
<Grid Grid.Column="1" Grid.Row="3" Margin="40,19,40,0" Width="320" Background="White">
<Grid.ColumnDefinitions>
<Grid x:Name="radio" Grid.Column="1" Grid.Row="3" Margin="40,19,40,0" Width="320" Background="White">
<Grid.ColumnDefinitions >
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
@ -71,17 +72,17 @@
<RowDefinition/>
</Grid.RowDefinitions>
<RadioButton Style="{StaticResource RadioGaga}" Content="EX" Grid.Column="0" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EW" Grid.Column="1" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="CR" Grid.Column="2" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EN" Grid.Column="3" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VU" Grid.Column="4" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VN" Grid.Column="0" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="LC" Grid.Column="1" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="DD" Grid.Column="2" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NE" Grid.Column="3" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EX" Grid.Column="0" Grid.Row="0" x:Name="ex"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EW" Grid.Column="1" Grid.Row="0" x:Name="ew"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="CR" Grid.Column="2" Grid.Row="0" x:Name="cr"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EN" Grid.Column="3" Grid.Row="0" x:Name="en"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VU" Grid.Column="4" Grid.Row="0" x:Name="vu"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NT" Grid.Column="0" Grid.Row="1" x:Name="nt"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="LC" Grid.Column="1" Grid.Row="1" x:Name="lc"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="DD" Grid.Column="2" Grid.Row="1" x:Name="dd"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NE" Grid.Column="3" Grid.Row="1" x:Name="ne"/>
</Grid>
<Button Style="{StaticResource Button1}" Grid.Column="1" Grid.Row="5" Content="Submit" Margin="15" Width="100"/>
<Button Style="{StaticResource Button1}" Grid.Column="1" Grid.Row="5" Content="Submit" Margin="15" Width="100" x:Name="submit" Click="submit_Click"/>
</Grid>
</DockPanel>
</DockPanel>

@ -11,6 +11,8 @@ using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Business;
using Modèle;
namespace WpfApp1
{
@ -22,11 +24,115 @@ namespace WpfApp1
public AddAShark()
{
InitializeComponent();
Manager.LoadRequins();
DataContext = Manager;
}
public Manager Manager => (Application.Current as App).LeManager;
public ManagerAddEdit ManagerAddEdit => (Application.Current as App).LeManagerAddEdit;
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
}
private void submit_Click(object sender, RoutedEventArgs e)
{
int testCons = 0;
Conservation cons = new Conservation();
List<Zone> lesZones = new List<Zone>();
string nom = name.LeContenu.Text;
string sciNam = sciName.LeContenu.Text;
string descri = desc.LeContenu.Text;
string photo = lienPhoto.LeContenu.Text;
string video = lienVid.LeContenu.Text;
string map = lienMap.LeContenu.Text;
string fun = funny.LeContenu.Text;
if (ex.IsChecked==true)
{
cons = Conservation.EX;
testCons++;
}
else if (ew.IsChecked == true)
{
cons = Conservation.EW;
testCons++;
}
else if (cr.IsChecked == true)
{
cons = Conservation.CR;
testCons++;
}
else if (en.IsChecked == true)
{
cons = Conservation.EN;
testCons++;
}
else if (vu.IsChecked == true)
{
cons = Conservation.VU;
testCons++;
}
else if (nt.IsChecked == true)
{
cons = Conservation.NT;
testCons++;
}
else if (lc.IsChecked == true)
{
cons = Conservation.LC;
}
else if (dd.IsChecked == true)
{
cons = Conservation.DD;
testCons++;
}
else if (ne.IsChecked == true)
{
cons = Conservation.NE;
testCons++;
}
if (Arct.IsChecked == true)
{
lesZones.Add(Zone.ARCTIQUE);
}
if (Atla.IsChecked == true)
{
lesZones.Add(Zone.ATLANTIQUE);
}
if (Indi.IsChecked == true)
{
lesZones.Add(Zone.INDIEN);
}
if (Paci.IsChecked == true)
{
lesZones.Add(Zone.PACIFIQUE);
}
if (testCons == 0 || lesZones.Count() == 0 || string.IsNullOrWhiteSpace(nom) || string.IsNullOrWhiteSpace(sciNam) || string.IsNullOrWhiteSpace(descri)
|| string.IsNullOrWhiteSpace(photo) || string.IsNullOrWhiteSpace(video) || string.IsNullOrWhiteSpace(map) || string.IsNullOrWhiteSpace(fun))
{
return;
}
else
{
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
ManagerAddEdit.AjouterRequinAdd(requin);
Close();
}
}
}
}

@ -16,7 +16,9 @@ namespace WpfApp1
public partial class App : Application
{
public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub());
public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub());
public ManagerAddEdit LeManagerAddEdit { get; private set; } = new ManagerAddEdit(new StubLib.Stub());
public void Temp()
{
var mw = MainWindow as MainWindow;

@ -22,14 +22,14 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<local:UserControlBoite Grid.Row="0" Message="Email" Margin="0,15,0,0"/>
<local:UserControlBoite Grid.Row="0" Message="Email" Margin="0,15,0,0" x:Name="email"/>
<Grid Grid.Row="1" Margin="0,15,0,15">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Mot de passe" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}" x:Name="mdp" />
</Grid>
<Grid Grid.Row="2" Margin="0,15,0,15">
<Grid.RowDefinitions>
@ -37,9 +37,9 @@
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Confirmer le mot de passe" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}" x:Name="reMdp"/>
</Grid>
<Button Grid.Row="3" Style="{StaticResource Button1}" Width="90" Height="30" Content="Inscription" Margin="0,0,0,20"/>
<Button Grid.Row="3" Style="{StaticResource Button1}" Width="90" Height="30" Content="Inscription" Margin="0,0,0,20" x:Name="inscription" Click="inscription_Click"/>
<TextBlock Grid.Row="4" Text="Vous avez déjà rejoint le gang des requins ?" TextWrapping="Wrap" TextAlignment="Center" Foreground="{StaticResource Couleur3}"/>
<Button Style="{StaticResource Button1}" Grid.Row="4" Width="80" Height="20" Content="Se connecter" x:Name="Connection" Click="Connection_Click"/>
</Grid>

@ -1,4 +1,6 @@
using System;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -24,6 +26,8 @@ namespace WpfApp1
InitializeComponent();
}
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
@ -35,5 +39,29 @@ namespace WpfApp1
Close();
connectWindow.ShowDialog();
}
private void inscription_Click(object sender, RoutedEventArgs e)
{
string mail = email.LeContenu.Text;
string password = mdp.Password;
string conf = reMdp.Password;
if (password != conf)
{
MessageBox.Show("Les mots de passe doivent être identiques");
}
else
{
Utilisateur user = new Utilisateur(mail, password);
if (MgrUser.AjouterUtilisateur(user))
{
MgrUser.SelectedUser = user;
Close();
}
else
{
MessageBox.Show("Cet utilisateur existe déjà");
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

@ -28,7 +28,7 @@
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Email" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<TextBlock Text="poutou@etu.uca.fr" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White"/>
<TextBlock Text="poutou@etu.uca.fr" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White" x:Name="email"/>
</Grid>
<Grid Grid.Row="1" Margin="0,15,0,15">
<Grid.RowDefinitions>
@ -36,19 +36,19 @@
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Mot de passe" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<TextBlock Text="**********" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White"/>
<TextBlock Text="**********" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White" x:Name="mdp"/>
</Grid>
<Grid Grid.Row="2" Margin="0,15,0,15">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Nombre de submits" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<TextBlock Text="86" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White"/>
<TextBlock x:Name="mess" Text="Nombre de submits" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<TextBlock Text="86" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur1}" Background="White" x:Name="surnombre"/>
</Grid>
<TextBlock Text="Merci pour votre contribution ! Jawsome !" Grid.Row="2" HorizontalAlignment="Center" Margin="0,55,0,0" Foreground="{StaticResource Couleur3}"/>
<Button Style="{StaticResource Button1}" Grid.Row="3" Width="150" Height="20" Content="Changer le mot de passe"/>
<Button Grid.Row="4" Style="{StaticResource Button1}" Width="80" Height="30" Content="Déconnexion"/>
<Button Grid.Row="4" Style="{StaticResource Button1}" Width="80" Height="30" Content="Déconnexion" x:Name="deco" Click="deco_Click"/>
</Grid>
</DockPanel>

@ -1,4 +1,6 @@
using System;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -19,14 +21,55 @@ namespace WpfApp1
/// </summary>
public partial class InfoUtilisateur : Window
{
public InfoUtilisateur()
{
InitializeComponent();
}
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
private Personne _pers;
public Personne pers
{
get { return _pers; }
set
{
_pers = value;
UpdateUi(_pers);
}
}
private void UpdateUi(Personne pers)
{
mdp.Text = "";
email.Text = pers.Email;
for (int i = 0; i < pers.MotDePasse.Length; i++)
{
mdp.Text = mdp.Text + "*";
}
if (MgrUser.SelectedUser is Utilisateur user)
{
surnombre.Text = user.NbSubmit.ToString();
}
else if (MgrUser.SelectedUser is Expert alex)
{
mess.Text = "Surnom";
surnombre.Text = alex.Surnom;
}
}
private void exit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
}
private void deco_Click(object sender, RoutedEventArgs e)
{
Close();
MgrUser.SelectedUser = null;
}
}
}

@ -28,6 +28,7 @@ namespace WpfApp1
public partial class MainWindow : Window
{
public Manager Mgr => (Application.Current as App).LeManager;
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
Nullable<Zone> zonePage{ get; set; }
@ -37,13 +38,12 @@ namespace WpfApp1
Mgr.LoadRequins();
MgrUser.LoadUsers();
DataContext = Mgr;
chargerUC();
List<Zone> zones = new List<Zone> { Zone.ATLANTIQUE, Zone.ARCTIQUE };
//uc1.requin = new Requin("Bob le bricoleur", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
// uc2.requin = new Requin("Requin Dormeur Mexdzdqzdicain", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
}
@ -121,9 +121,9 @@ namespace WpfApp1
public void chargerUC()
{
viderListBox();
foreach(Requin req in Mgr.Requins)
foreach (Requin req in Mgr.Requins)
{
laListe.Items.Add(new UserControlRequin { requin = req });
laListe.Items.Add(new UserControlRequin { requin = req , type = UCrequinType.normal }) ;
}
}
@ -160,38 +160,19 @@ namespace WpfApp1
}
private void Rechercher_KeyUp(object sender, KeyEventArgs e)
{
viderListBox();
List<Requin> nvReq = new List<Requin>();
string rech = Rechercher.Text;
int test = 0;
if (!string.IsNullOrWhiteSpace(rech))
{
foreach (Requin req in Mgr.Requins)
nvReq = Mgr.rechercherRequins(Mgr.Requins, zonePage, rech);
foreach(Requin req in nvReq)
{
if (zonePage == null)
{
if (req.Nom.Contains(rech) || req.NomSci.Contains(rech))
{
laListe.Items.Add((new UserControlRequin { requin = req }));
}
}
else
{
foreach (Zone z in req.Repartition)
{
if ((req.Nom.Contains(rech) || req.NomSci.Contains(rech)) && zonePage==z)
{
test++;
}
}
if (test > 0)
{
laListe.Items.Add((new UserControlRequin { requin = req }));
}
}
test = 0;
laListe.Items.Add(new UserControlRequin { requin = req });
}
}
else

@ -21,16 +21,16 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<local:UserControlBoite Grid.Row="0" Message="Email" Margin="0,15,0,0"/>
<local:UserControlBoite Grid.Row="0" Message="Email" Margin="0,15,0,0" x:Name="mail"/>
<Grid Grid.Row="1" Margin="0,15,0,15">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="Mot de passe" FontSize="12" FontFamily="{StaticResource Police2}" Height="30" MaxWidth="400" Foreground="{StaticResource Couleur3}" TextAlignment="Center" Background="{StaticResource Couleur2}" Grid.Row="0"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}"/>
<PasswordBox Grid.Row="1" Height="30" MaxWidth="400" BorderBrush="{StaticResource Couleur3}" x:Name="mdp"/>
</Grid>
<Button Grid.Row="2" Style="{StaticResource Button1}" Width="80" Height="30" Content="Connexion" Margin="0,0,0,30"/>
<Button Grid.Row="2" Style="{StaticResource Button1}" Width="80" Height="30" Content="Connexion" Margin="0,0,0,30" x:Name="connect" Click="connect_Click"/>
<TextBlock Grid.Row="3" Text="Vous n'avez pas encore rejoint le gang des requins ?" TextWrapping="Wrap" TextAlignment="Center" Foreground="{StaticResource Couleur3}"/>
<Button Style="{StaticResource Button1}" Grid.Row="3" Width="70" Height="20" Content="S'inscrire" x:Name="Inscription" Click="Inscription_Click"/>
</Grid>

@ -1,4 +1,6 @@
using System;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -19,9 +21,14 @@ namespace WpfApp1
/// </summary>
public partial class SeConnecter : Window
{
public ManagerUsers Mgr => (Application.Current as App).LeManagerUser;
public SeConnecter()
{
InitializeComponent();
Mgr.LoadUsers();
DataContext = Mgr;
}
private void exit_Click(object sender, RoutedEventArgs e)
@ -35,5 +42,26 @@ namespace WpfApp1
Close();
inscrireWindow.ShowDialog();
}
private void connect_Click(object sender, RoutedEventArgs e)
{
string email = mail.LeContenu.Text;
string password = mdp.Password;
if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(password))
{
MessageBox.Show("Veuillez remplir toutes les cases");
return;
}
foreach(Personne p in Mgr.Utilisateurs)
{
if (p.Email==email && password == p.MotDePasse)
{
Mgr.SelectedUser = p;
Close();
return;
}
}
MessageBox.Show("L'Email ou le mot de passe est incorrect");
}
}
}

@ -47,10 +47,10 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox Content="Océan Atlantique" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="40,0,0,0"/>
<CheckBox Content="Océan Arctique" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Margin="0,0,20,0"/>
<CheckBox Content="Océan Indien" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="40,0,0,0"/>
<CheckBox Content="Océan Pacifique" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" Margin="0,0,20,0"/>
<CheckBox Content="Océan Atlantique" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="40,0,0,0" x:Name="Atla"/>
<CheckBox Content="Océan Arctique" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Margin="0,0,20,0" x:Name="Arct"/>
<CheckBox Content="Océan Indien" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="40,0,0,0" x:Name="Indi"/>
<CheckBox Content="Océan Pacifique" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" Margin="0,0,20,0" x:Name="Paci"/>
</Grid>
@ -74,18 +74,18 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<RadioButton Style="{StaticResource RadioGaga}" Content="EX" Grid.Column="0" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EW" Grid.Column="1" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="CR" Grid.Column="2" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EN" Grid.Column="3" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VU" Grid.Column="4" Grid.Row="0"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VN" Grid.Column="0" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="LC" Grid.Column="1" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="DD" Grid.Column="2" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NE" Grid.Column="3" Grid.Row="1"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EX" Grid.Column="0" Grid.Row="0" x:Name="ex"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EW" Grid.Column="1" Grid.Row="0" x:Name="ew"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="CR" Grid.Column="2" Grid.Row="0" x:Name="cr"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="EN" Grid.Column="3" Grid.Row="0" x:Name="en"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="VU" Grid.Column="4" Grid.Row="0" x:Name="vu"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NT" Grid.Column="0" Grid.Row="1" x:Name="nt"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="LC" Grid.Column="1" Grid.Row="1" x:Name="lc"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="DD" Grid.Column="2" Grid.Row="1" x:Name="dd"/>
<RadioButton Style="{StaticResource RadioGaga}" Content="NE" Grid.Column="3" Grid.Row="1" x:Name="ne"/>
</Grid>
<Button Style="{StaticResource Button1}" Grid.Column="2" Grid.Row="4" Content="Submit" Margin="150,15,150,15" Width="100"/>
<Button Style="{StaticResource Button1}" Grid.Column="2" Grid.Row="4" Content="Submit" Margin="150,15,150,15" Width="100" x:Name="submit" Click="submit_Click"/>
</Grid>
</DockPanel>
</DockPanel>

@ -25,11 +25,14 @@ namespace WpfApp1
public UserControlEdit()
{
InitializeComponent();
Manager.LoadRequins();
DataContext = Manager;
}
public Manager Manager => (Application.Current as App).LeManager;
public ManagerUsers ManagerUser => (Application.Current as App).LeManagerUser;
private Requin _requin;
public Requin requin
@ -55,13 +58,150 @@ namespace WpfApp1
LienVid.Contenu = requin.Video;
LienMap.Contenu = requin.PhotoCarte;
funFact.Contenu = requin.FunFact;
if (requin.StatutCons == Conservation.EX)
{
ex.IsChecked = true;
}
else if (requin.StatutCons == Conservation.EW)
{
ew.IsChecked = true;
}
else if (requin.StatutCons == Conservation.CR)
{
cr.IsChecked = true;
}
else if (requin.StatutCons == Conservation.EN)
{
en.IsChecked = true;
}
else if (requin.StatutCons == Conservation.VU)
{
vu.IsChecked = true;
}
else if (requin.StatutCons == Conservation.NT)
{
nt.IsChecked = true;
}
else if (requin.StatutCons == Conservation.LC)
{
lc.IsChecked = true;
}
else if (requin.StatutCons == Conservation.DD)
{
dd.IsChecked = true;
}
else if (requin.StatutCons == Conservation.NE)
{
ne.IsChecked = true;
}
foreach (Zone z in requin.Repartition)
{
if (z == Zone.ATLANTIQUE)
{
Atla.IsChecked = true;
}
if (z == Zone.ARCTIQUE)
{
Arct.IsChecked = true;
}
if (z == Zone.INDIEN)
{
Indi.IsChecked = true;
}
if (z == Zone.PACIFIQUE)
{
Paci.IsChecked = true;
}
}
}
private void exit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
private void submit_Click(object sender, RoutedEventArgs e)
{
List<Zone> lesZones = new List<Zone>();
Conservation cons = new Conservation();
string nom = leNom.LeContenu.Text;
string sciNam = nomSci.LeContenu.Text;
string descri = desc.LeContenu.Text;
string photo = LienPhoto.LeContenu.Text;
string video = LienVid.LeContenu.Text;
string map = LienMap.LeContenu.Text;
string fun = funFact.LeContenu.Text;
if (ex.IsChecked == true)
{
cons = Conservation.EX;
}
else if (ew.IsChecked == true)
{
cons = Conservation.EW;
}
else if (cr.IsChecked == true)
{
cons = Conservation.CR;
}
else if (en.IsChecked == true)
{
cons = Conservation.EN;
}
else if (vu.IsChecked == true)
{
cons = Conservation.VU;
}
else if (nt.IsChecked == true)
{
cons = Conservation.NT;
}
else if (lc.IsChecked == true)
{
cons = Conservation.LC;
}
else if (dd.IsChecked == true)
{
cons = Conservation.DD;
}
else if (ne.IsChecked == true)
{
cons = Conservation.NE;
}
if (Arct.IsChecked == true)
{
lesZones.Add(Zone.ARCTIQUE);
}
if (Atla.IsChecked == true)
{
lesZones.Add(Zone.ATLANTIQUE);
}
if (Indi.IsChecked == true)
{
lesZones.Add(Zone.INDIEN);
}
if (Paci.IsChecked == true)
{
lesZones.Add(Zone.PACIFIQUE);
}
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
foreach (Requin req in Manager.Requins)
{
if (req.Equals(requin))
{
Manager.ModifieRequin(req, requin);
break;
}
}
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
}
}

@ -1,4 +1,5 @@
using Modèle;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
@ -22,6 +23,9 @@ namespace WpfApp1
/// </summary>
public partial class UserControlRequin : UserControl
{
public Manager Mgr => (Application.Current as App).LeManager;
public UserControlRequin()
{
InitializeComponent();
@ -31,7 +35,19 @@ namespace WpfApp1
public void UserControlReq_MouseDown(object sender, MouseButtonEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(this.requin);
Mgr.SelectedRequin = requin;
if (type == UCrequinType.normal)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
else if (type == UCrequinType.edit)
{
}
else
{
}
}
private Requin _requin;
@ -44,7 +60,7 @@ namespace WpfApp1
}
}
public UCrequinType type;
public void uptadeUi(Requin requin)
{

@ -0,0 +1,20 @@
<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>

@ -0,0 +1,47 @@
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)
{
}
}
}

@ -24,13 +24,16 @@ namespace WpfApp1
public partial class ValiderSubmit : Window
{
public Manager Mgr => (Application.Current as App).LeManager;
public ManagerAddEdit MgrAddEdit => (Application.Current as App).LeManagerAddEdit;
public ValiderSubmit()
{
InitializeComponent();
Mgr.LoadRequins();
DataContext = Mgr;
MgrAddEdit.LoadRequins();
DataContext = MgrAddEdit;
chargerUC();
@ -44,9 +47,13 @@ namespace WpfApp1
public void chargerUC()
{
foreach (Requin req in Mgr.Requins)
foreach (Requin req in MgrAddEdit.RequinsAdd)
{
laListe.Items.Add(new UserControlRequin { requin = req, type=UCrequinType.add });
}
foreach (Requin req in MgrAddEdit.RequinsEdit)
{
laListe.Items.Add(new UserControlRequin { requin = req });
laListe.Items.Add(new UserControlRequin { requin = req, type = UCrequinType.edit });
}
}

@ -1,4 +1,6 @@
using System;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -20,6 +22,8 @@ namespace WpfApp1
/// </summary>
public partial class userControlAcceuil : UserControl
{
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
public userControlAcceuil()
{
InitializeComponent();
@ -35,14 +39,37 @@ namespace WpfApp1
private void add_Click(object sender, RoutedEventArgs e)
{
var addSharkWindow = new ValiderSubmit();
addSharkWindow.ShowDialog();
if (MgrUser.SelectedUser == null)
{
MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
var seConnecter = new SeConnecter();
seConnecter.ShowDialog();
}
else if (MgrUser.SelectedUser is Utilisateur)
{
var addSharkWindow = new AddAShark();
addSharkWindow.ShowDialog();
}
else if (MgrUser.SelectedUser is Expert)
{
var validerSumbit = new ValiderSubmit();
validerSumbit.ShowDialog();
}
}
private void Inscription_Click(object sender, RoutedEventArgs e)
{
var inscrireWindow = new CreerCompte();
inscrireWindow.ShowDialog();
if (MgrUser.SelectedUser == null)
{
var inscrireWindow = new CreerCompte();
inscrireWindow.ShowDialog();
}
else
{
var infoUser = new InfoUtilisateur{ pers = MgrUser.SelectedUser };
infoUser.ShowDialog();
}
}
}
}

@ -1,4 +1,5 @@
using Modèle;
using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
@ -25,6 +26,8 @@ namespace WpfApp1
{
InitializeComponent();
}
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;
public Requin requin
@ -42,11 +45,21 @@ namespace WpfApp1
private void exit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
Mgr.SelectedRequin = null;
}
private void edit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(this.requin);
if (MgrUser.SelectedUser == null)
{
MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
var seConnecter = new SeConnecter();
seConnecter.ShowDialog();
}
else
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(requin);
}
}

Loading…
Cancel
Save