|
|
|
@ -1,27 +1,32 @@
|
|
|
|
|
namespace MangaMap.Views;
|
|
|
|
|
|
|
|
|
|
using Model;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Xml.Linq;
|
|
|
|
|
using Microsoft.Maui.Graphics;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
namespace MangaMap.Views
|
|
|
|
|
{
|
|
|
|
|
using Model;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Xml.Linq;
|
|
|
|
|
using Microsoft.Maui.Graphics;
|
|
|
|
|
|
|
|
|
|
public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
{
|
|
|
|
|
public Manager my_manager => (App.Current as App).MyManager;
|
|
|
|
|
public Oeuvre AnimeModel { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructeur par défaut de la page ficheAnime.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public ficheAnime()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
|
|
BindingContext = this;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructeur de la page ficheAnime prenant en paramètre un objet Oeuvre.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="anime">L'objet Oeuvre à afficher dans la fiche.</param>
|
|
|
|
|
public ficheAnime(Oeuvre anime)
|
|
|
|
|
{
|
|
|
|
|
AnimeModel = anime;
|
|
|
|
@ -33,6 +38,11 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
SetNote();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gère l'événement lorsqu'on clique sur le bouton d'ajout à la liste.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclenchant l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
public async void AjouterListe(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (my_manager.UtilisateurActuel.Email == null)
|
|
|
|
@ -108,6 +118,11 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
await Navigation.PushAsync(new listPage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gère l'événement lorsqu'on clique sur le bouton de suppression de la liste.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclenchant l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
public async void SupprimerListe(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage.Remove(AnimeModel) ||
|
|
|
|
@ -115,14 +130,17 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
my_manager.UtilisateurActuel.ListeOeuvreFavorites.Remove(AnimeModel) ||
|
|
|
|
|
my_manager.UtilisateurActuel.ListeOeuvrePourPlusTard.Remove(AnimeModel))
|
|
|
|
|
my_manager.sauvegarder();
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
await DisplayAlert("Erreur", "Avez n'avez pas cette série dans une liste.", "OK");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
await DisplayAlert("Succès", "La série a bien été supprimée de la liste.", "OK");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Affiche les étoiles de notation de l'anime.
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void SetNote()
|
|
|
|
|
{
|
|
|
|
|
stars.Children.Clear();
|
|
|
|
@ -131,7 +149,7 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 5; i++)
|
|
|
|
|
{
|
|
|
|
|
if (my_manager.UtilisateurActuel.notesNombres.TryGetValue(AnimeModel.Nom,out x) && i < x[0])
|
|
|
|
|
if (my_manager.UtilisateurActuel.notesNombres.TryGetValue(AnimeModel.Nom, out x) && i < x[0])
|
|
|
|
|
{
|
|
|
|
|
ImageButton imageButton = new ImageButton
|
|
|
|
|
{
|
|
|
|
@ -188,6 +206,11 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gère l'événement lorsqu'on clique sur une étoile.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclenchant l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
private async void StarClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (my_manager.UtilisateurActuel.Email == null)
|
|
|
|
@ -223,7 +246,7 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
|
|
|
|
|
foreach (Utilisateur u in my_manager.Utilisateurs)
|
|
|
|
|
{
|
|
|
|
|
if(u.notesNombres.TryGetValue(AnimeModel.Nom, out x) && x[0] != 0)
|
|
|
|
|
if (u.notesNombres.TryGetValue(AnimeModel.Nom, out x) && x[0] != 0)
|
|
|
|
|
{
|
|
|
|
|
compteur = compteur + 1;
|
|
|
|
|
somme = somme + x[0];
|
|
|
|
@ -235,6 +258,11 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gère l'événement lorsqu'on clique sur le bouton de validation du nombre d'épisodes.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclenchant l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
private async void NbEpCheck(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (my_manager.UtilisateurActuel.Email == null)
|
|
|
|
@ -262,4 +290,5 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
|
|
|
|
|
|
|
|
|
|
my_manager.sauvegarder();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|