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