Utilisation des fonctions des users plutot que de le faire dans les fichier xaml

master
thchazot1 3 years ago
parent 8b2b30512e
commit 527416946d

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
@ -99,5 +100,10 @@ namespace Modèle
{
return Email == e.Email;
}
public override void AjouterRequin(Requin req, ObservableCollection<Requin> requins)
{
requins.Add(req);
}
}
}

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
@ -22,5 +23,7 @@ namespace Modèle
}
public abstract override string ToString();
public abstract void AjouterRequin(Requin req, ObservableCollection<Requin> requins);
}
}

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
@ -25,55 +26,18 @@ namespace Modèle
{
return Email + " " + MotDePasse + " " + NbSubmit;
}
public int FaireUnSubmit(string nom, string nomSci, string desc, string photo, string video, string photoCarte, Conservation cons, List<Zone> rep, string funFact, List<Requin> lBdPasFinie)
{
Requin petitNouveau = new Requin(nom, nomSci, desc, photo, video, photoCarte, cons, rep, funFact);
lBdPasFinie.Add(petitNouveau);
NbSubmit++;
return 1;
}
public void FaireUnChangement(Requin req, string desc, string photo, string video, string photoCarte, Conservation cons, List<Zone> rep, string funFact, List<Requin> lBdPasFinie){
if (string.IsNullOrWhiteSpace(desc))
{
desc = req.Description;
}
if (string.IsNullOrWhiteSpace(photo))
{
photo = req.Photo;
}
if (string.IsNullOrWhiteSpace(video))
{
video = req.Video;
}
if (string.IsNullOrWhiteSpace(photoCarte))
{
photoCarte = req.PhotoCarte;
}
if (cons == Conservation.NE)
{
cons = req.StatutCons;
}
if (string.IsNullOrWhiteSpace(funFact))
{
funFact = req.FunFact;
}
if (rep.Count() == 0)
{
foreach (Zone z in req.Repartition)
{
rep.Add(z);
}
}
Requin requin = new Requin(req.Nom, req.NomSci, desc, photo, video, photoCarte, cons, rep, funFact);
lBdPasFinie.Add(requin);
NbSubmit++;
}
public bool Equals(Utilisateur u)
{
return Email == u.Email;
}
public override void AjouterRequin(Requin req, ObservableCollection<Requin> requins)
{
requins.Add(req);
NbSubmit++;
}
}
}

@ -24,13 +24,13 @@ namespace WpfApp1
public AddAShark()
{
InitializeComponent();
Mgr.LoadRequins();
DataContext = Mgr;
}
public Manager Mgr => (Application.Current as App).LeManager;
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
private List<Conservation> consList = new List<Conservation>
@ -111,13 +111,22 @@ namespace WpfApp1
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))
{
MessageBox.Show("Veuillez remplir toutes les informations");
return;
}
else
{
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
Mgr.AjouterRequinAdd(requin);
if (MgrUser.SelectedUser is Utilisateur user)
{
user.AjouterRequin(requin, Mgr.RequinsAdd);
}
else if (MgrUser.SelectedUser is Expert exp)
{
exp.AjouterRequin(requin, Mgr.RequinsAdd);
}
Close();
}
}

@ -2,7 +2,9 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
StartupUri="MainWindow.xaml">
StartupUri="MainWindow.xaml"
Deactivated="Application_Deactivated"
Activated="Application_Activated">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

@ -22,24 +22,23 @@ namespace WpfApp1
public Manager LeManager { get; private set; } = new Manager(strat);
public ManagerUsers LeManagerUsers { get; private set; } = new ManagerUsers(strat);
public App()
public void Temp()
{
var dataReq = strat.LoadRequins();
var dataUsers = strat.LoadUsers();
var users = dataUsers.users;
var experts = dataUsers.experts;
var requins = dataReq.reqs;
var requinsAdd = dataReq.reqsAdd;
var requinsEdit = dataReq.reqsEdit;
strat.SaveRequins(requins, requinsAdd, requinsEdit);
strat.SaveUsers(users, experts);
var mw = MainWindow as MainWindow;
}
public void Temp()
private void Application_Activated(object sender, EventArgs e)
{
var mw = MainWindow as MainWindow;
LeManager.LoadRequins();
LeManagerUsers.LoadUsers();
}
private void Application_Deactivated(object sender, EventArgs e)
{
LeManager.SaveRequins();
LeManagerUsers.SaveUsers();
}
}
}

