using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CLPersone;

namespace AppEsempioLinq
{
    class GestioneApplicazione
    {
        Classe classe;

        public GestioneApplicazione()
        {
            classe = new Classe();
        }

        private void CaricaDati()
        {
            classe.Add(new Alunno()
            {
                Codice = "1",
                Nome = "Luca",
                Cognome = "Verdi",
                Eta = 35,
                Sesso = "M",
                Citta = "Rovereto",
                VotoInformatica = 6
            });

            classe.Add(new Alunno()
            {
                Codice = "2",
                Nome = "Leonardo",
                Cognome = "Bianchi",
                Eta = 36,
                Sesso = "M",
                Citta = "Todi",
                VotoInformatica = 5
            });

            classe.Add(new Alunno()
            {
                Codice = "3",
                Nome = "Maurizio",
                Cognome = "Bassi",
                Eta = 37,
                Sesso = "M",
                Citta = "Todi",
                VotoInformatica = 4
            });

            classe.Add(new Alunno()
            {
                Codice = "4",
                Nome = "Marco",
                Cognome = "Verdi",
                Eta = 17,
                Sesso = "M",
                Citta = "Rovereto",
                VotoInformatica = 8
            });

            classe.Add(new Alunno()
            {
                Codice = "5",
                Nome = "Mauro",
                Cognome = "Biondini",
                Eta = 16,
                Sesso = "M",
                Citta = "Todi",
                VotoInformatica = 10
            });

            classe.Add(new Alunno()
            {
                Codice = "6",
                Nome = "Silvia",
                Cognome = "Chiari",
                Eta = 20,
                Sesso = "F",
                Citta = "Rovereto",
                VotoInformatica = 10
            });

            classe.Add(new Alunno()
            {
                Codice = "7",
                Nome = "Laura",
                Cognome = "Peggiorini",
                Eta = 15,
                Sesso = "F",
                Citta = "Napoli",
                VotoInformatica = 4
            });

            classe.Add(new Alunno()
            {
                Codice = "8",
                Nome = "Sabrina",
                Cognome = "Pino",
                Eta = 15,
                Sesso = "F",
                Citta = "Rovereto",
                VotoInformatica = 6
            });

            classe.Add(new Alunno()
            {
                Codice = "9",
                Nome = "Alessandro",
                Cognome = "Santi",
                Eta = 35,
                Sesso = "M",
                Citta = "Todi",
                VotoInformatica = 4
            });

            classe.Add(new Alunno()
            {
                Codice = "10",
                Nome = "Maria",
                Cognome = "Peggiorini",
                Eta = 40,
                Sesso = "F",
                Citta = "Rovereto",
                VotoInformatica = 2
            });
        }

        public void EsecuzioneOperazioni()
        {

            CaricaDati();
            Console.WriteLine("STAMPA DI TUTTI GLI ALUNNI\n");

            Console.WriteLine("{0,-5} | {1,-15} | {2,-15} | {3,-15} | {4,-5} | {5,-5}\n", "Cod", "Nome", "Cognome", "Città", "Eta", "Voto");
            Console.WriteLine("----------------------------------------------------------------------------");
            Console.WriteLine(classe.ToString());
            Console.WriteLine("----------------------------------------------------------------------------\n\n");


            // INTERROGAZIONE 1
            //Classe alunniFiltrati = classe.RicercaConEspressioniLambda("Rovereto");
            //Console.WriteLine(alunniFiltrati.ToString());



            // INTERROGAZIONE 2
            //Classe alunniFiltrati = classe.RicercaConLinq("Rovereto");
            //Console.WriteLine(alunniFiltrati.ToString());



            // INTERROGAZIONE 3
            //Classe alunniFiltrati = classe.RicercaAlunniCheInizianoPerLetteraInPosizionePari("B");
            //Console.WriteLine(alunniFiltrati.ToString());



            // INTERROGAZIONE 5
            // classe.NomeCognomeAlunniMaschi();



            // INTERROGAZIONE 6
            // ListaDettaglioNomeCognome ls = classe.NomeCognomeAlunniMaschi2();



            // INTERROGAZIONE 7
            //Classe alunniFiltrati = classe.RicercaAlunniCognomeFiniscePer("i");
            //Console.WriteLine(alunniFiltrati.ToString());



            // INTERROGAZIONE 8
            //int votoMaggiore = classe.MigliorVoto();
            //Console.WriteLine(votoMaggiore);



            // INTERROGAZIONE 9
            //Classe alunniFiltrati = classe.PrimiDueMaggiorenniRovereto();
            //Console.WriteLine(alunniFiltrati.ToString());



            // INTERROGAZIONE 10
            //classe.AlunniConCognomeFinoAllaM();



            // INTERROGAZIONE 11
            //Classe alunniFiltrati = classe.AlunniConVotoMigliore();
            //Console.WriteLine(alunniFiltrati.ToString());



            Console.ReadLine();

        }
    }
}
