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); }
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); } }
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}"); }