@ -13,7 +13,7 @@
<Image Source="Images\cross.png" />
</Button>
</Grid>
<DockPanel DockPanel.Dock="Right">
<DockPanel DockPanel.Dock="Left">
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid>
<Grid.ColumnDefinitions>
@ -35,15 +35,15 @@
<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">
<DockPanel Background="{StaticResource Couleur3}" DockPanel.Dock="Right" Width="300">
<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"/>
<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 DockPanel.Dock="Left">
<DockPanel DockPanel.Dock="Right">
<DockPanel Style="{StaticResource Docky}" DockPanel.Dock="Left" Width="500">
<Grid>
<Grid.ColumnDefinitions>
@ -70,7 +70,7 @@
<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"/>
<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>

@ -62,7 +62,7 @@ namespace WpfApp1
private void exit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
Close();
}
private void deco_Click(object sender, RoutedEventArgs e)

@ -34,11 +34,9 @@ namespace WpfApp1
public MainWindow()
{
InitializeComponent();
Mgr.LoadRequins();
MgrUser.LoadUsers();
InitializeComponent();
DataContext = Mgr;

@ -1,113 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<DataToPersistReq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Persistance">
<Requins xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le">
<d2p1:Requin>
<d2p1:Description>wow il est trop bo</d2p1:Description>
<d2p1:FunFact>(C'est pas un vrai requin)</d2p1:FunFact>
<d2p1:Nom>mon requin adoré</d2p1:Nom>
<d2p1:NomSci>trop cool ce requin</d2p1:NomSci>
<d2p1:Photo>Images/Dormeur-Mexicain.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>ATLANTIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EW</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
<d2p1:Requin>
<d2p1:Description>C'est un requin ultra banal</d2p1:Description>
<d2p1:FunFact>Il est pas aussi banal qu'il en a l'air</d2p1:FunFact>
<d2p1:Nom>Banane</d2p1:Nom>
<d2p1:NomSci>Le requin banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>ATLANTIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>LC</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-Requin-Blanc.mp4</d2p1:Video>
</d2p1:Requin>
<d2p1:Requin>
<d2p1:Description>C'est un requin pas ultra banal</d2p1:Description>
<d2p1:FunFact>Il est vraiment pas banal</d2p1:FunFact>
<d2p1:Nom>Req1</d2p1:Nom>
<d2p1:NomSci>Le requin pas banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>PACIFIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EX</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
</Requins>
<RequinsAdd xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le">
<d2p1:Requin>
<d2p1:Description>C'est un requin pas ultra banal</d2p1:Description>
<d2p1:FunFact>Il est vraiment pas banal</d2p1:FunFact>
<d2p1:Nom>leRequinAjouté</d2p1:Nom>
<d2p1:NomSci>Le requin pas banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>PACIFIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EX</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
<d2p1:Requin>
<d2p1:Description>C'est un requin vraiment pas ultra banal</d2p1:Description>
<d2p1:FunFact>Il est vraiment vraiment pas banal</d2p1:FunFact>
<d2p1:Nom>leDeuxièmeRequinAjouté</d2p1:Nom>
<d2p1:NomSci>Le requin vraiemnt pas banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>PACIFIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EX</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
<d2p1:Requin>
<d2p1:Description>C'est un requin pas ultra banal</d2p1:Description>
<d2p1:FunFact>Il est vraiment pas banal</d2p1:FunFact>
<d2p1:Nom>leTroisièmeRequinAjouté</d2p1:Nom>
<d2p1:NomSci>Le requin pas banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>PACIFIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EX</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
<d2p1:Requin>
<d2p1:Description>C'est un requin vraiment pas ultra banal</d2p1:Description>
<d2p1:FunFact>Il est vraiment vraiment pas banal</d2p1:FunFact>
<d2p1:Nom>leQuatrièmeRequinAjouté</d2p1:Nom>
<d2p1:NomSci>Le requin vraiemnt pas banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>PACIFIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EX</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-dormeur-mexicain.mp4</d2p1:Video>
</d2p1:Requin>
</RequinsAdd>
<RequinsEdit xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le">
<d2p1:Requin>
<d2p1:Description>C'est un requin ultra banal</d2p1:Description>
<d2p1:FunFact>En fait il est giga banal</d2p1:FunFact>
<d2p1:Nom>Banane</d2p1:Nom>
<d2p1:NomSci>Le requin banal</d2p1:NomSci>
<d2p1:Photo>Images/White_shark.png</d2p1:Photo>
<d2p1:PhotoCarte>Images/rep_Heterodontus_mexicanus.png</d2p1:PhotoCarte>
<d2p1:Repartition>
<d2p1:Zone>ATLANTIQUE</d2p1:Zone>
</d2p1:Repartition>
<d2p1:StatutCons>EW</d2p1:StatutCons>
<d2p1:Video>Videos/Vid-Requin-Blanc.mp4</d2p1:Video>
</d2p1:Requin>
</RequinsEdit>
<Requins xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" />
<RequinsAdd xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" />
<RequinsEdit xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" />
</DataToPersistReq>

@ -1,18 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<DataToPersistUsers xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Persistance">
<Experts xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le">
<d2p1:Expert>
<d2p1:Email>salut</d2p1:Email>
<d2p1:MotDePasse>hey</d2p1:MotDePasse>
<d2p1:DateD>2022-06-09T14:59:29.3884138+02:00</d2p1:DateD>
<d2p1:Surnom>bob</d2p1:Surnom>
</d2p1:Expert>
</Experts>
<Users xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le">
<d2p1:Utilisateur>
<d2p1:Email>a</d2p1:Email>
<d2p1:MotDePasse>salut</d2p1:MotDePasse>
<d2p1:NbSubmit>0</d2p1:NbSubmit>
</d2p1:Utilisateur>
</Users>
<Experts xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" />
<Users xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mod%C3%A8le" />
</DataToPersistUsers>

@ -22,13 +22,12 @@ namespace WpfApp1
public partial class SeConnecter : Window
{
public ManagerUsers Mgr => (Application.Current as App).LeManagerUsers;
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
public SeConnecter()
{
InitializeComponent();
Mgr.LoadUsers();
DataContext = Mgr;
DataContext = MgrUser;
}
private void exit_Click(object sender, RoutedEventArgs e)
@ -52,20 +51,20 @@ namespace WpfApp1
MessageBox.Show("Veuillez remplir toutes les cases");
return;
}
foreach(Personne p in Mgr.Utilisateurs)
foreach(Personne p in MgrUser.Utilisateurs)
{
if (p.Email==email && password == p.MotDePasse)
{
Mgr.SelectedUser = p;
MgrUser.SelectedUser = p;
Close();
return;
}
}
foreach(Personne p in Mgr.Experts)
foreach(Personne p in MgrUser.Experts)
{
if (p.Email==email && p.MotDePasse == password)
{
Mgr.SelectedUser = p;
MgrUser.SelectedUser = p;
Close();
return;
}

@ -1,40 +0,0 @@
<UserControl x:Class="WpfApp1.UCRequinValSubmit"
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">
<DockPanel>
<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>
</UserControl>

@ -1,77 +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 UCRequinValSubmit.xaml
/// </summary>
public partial class UCRequinValSubmit : UserControl
{
public Manager Mgr => (Application.Current as App).LeManager;
public UCRequinValSubmit()
{
InitializeComponent();
}
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)
{
}
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);
}
}
}

