diff --git a/Cliente.cs b/Cliente.cs index afde231..ce22891 100644 --- a/Cliente.cs +++ b/Cliente.cs @@ -65,9 +65,10 @@ class Cliente { for (i = 0; i < this.prenotazioni.Length && isPrenotazioneEsistente; i++) { if (this.prenotazioni[i] == null) { isPrenotazioneEsistente = false; + i--; } } - this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono consentite solo 10 prenotazioni per cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale()); + this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono giĆ  state inserite tutte le prenotazioni per questo cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale()); } public void CancellaPrenotazione(string p_UUID) { diff --git a/Program.cs b/Program.cs index 49dc966..b8908c7 100644 --- a/Program.cs +++ b/Program.cs @@ -30,11 +30,11 @@ class Program { case 0: break; case 1: - Console.Clear(); + Console.Clear(); Demo(); break; case 2: - Console.Clear(); + Console.Clear(); Menu(); break; default: @@ -92,7 +92,7 @@ class Program { Cliente[] clienti = new Cliente[numeroClienti]; - do { + do { Console.WriteLine("Scegliere un'opzione:"); Console.WriteLine("1. Inserire i dati dei clienti"); Console.WriteLine("2. Inserire una prenotazione"); @@ -156,6 +156,7 @@ class Program { case 2: string[] periodi = ["primavera", "estate", "autunno", "inverno"]; int giorniPrenotati = 0, numeroPersone = 0; + do { Console.WriteLine("Inserire la prenotazione di quale cliente? "); for (int i = 0; i < clienti.Length; i++) { @@ -178,9 +179,13 @@ class Program { Console.WriteLine("Opzione non valida"); Pausa(); } + else if (clienti[input - 1] == null) { + Console.WriteLine("I dati di questo cliente non sono ancora stati inseriti."); + Pausa(); + } } } - while (eccezione || input <= 0 || input > numeroClienti); + while (eccezione || input <= 0 || input > numeroClienti || clienti[input - 1] == null); scelta = 5; do { @@ -253,11 +258,21 @@ class Program { } while (numeroPersone <= 0); - clienti[input - 1].InserisciPrenotazione(periodi[scelta], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone)); + eccezione = false; - Console.WriteLine("Prenotazione inserita correttamente."); + try { + clienti[input - 1].InserisciPrenotazione(periodi[scelta], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone)); + } + catch (Exception e) { + Console.WriteLine(e.Message); + eccezione = true; + Pausa(); + } + if (!eccezione) { + Console.WriteLine("Prenotazione inserita correttamente."); + Pausa(); + } - Pausa(); break; case 3: for (int i = 0; i < numeroClienti; i++) { diff --git a/bin/Debug/net9.0/agenzia_viaggi.dll b/bin/Debug/net9.0/agenzia_viaggi.dll index 1c90702..50184c4 100644 Binary files a/bin/Debug/net9.0/agenzia_viaggi.dll and b/bin/Debug/net9.0/agenzia_viaggi.dll differ diff --git a/bin/Debug/net9.0/agenzia_viaggi.pdb b/bin/Debug/net9.0/agenzia_viaggi.pdb index 6aeda3f..be6f2f0 100644 Binary files a/bin/Debug/net9.0/agenzia_viaggi.pdb and b/bin/Debug/net9.0/agenzia_viaggi.pdb differ diff --git a/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfo.cs b/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfo.cs index 59fe3bb..77177fb 100644 --- a/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfo.cs +++ b/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("agenzia_viaggi")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f9184fea2c9646a9d311a20814a0ffb94d3afd4a")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ec1388ecb1b5b5cfc1973c4e5e8873d52feea5eb")] [assembly: System.Reflection.AssemblyProductAttribute("agenzia_viaggi")] [assembly: System.Reflection.AssemblyTitleAttribute("agenzia_viaggi")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache b/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache index 8dc54e3..ff36858 100644 --- a/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache @@ -1 +1 @@ -1bc455adbb990f51be8b7d12aa7c0f4dcc419f5750faa87eb217db2284f5c44c +b0ce948d3f63d6c8af0fbb7ea9973b300f4bf335f64417c3bc8aa5381b7d3088 diff --git a/obj/Debug/net9.0/agenzia_viaggi.dll b/obj/Debug/net9.0/agenzia_viaggi.dll index 1c90702..50184c4 100644 Binary files a/obj/Debug/net9.0/agenzia_viaggi.dll and b/obj/Debug/net9.0/agenzia_viaggi.dll differ diff --git a/obj/Debug/net9.0/agenzia_viaggi.pdb b/obj/Debug/net9.0/agenzia_viaggi.pdb index 6aeda3f..be6f2f0 100644 Binary files a/obj/Debug/net9.0/agenzia_viaggi.pdb and b/obj/Debug/net9.0/agenzia_viaggi.pdb differ diff --git a/obj/Debug/net9.0/ref/agenzia_viaggi.dll b/obj/Debug/net9.0/ref/agenzia_viaggi.dll index 00713e4..96691b1 100644 Binary files a/obj/Debug/net9.0/ref/agenzia_viaggi.dll and b/obj/Debug/net9.0/ref/agenzia_viaggi.dll differ diff --git a/obj/Debug/net9.0/refint/agenzia_viaggi.dll b/obj/Debug/net9.0/refint/agenzia_viaggi.dll index 00713e4..96691b1 100644 Binary files a/obj/Debug/net9.0/refint/agenzia_viaggi.dll and b/obj/Debug/net9.0/refint/agenzia_viaggi.dll differ