using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SimulazioneVerificaFile
{
    class WpfListaAlunni:ListaAlunni
    {
        public WpfListaAlunni(string nomeFile)
            : base()
        {
            LeggiDaFile(nomeFile);
        }
        private void LeggiDaFile(string nomeFile)
        {
            string a;
            try
            {
                StreamReader f = new StreamReader(nomeFile);
                while ((a = f.ReadLine()) != null)
                    AggiungiAlunno(a);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public List<string> ElencoIndirizzi()
        {
            List<string> listaIndirizzi = new List<string>();
            listaIndirizzi.Clear();
            foreach (Alunno a in tuttiGliAlunni)
                if (!listaIndirizzi.Exists(x => x.Equals(a.Indirizzo)))
                    listaIndirizzi.Add(a.Indirizzo);
            return listaIndirizzi;
        }

        public List<string> ElencoClassi(string indirizzo)
        {
            List<string> listaClassi = new List<string>();
            listaClassi.Clear();
            foreach (Alunno a in tuttiGliAlunni)
                if (a.Indirizzo.Equals(indirizzo) && !listaClassi.Exists(x => x.Equals(a.Classe)))
                    listaClassi.Add(a.Classe);
            return listaClassi;
        }

        public List<string> ElencoAlunni(string classe, string indirizzo)
        {
            List<string> listaAlunni = new List<string>();
            listaAlunni.Clear();
            foreach (Alunno a in tuttiGliAlunni)
                if (a.Indirizzo.Equals(indirizzo) && a.Classe.Equals(classe))
                    listaAlunni.Add(a.NominativoCompleto);
            return listaAlunni;
        }
        public string DatiAlunno(string matricola)
        {
            return tuttiGliAlunni.Find(x => x.Matricola.Equals(matricola)).Info();
        }
            


    }
}