@ -75,9 +75,8 @@ namespace WpfApp1
foreach (Control control in this.radioButtons.Children)
{
if (control is RadioButton)
if (control is RadioButton radio)
{
RadioButton radio = control as RadioButton;
if (radio.Content is string radString)
{
if (radString == requin.StatutCons.ToString())
@ -132,9 +131,8 @@ namespace WpfApp1
foreach (Control control in this.radioButtons.Children)
{
if (control is RadioButton)
if (control is RadioButton radio)
{
RadioButton radio = control as RadioButton;
if (radio.IsChecked == true)
{
if (radio.Content is string radString)
@ -182,18 +180,27 @@ namespace WpfApp1
else if (string.IsNullOrWhiteSpace(fun))
{
Requin req = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
Mgr.AjouterRequinEdit(req);
if (MgrUser.SelectedUser is Utilisateur user)
{
user.AjouterRequin(req, Mgr.RequinsEdit);
}
else
{
Mgr.ModifieRequin(Mgr.Requins.SingleOrDefault(r => r.Equals(req)), req);
}
}
else
{
Requin req = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
Mgr.AjouterRequinEdit(req);
if (MgrUser.SelectedUser is Utilisateur user)
{
user.AjouterRequin(req, Mgr.RequinsEdit);
}
else
{
Mgr.ModifieRequin(Mgr.Requins.SingleOrDefault(r => r.Equals(req)), req);
}
}
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
}

@ -41,11 +41,13 @@ namespace WpfApp1
private void RequinsAdd_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
laListeAdd.Items.Clear();
ChargerUCAdd();
}
private void RequinsEdit_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
laListeEdit.Items.Clear();
ChargerUCEdit();
}

@ -50,8 +50,6 @@ namespace WpfApp1
private void edit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(requin);
/*
if (MgrUser.SelectedUser == null)
{
MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
@ -62,7 +60,6 @@ namespace WpfApp1
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(requin);
}
*/
}

Loading…
Cancel
Save