using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; namespace ParionsCuite.Modeles { public class Manageur : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public event Action EvenementAdded; private ObservableCollection evenement; public bool Value1; public bool Value2; public bool Value3; void OnPropertyChanged([CallerMemberName] string propertyName = null) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); public ObservableCollection Evenement { get { return evenement; } set { if (evenement != value) { evenement = value; OnPropertyChanged(); OnEvenementAdded(value.LastOrDefault()); // Appel de la fonction après ajout d'un événement } } } private void OnEvenementAdded(Evenement evenement) { // Logique à exécuter lorsque un événement est ajouté Debug.WriteLine("Événement ajouté : "); } public List Invites { get; set; } public IPersistanceManager Persistance { get; set; } public Manageur(IPersistanceManager Pers) { Invites = new List(); Evenement = new ObservableCollection(); Persistance = Pers; } public Manageur() { Evenement = new ObservableCollection(); Invites = new List(); } public Manageur(ObservableCollection evenements) { Evenement = evenements; } public bool Ajout_evenement(Evenement ev) { Evenement.Add(ev); OnPropertyChanged(nameof(Evenement)); EvenementAdded?.Invoke(ev); return true; } public bool Supprimer_evenement(Evenement ev) { return Evenement.Remove(ev); } public List AddInvite(Inviter invite1) { Invites.Add(invite1); return Invites; } public List RemoveInviter(Inviter invite1) { Invites.Remove(invite1); return Invites; } public int LenListInvite(List list) { int len = 0; foreach (Inviter inviter in list) { len++; } return len; } public List ReturnListInvite() { return Invites; } public ObservableCollection Charge_Donnee() { var donnees = Persistance.chargeDonnees(); foreach (var donnee in donnees) { Evenement.Add(donnee); } return donnees; } public void Save_Data() { Persistance.sauvegardeDonnees(Evenement); } } }