public Studente ImmatricolaStudente(Persona persona)
        {
            Studente studente        = (Studente)persona;
            int      numeroMatricola = NumeroMatricolaCorrente++;

            studente.Matricola = numeroMatricola;
            this.StudentiImmatricolati.Add(studente);
            Tesserino tesserino = new Tesserino(numeroMatricola);

            tesserino.FasciaReddito = CalcolaFasciaReddito(studente);
            studente.Tesserino      = tesserino;
            return(studente);
        }
示例#2
0
        private double CalcolaCostPasto(Tesserino tesserino)
        {
            switch (tesserino.FasciaReddito)
            {
            case 0:
                return(PrezziMensa.MINIMO);

            case 1:
                return(PrezziMensa.PRIMA);

            case 2:
                return(PrezziMensa.SECONDA);

            default:
                return(PrezziMensa.MASSIMA);
            }
        }
示例#3
0
        public void ErogaPasto(Tesserino tesserino)
        {
            double    costoPasto          = PrezziMensa.MASSIMA;
            Tesserino tesserinoUtilizzato = TesseriniUtilizzati.FirstOrDefault(tesserinoCorrente => tesserinoCorrente.Numero == tesserino.Numero);

            if (tesserinoUtilizzato != null)
            {
                Console.WriteLine($"Il Tesserino: {tesserino.Numero} è stato già utilizzato");
                costoPasto = PrezziMensa.MASSIMA;
            }
            else
            {
                TesseriniUtilizzati.Add(tesserino);
                costoPasto = CalcolaCostPasto(tesserino);
            }

            Console.WriteLine($"Il Tesserino: {tesserino.Numero} paga {costoPasto} presso Mensa: {Nome}");
        }