using MusiLib.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MusiLib.Model
{
    public class Manager
    {
        public IPersistanceManager Persistance { get; set; }
        public List<Utilisateur> utilisateurs {  get; private set; }
        public List<Partition> partitions {  get; private set; }

        public Manager() 
        {
            utilisateurs = new List<Utilisateur>(); 
            partitions = new List<Partition>();
        }

        public Manager(IPersistanceManager persistance)
        {
            Persistance = persistance;
            utilisateurs = new List<Utilisateur>();
            partitions = new List<Partition>();
        }

        public void ajouterUtilisateur(Utilisateur utilisateur)
        {
            utilisateurs.Add(utilisateur);
        }

        public void ajouterPartition(Partition partition)
        {
            partitions.Add(partition);
        }

        public void chargeDonnees()
        {
            var donnees = Persistance.chargeDonnees();
            utilisateurs.AddRange(donnees.Item2);
            partitions.AddRange(donnees.Item1);
        }

        public void sauvegardeDonnees()
        {
            Persistance.sauvegardeDonnees(partitions, utilisateurs);
        }






    }
}


