using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace Models
{
    public class Manager 
    {
        public List<Champion> _champions { get; private set; }
        public List<Utilisateur> _utilisateur { get; private set; }
        public IPersistanceManager Persistance { get; set; }
        public Utilisateur UtilisateurConnecte { get; set; } = null; //rajouté pour login register

        public Manager(IPersistanceManager Pers)
        {
            _champions = new List<Champion>();
            _utilisateur = new List<Utilisateur>();
            Persistance = Pers;
        }
        public Manager()
        {
            _champions = new List<Champion>();
            _utilisateur = new List<Utilisateur>();
        }


        public void AddUtilisateur(Utilisateur utilisateur)
        {
            _utilisateur.Add(utilisateur);
        }

        public void RemoveUtilisateur(Utilisateur utilisateur)
        {
            _utilisateur.Remove(utilisateur);
        }

  
        public void Chargdon() {
            var don = Persistance.Chargdon();
                
            _champions.AddRange(don.Item1);
            _utilisateur.AddRange(don.Item2);
        }

        public void Sauvdon()
        {
            Persistance.Sauvdon(_champions, _utilisateur);
        }
    }
}