diff --git a/MusiLib/MusiLib/Views/Favoris.xaml b/MusiLib/MusiLib/Views/Favoris.xaml index 21a2944..bdb6a7e 100644 --- a/MusiLib/MusiLib/Views/Favoris.xaml +++ b/MusiLib/MusiLib/Views/Favoris.xaml @@ -56,16 +56,17 @@ TextChanged="SearchBar_TextChanged" /> - - partitionsInitiales; private List partitionsFiltrees; + private Trier trieur; public Favoris() { InitializeComponent(); partitionsInitiales = MyManager.favoris.ToList(); partitionsFiltrees = new List(partitionsInitiales); + trieur = new Trier(MyManager.favoris.ToList()); chargerFavoris(); } @@ -123,6 +125,72 @@ public partial class Favoris : ContentPage, IAllowClick chargerFavoris(); } + private async void TriButton_Clicked(object sender, EventArgs e) + { + var action = await DisplayActionSheet("Trier par", "Annuler", null, "Type", "Difficulté", "Ordre alphabétique", "Réinitialiser"); + + switch (action) + { + case "Type": + await TrierParTypeButton(); + break; + case "Difficulté": + await TrierParDifficulteButton(); + break; + case "Ordre alphabétique": + await TrierParOrdreAlphabetiqueButton(); + break; + case "Réinitialiser": + ReinitialiserButton(); + break; + } + + } + + + private async Task TrierParTypeButton() + { + var action = await DisplayActionSheet("Trier par", "Annuler", null, "Batterie", "Guitare", "Piano"); + + if (action == "Annuler") + return; + + var partitionsTriees = trieur.TrierParInstrument(action); + partitionsFiltrees = new List(partitionsTriees); + chargerFavoris(); + } + + private async Task TrierParDifficulteButton() + { + var action = await DisplayActionSheet("Trier par", "Annuler", null, "Facile", "Moyen", "Difficile"); + + if (action == "Annuler") + return; + + var partitionsTriees = trieur.TrierParComplexite(action); + partitionsFiltrees = new List(partitionsTriees); + chargerFavoris(); + } + + private async Task TrierParOrdreAlphabetiqueButton() + { + var action = await DisplayActionSheet("Trier par", "Annuler", null, "Croissant", "Décroissant"); + + if (action == "Annuler") + return; + + var partitionsTriees = trieur.TrierParOrdreAlphabetique(action); + partitionsFiltrees = new List(partitionsTriees); + chargerFavoris(); + } + + private void ReinitialiserButton() + { + partitionsFiltrees.Clear(); + partitionsFiltrees.AddRange(partitionsInitiales); + chargerFavoris(); + } + protected override void OnAppearing() { base.OnAppearing();