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(); } } }