You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
4.6 KiB
151 lines
4.6 KiB
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
|
|
{
|
|
/// <summary>
|
|
/// Logique d'interaction pour Description.xaml
|
|
/// </summary>
|
|
public partial class DescriptionAdd : Window
|
|
{
|
|
|
|
/// <summary>
|
|
/// Page qui affiche la description d'un requin de la liste des requins ajoutéss
|
|
/// </summary>
|
|
public DescriptionAdd()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Manager lié à celui de l'app
|
|
/// </summary>
|
|
public Manager Mgr => (Application.Current as App).LeManager;
|
|
|
|
|
|
|
|
|
|
private Requin _requin;
|
|
|
|
/// <summary>
|
|
/// requin sur lequel se base l'affichage de la page
|
|
/// </summary>
|
|
public Requin requin
|
|
{
|
|
get { return _requin; }
|
|
set
|
|
{
|
|
_requin = value;
|
|
uptadeUi(_requin);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode qui permet de transformer un url venant d'internet en BitmapImage
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <returns>BitmapImage la nouvel BitmapImage créée à partir de du string</returns>
|
|
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;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Méthode qui met à jour toutes les informations sur la page grace au requin
|
|
/// </summary>
|
|
/// <param name="requin"></param>
|
|
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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Evénement qui permet de quitter la page
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void exit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Evénement qui permet d'ajouter le requin dans la Liste des requins validé
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void valider_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
Mgr.AjouterRequin(requin);
|
|
Mgr.SupprimerRequinAdd(requin);
|
|
Close();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Evénement qui permet de refuser le requin et donc de le supprimer de la liste des requins ajoutés
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void refuser_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
Mgr.SupprimerRequinAdd(requin);
|
|
Close();
|
|
}
|
|
}
|
|
|
|
}
|