using Business;
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
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
{
///
/// Logique d'interaction pour Description.xaml
///
public partial class DescriptionAdd : Window
{
///
/// Page qui affiche la description d'un requin de la liste des requins ajoutéss
///
public DescriptionAdd()
{
InitializeComponent();
}
///
/// Manager lié à celui de l'app
///
public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;
///
/// requin sur lequel se base l'affichage de la page
///
public Requin requin
{
get { return _requin; }
set
{
_requin = value;
uptadeUi(_requin);
}
}
///
/// Méthode qui permet de transformer un url venant d'internet en BitmapImage
///
///
/// BitmapImage la nouvel BitmapImage créée à partir de du string
private BitmapImage urlEnBitmap(string url)
{
var path = @url;
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(path, UriKind.Absolute);
bitmap.EndInit();
return bitmap;
}
///
/// Méthode qui met à jour toutes les informations sur la page grace au requin
///
///
public void uptadeUi(Requin requin)
{
string url = "Images/" + requin.StatutCons.ToString() + ".png"; //Transforme la conservation en chemin pour l'image liée à cette conservation
//Met à jour tous texteBlocks
nameReq.Text = requin.Nom;
sciName.Text = requin.NomSci;
desc.Text = requin.Description;
vid.Source = new Uri(@requin.Video, UriKind.RelativeOrAbsolute);
funFact.Text = requin.FunFact;
consPic.Source = new BitmapImage(new Uri(url, UriKind.RelativeOrAbsolute));
//Vérifie si la photo vient d'internet ou du dossier
if (requin.Photo.Contains("Images/"))
{
//Si elle vient d'internet alors on la transforme directement en BitmapImage
photo.Source = new BitmapImage(new Uri(requin.Photo, UriKind.RelativeOrAbsolute));
}
else
{
//Sinon appelle la fonction urlEnBitmap
BitmapImage bitmap = new BitmapImage();
bitmap = urlEnBitmap(requin.Photo);
photo.Source = bitmap;
}
//Pareil que les tests du dessus
if (requin.PhotoCarte.Contains("Images/"))
{
cartePic.Source = new BitmapImage(new Uri(requin.PhotoCarte, UriKind.RelativeOrAbsolute));
}
else
{
BitmapImage bitmap = new BitmapImage();
bitmap = urlEnBitmap(requin.PhotoCarte);
cartePic.Source = bitmap;
}
}
///
/// Evénement qui permet de quitter la page
///
///
///
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
}
///
/// Evénement qui permet d'ajouter le requin dans la Liste des requins validé
///
///
///
private void valider_Click(object sender, RoutedEventArgs e)
{
Mgr.AjouterRequin(requin);
Mgr.SupprimerRequinAdd(requin);
Close();
}
///
/// Evénement qui permet de refuser le requin et donc de le supprimer de la liste des requins ajoutés
///
///
///
private void refuser_Click(object sender, RoutedEventArgs e)
{
Mgr.SupprimerRequinAdd(requin);
Close();
}
}
}