diff --git a/Program.cs b/Program.cs index 4cf3565..82d0c42 100644 --- a/Program.cs +++ b/Program.cs @@ -1,6 +1,4 @@ -using System.Linq.Expressions; - -namespace agenzia_viaggi; +namespace agenzia_viaggi; class Program { static void Main(string[] args) { @@ -53,6 +51,339 @@ class Program { } static void Demo() { + //Unit tests: + /* + Quanti clienti considerare? 2 + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 1 + Inserire i dati di quale cliente? + 1 + 2 + Scelta: 1 + Inserire il nome: Verde + Inserire il cognome: Bassanetti + Inserire il codice fiscale: BSSVRD12345 + Inserire l'età: 17 + Inserire il numero di prenotazioni: 2Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 2 + Inserire la prenotazione di quale cliente? + 1 + 2 + Scelta: 1 + Quale periodo dell'anno scegliere? + 1. Primavera + 2. Estate + 3. Autunno + 4. Inverno + Scelta: 1 + Per quanti giorni prenotare? 2 + Per quante persone prenotare? 1 + Prenotazione inserita correttamente. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 2 + Inserire la prenotazione di quale cliente? + 1 + 2 + Scelta: 1 + Quale periodo dell'anno scegliere? + 1. Primavera + 2. Estate + 3. Autunno + 4. Inverno + Scelta: 2 + Per quanti giorni prenotare? 3 + Per quante persone prenotare? 2 + Prenotazione inserita correttamente. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 1 + Inserire i dati di quale cliente? + 1 + 2 + Scelta: 2 + Inserire il nome: Clarciccia + Inserire il cognome: Bassanetti + Inserire il codice fiscale: BSSCRC67890 + Inserire l'età: 3 + Inserire il numero di prenotazioni: 2Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 2 + Inserire la prenotazione di quale cliente? + 1 + 2 + Scelta: 2 + Quale periodo dell'anno scegliere? + 1. Primavera + 2. Estate + 3. Autunno + 4. Inverno + Scelta: 3 + Per quanti giorni prenotare? 4 + Per quante persone prenotare? 3 + Prenotazione inserita correttamente. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 2 + Inserire la prenotazione di quale cliente? + 1 + 2 + Scelta: 2 + Quale periodo dell'anno scegliere? + 1. Primavera + 2. Estate + 3. Autunno + 4. Inverno + Scelta: 4 + Per quanti giorni prenotare? 5 + Per quante persone prenotare? 4 + Prenotazione inserita correttamente. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 3 + Nome: Verde + Cognome: Bassanetti + Età: 17 + Codice fiscale: BSSVRD12345 + Numero prenotazioni: 2 + + Prenotazione n. 1: + Codice univoco: W7VP4H3DYCSQRCB8 + Periodo dell'anno: primavera + Giorni prenotati: 2 + Costo: 1534 + Numero persone: 1 + Codice fiscale a cui è intestata la prenotazione: BSSVRD12345 + + Prenotazione n. 2: + Codice univoco: LIE3BRME9MEHP7LA + Periodo dell'anno: estate + Giorni prenotati: 3 + Costo: 3873 + Numero persone: 2 + Codice fiscale a cui è intestata la prenotazione: BSSVRD12345 + + Nome: Clarciccia + Cognome: Bassanetti + Età: 3 + Codice fiscale: BSSCRC67890 + Numero prenotazioni: 2 + + Prenotazione n. 1: + Codice univoco: LQXJHLIPB0CFML7V + Periodo dell'anno: autunno + Giorni prenotati: 4 + Costo: 946 + Numero persone: 3 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Prenotazione n. 2: + Codice univoco: T5V16ROJWG2F2XA2 + Periodo dell'anno: inverno + Giorni prenotati: 5 + Costo: 1880 + Numero persone: 4 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 4 + Cancellare la prenotazione di quale cliente? + 1 + 2 + Scelta: 1 + Scegliere una prenotazione: + 1. W7VP4H3DYCSQRCB8 + 2. LIE3BRME9MEHP7LA + Scelta: 2 + Prenotazione cancellata con successo. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 6 + Aggiungere una prenotazione a quale cliente? + 1 + 2 + Scelta: 2 + Prenotazione aggiunta con successo + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 2 + Inserire la prenotazione di quale cliente? + 1 + 2 + Scelta: 2 + Quale periodo dell'anno scegliere? + 1. Primavera + 2. Estate + 3. Autunno + 4. Inverno + Scelta: 4 + Per quanti giorni prenotare? 3 + Per quante persone prenotare? 4 + Prenotazione inserita correttamente. + Premere un tasto per continuare. . . + Scegliere un'opzione: + 1. Inserire i dati dei clienti + 2. Inserire una prenotazione + 3. Mostra informazioni cliente + 4. Cancella prenotazione + 5. Mostra tutte le prenotazioni + 6. Aggiungi prenotazione + 0. Esci + Scelta: 3 + Nome: Verde + Cognome: Bassanetti + Età: 17 + Codice fiscale: BSSVRD12345 + Numero prenotazioni: 2 + + Prenotazione n. 1: + Codice univoco: W7VP4H3DYCSQRCB8 + Periodo dell'anno: primavera + Giorni prenotati: 2 + Costo: 1534 + Numero persone: 1 + Codice fiscale a cui è intestata la prenotazione: BSSVRD12345 + + Nome: Clarciccia + Cognome: Bassanetti + Età: 3 + Codice fiscale: BSSCRC67890 + Numero prenotazioni: 3 + + Prenotazione n. 1: + Codice univoco: LQXJHLIPB0CFML7V + Periodo dell'anno: autunno + Giorni prenotati: 4 + Costo: 946 + Numero persone: 3 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Prenotazione n. 2: + Codice univoco: T5V16ROJWG2F2XA2 + Periodo dell'anno: inverno + Giorni prenotati: 5 + Costo: 1880 + Numero persone: 4 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Prenotazione n. 3: + Codice univoco: WSE2B1H2KJ81ZB4D + Periodo dell'anno: inverno + Giorni prenotati: 3 + Costo: 5058 + Numero persone: 4 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Premere un tasto per continuare. . . + Cliente n. 1 + + Prenotazione n. 1: + Codice univoco: W7VP4H3DYCSQRCB8 + Periodo dell'anno: primavera + Giorni prenotati: 2 + Costo: 1534 + Numero persone: 1 + Codice fiscale a cui è intestata la prenotazione: BSSVRD12345 + + Cliente n. 2 + + Prenotazione n. 1: + Codice univoco: LQXJHLIPB0CFML7V + Periodo dell'anno: autunno + Giorni prenotati: 4 + Costo: 946 + Numero persone: 3 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Prenotazione n. 2: + Codice univoco: T5V16ROJWG2F2XA2 + Periodo dell'anno: inverno + Giorni prenotati: 5 + Costo: 1880 + Numero persone: 4 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Prenotazione n. 3: + Codice univoco: WSE2B1H2KJ81ZB4D + Periodo dell'anno: inverno + Giorni prenotati: 3 + Costo: 5058 + Numero persone: 4 + Codice fiscale a cui è intestata la prenotazione: BSSCRC67890 + + Premere un tasto per continuare. . . + + */ Cliente[] clienti = new Cliente[2]; string nome, cognome, codiceFiscale; int eta = 0; @@ -60,13 +391,14 @@ class Program { //inserimento cliente1 { - Console.Write("Quanti clienti considerare? 2"); + Console.WriteLine("Quanti clienti considerare? 2"); Console.WriteLine("Scegliere un'opzione:"); Console.WriteLine("1. Inserire i dati dei clienti"); Console.WriteLine("2. Inserire una prenotazione"); Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 1"); Console.WriteLine("Inserire i dati di quale cliente? "); @@ -140,6 +472,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 2"); Console.WriteLine("Inserire la prenotazione di quale cliente? "); @@ -243,6 +576,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 2"); Console.WriteLine("Inserire la prenotazione di quale cliente? "); @@ -343,6 +677,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 1"); Console.WriteLine("Inserire i dati di quale cliente? "); @@ -416,6 +751,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 2"); Console.WriteLine("Inserire la prenotazione di quale cliente? "); @@ -519,6 +855,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 2"); Console.WriteLine("Inserire la prenotazione di quale cliente? "); @@ -619,6 +956,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 3"); for (int i = 0; i < 2; i++) { @@ -638,6 +976,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 4"); Console.WriteLine("Cancellare la prenotazione di quale cliente? "); @@ -683,7 +1022,132 @@ class Program { } //aggiunta prenotazione cliente2 { + Console.WriteLine("Scegliere un'opzione:"); + Console.WriteLine("1. Inserire i dati dei clienti"); + Console.WriteLine("2. Inserire una prenotazione"); + Console.WriteLine("3. Mostra informazioni cliente"); + Console.WriteLine("4. Cancella prenotazione"); + Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); + Console.WriteLine("0. Esci"); + Console.WriteLine("Scelta: 6"); + Console.WriteLine("Aggiungere una prenotazione a quale cliente?"); + Console.WriteLine("1"); + Console.WriteLine("2"); + Console.WriteLine("Scelta: 2"); + Prenotazione[] precedente = clienti[1].GetPrenotazioni(); + Prenotazione[] nuovo = new Prenotazione[precedente.Length + 1]; + for (int i = 0; i < precedente.Length; i++) { + nuovo[i] = precedente[i]; + } + clienti[1].SetPrenotazioni(nuovo); + Console.WriteLine("Prenotazione aggiunta con successo"); + Pausa(); + } + //inserimento prenotazione 3 cliente2 + { + string[] periodi = ["primavera", "estate", "autunno", "inverno"]; + int giorniPrenotati = 0, numeroPersone = 0, scelta; + + Console.WriteLine("Scegliere un'opzione:"); + Console.WriteLine("1. Inserire i dati dei clienti"); + Console.WriteLine("2. Inserire una prenotazione"); + Console.WriteLine("3. Mostra informazioni cliente"); + Console.WriteLine("4. Cancella prenotazione"); + Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); + Console.WriteLine("0. Esci"); + Console.WriteLine("Scelta: 2"); + Console.WriteLine("Inserire la prenotazione di quale cliente? "); + Console.WriteLine("1"); + Console.WriteLine("2"); + Console.WriteLine("Scelta: 2"); + + scelta = 5; + do { + Console.WriteLine("Quale periodo dell'anno scegliere?"); + Console.WriteLine("1. Primavera"); + Console.WriteLine("2. Estate"); + Console.WriteLine("3. Autunno"); + Console.WriteLine("4. Inverno"); + Console.Write("Scelta: "); + + eccezione = false; + + try { + scelta = Convert.ToInt32(Console.ReadLine()); + } + catch (FormatException) { + Console.WriteLine("Opzione non valida"); + eccezione = true; + Pausa(); + } + if (!eccezione) { + if (scelta < 1 || scelta > 4) { + Console.WriteLine("Opzione non valida"); + Pausa(); + } + } + } while (eccezione || scelta < 1 || scelta > 4); + + do { + Console.Write("Per quanti giorni prenotare? "); + + eccezione = false; + + try { + giorniPrenotati = Convert.ToInt32(Console.ReadLine()); + } + catch (FormatException) { + Console.WriteLine("Numero non valido"); + eccezione = true; + Pausa(); + } + if (!eccezione) { + if (giorniPrenotati <= 0) { + Console.WriteLine("Errore: impossibile prenotare per meno di un giorno."); + Pausa(); + } + } + } + while (eccezione || giorniPrenotati <= 0); + + do { + Console.Write("Per quante persone prenotare? "); + + eccezione = false; + + try { + numeroPersone = Convert.ToInt32(Console.ReadLine()); + } + catch (FormatException) { + Console.WriteLine("Numero non valido"); + eccezione = true; + Pausa(); + } + if (!eccezione) { + if (numeroPersone <= 0) { + Console.WriteLine("Errore: impossibile prenotare per meno di una persona."); + Pausa(); + } + } + } + while (numeroPersone <= 0); + + eccezione = false; + + try { + clienti[1].InserisciPrenotazione(periodi[scelta - 1], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone)); + } + catch (Exception e) { + Console.WriteLine(e.Message); + eccezione = true; + } + if (!eccezione) { + Console.WriteLine("Prenotazione inserita correttamente."); + } + Pausa(); } //stampa di tutti i clienti e tutte le prenotazioni { @@ -693,6 +1157,7 @@ class Program { Console.WriteLine("3. Mostra informazioni cliente"); Console.WriteLine("4. Cancella prenotazione"); Console.WriteLine("5. Mostra tutte le prenotazioni"); + Console.WriteLine("6. Aggiungi prenotazione"); Console.WriteLine("0. Esci"); Console.WriteLine("Scelta: 3"); for (int i = 0; i < 2; i++) { @@ -1012,7 +1477,7 @@ class Program { Pausa(); break; case 6: - do { + do { Console.WriteLine("Aggiungere una prenotazione a quale cliente? "); for (int i = 0; i < clienti.Length; i++) { Console.WriteLine(i + 1); diff --git a/bin/Debug/net9.0/agenzia_viaggi.dll b/bin/Debug/net9.0/agenzia_viaggi.dll index cc6a1e4..13f2524 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 f6217f2..052b388 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 02620f0..bd6ba01 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+4dd44238f18c5c584ff4ebd96a7111c406880bdb")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d78b3c74cce949654f006f3b1870bdcad2e4dc0a")] [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 0005c8f..dbf37f7 100644 --- a/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/agenzia_viaggi.AssemblyInfoInputs.cache @@ -1 +1 @@ -2a7dc145931764cff965068fab78fe77e949894ad5284855228257b3af6943c7 +a4716dc6adf8bf596c298cd537a77cb2e9d160b0120bcf4da3eca3db58ce525f diff --git a/obj/Debug/net9.0/agenzia_viaggi.dll b/obj/Debug/net9.0/agenzia_viaggi.dll index cc6a1e4..13f2524 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 f6217f2..052b388 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 618e7c0..f5c4f78 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 618e7c0..f5c4f78 100644 Binary files a/obj/Debug/net9.0/refint/agenzia_viaggi.dll and b/obj/Debug/net9.0/refint/agenzia_viaggi.dll differ