/*! * \file Animal.xaml.cs * \author Léana Besson */ using Model; using Persistance; /*! * \namespace Views */ namespace Views; /*! * \class DetailAnimal * \brief Regroups functions for DetailAnimal page operation */ public partial class DetailAnimal : ContentPage { /*! * \fn AppShell() * \brief Animaux page constructor with component initialization and context binding assignment */ public DetailAnimal() { InitializeComponent(); BindingContext = (App.Current as App).AnimalSelectionner; if((App.Current as App).AnimalSelectionner.Espece != null) { if ((App.Current as App).AnimalSelectionner.Race != null) { PetAdvice.BindingContext = (App.Current as App).AnimalSelectionner.Race; } else PetAdvice.BindingContext = (App.Current as App).AnimalSelectionner.Espece; } } /*! * \fn Button_OnClick(object sender, EventArgs e) * \brief Delete the animal from the theque, serialize the theque and go to the Animaux page * \param sender object - Event emitter information, namely the DetailAnimal.xaml page * \param e EventArgs - Information related to the clicked button event */ public async void Button_OnClick(object sender, EventArgs e) { (App.Current as App).Theque.SupprimerAnimal((App.Current as App).AnimalSelectionner); DataSerializerBinary.Serializer((App.Current as App).SerializationPath, (App.Current as App).Theque); await Shell.Current.GoToAsync("//Animaux"); } /*! * \fn OnBackButtonPressed() * \brief If the Name is valid the theque is serialized * \return False if the button is pressed and True otherwise */ protected override bool OnBackButtonPressed() { if((App.Current as App).AnimalSelectionner.NomIsValid == true) { DataSerializerBinary.Serializer((App.Current as App).SerializationPath, (App.Current as App).Theque); return base.OnBackButtonPressed(); } return true; } }