1617 lines
59 KiB
C#
1617 lines
59 KiB
C#
namespace agenzia_viaggi;
|
|
|
|
class Program {
|
|
static void Main(string[] args) {
|
|
Console.Clear();
|
|
int scelta = 3;
|
|
bool eccezione;
|
|
|
|
do {
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Demo");
|
|
Console.WriteLine("2. Esecuzione standard");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
switch (scelta) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
Console.Clear();
|
|
Demo();
|
|
break;
|
|
case 2:
|
|
Console.Clear();
|
|
Menu();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || scelta < 0 || scelta > 2);
|
|
}
|
|
|
|
static void Pausa() {
|
|
Console.WriteLine("Premere un tasto per continuare. . .");
|
|
Console.ReadKey();
|
|
}
|
|
|
|
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;
|
|
bool eccezione;
|
|
|
|
//inserimento cliente1
|
|
{
|
|
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? ");
|
|
Console.WriteLine("1");
|
|
Console.WriteLine("2");
|
|
Console.WriteLine("Scelta: 1");
|
|
do {
|
|
Console.Write("Inserire il nome: ");
|
|
nome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(nome)) {
|
|
Console.WriteLine("Errore: inserire un nome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(nome));
|
|
|
|
do {
|
|
Console.Write("Inserire il cognome: ");
|
|
cognome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(cognome)) {
|
|
Console.WriteLine("Errore: inserire un cognome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(cognome));
|
|
|
|
do {
|
|
Console.Write("Inserire il codice fiscale: ");
|
|
codiceFiscale = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(codiceFiscale)) {
|
|
Console.WriteLine("Errore: inserire un codice fiscale");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(codiceFiscale));
|
|
|
|
do {
|
|
Console.Write("Inserire l'età: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
eta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Età non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (eta <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un'età inferiore a 1");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || eta <= 0);
|
|
|
|
Console.Write("Inserire il numero di prenotazioni: 2");
|
|
|
|
clienti[0] = new Cliente(nome, cognome, codiceFiscale, Convert.ToString(eta), 2);
|
|
}
|
|
//inserimento prenotazione 1 cliente1
|
|
{
|
|
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: 1");
|
|
|
|
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[0].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();
|
|
}
|
|
//inserimento prenotazione 2 cliente1
|
|
{
|
|
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: 1");
|
|
|
|
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[0].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();
|
|
}
|
|
//inserimento 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: 1");
|
|
Console.WriteLine("Inserire i dati di quale cliente? ");
|
|
Console.WriteLine("1");
|
|
Console.WriteLine("2");
|
|
Console.WriteLine("Scelta: 2");
|
|
do {
|
|
Console.Write("Inserire il nome: ");
|
|
nome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(nome)) {
|
|
Console.WriteLine("Errore: inserire un nome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(nome));
|
|
|
|
do {
|
|
Console.Write("Inserire il cognome: ");
|
|
cognome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(cognome)) {
|
|
Console.WriteLine("Errore: inserire un cognome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(cognome));
|
|
|
|
do {
|
|
Console.Write("Inserire il codice fiscale: ");
|
|
codiceFiscale = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(codiceFiscale)) {
|
|
Console.WriteLine("Errore: inserire un codice fiscale");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(codiceFiscale));
|
|
|
|
do {
|
|
Console.Write("Inserire l'età: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
eta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Età non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (eta <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un'età inferiore a 1");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || eta <= 0);
|
|
|
|
Console.Write("Inserire il numero di prenotazioni: 2");
|
|
|
|
clienti[1] = new Cliente(nome, cognome, codiceFiscale, Convert.ToString(eta), 2);
|
|
}
|
|
//inserimento prenotazione 1 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();
|
|
}
|
|
//inserimento prenotazione 2 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
|
|
{
|
|
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: 3");
|
|
for (int i = 0; i < 2; i++) {
|
|
if (clienti[i] != null) {
|
|
clienti[i].StampaDatiCliente();
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
}
|
|
Pausa();
|
|
}
|
|
//cancella prenotazione cliente1
|
|
{
|
|
int scelta = 0;
|
|
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: 4");
|
|
Console.WriteLine("Cancellare la prenotazione di quale cliente? ");
|
|
Console.WriteLine("1");
|
|
Console.WriteLine("2");
|
|
Console.WriteLine("Scelta: 1");
|
|
do {
|
|
Console.WriteLine("Scegliere una prenotazione:");
|
|
for (int i = 0; i < clienti[0].GetPrenotazioni().Length; i++) {
|
|
if (clienti[0].GetPrenotazioni()[i] != null) {
|
|
Console.WriteLine($"{i + 1}. {clienti[0].GetPrenotazioni()[i].GetUUID()}");
|
|
}
|
|
}
|
|
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 > clienti[0].GetPrenotazioni().Length) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
else if (clienti[0].GetPrenotazioni()[scelta - 1] == null) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || scelta < 1 || scelta > clienti[0].GetPrenotazioni().Length || clienti[0].GetPrenotazioni()[scelta - 1] == null);
|
|
|
|
clienti[0].CancellaPrenotazione(clienti[0].GetPrenotazioni()[scelta - 1].GetUUID());
|
|
|
|
Console.WriteLine("Prenotazione cancellata con successo.");
|
|
Pausa();
|
|
}
|
|
//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
|
|
{
|
|
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: 3");
|
|
for (int i = 0; i < 2; i++) {
|
|
if (clienti[i] != null) {
|
|
clienti[i].StampaDatiCliente();
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
}
|
|
Pausa();
|
|
}
|
|
//stampa tutte le operazioni
|
|
{
|
|
for (int i = 0; i < clienti.Length; i++) {
|
|
if (clienti[i] != null) {
|
|
Console.WriteLine($"Cliente n. {i + 1}\n");
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
}
|
|
Pausa();
|
|
}
|
|
}
|
|
|
|
static void Menu() {
|
|
int numeroClienti = 0, scelta = 0, input = 0;
|
|
bool eccezione;
|
|
|
|
do {
|
|
Console.Write("Quanti clienti considerare? ");
|
|
|
|
eccezione = false;
|
|
try {
|
|
numeroClienti = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Numero non valido");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (numeroClienti <= 0) {
|
|
Console.WriteLine("Errore: non è possibile considerare meno di un cliente.");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || numeroClienti <= 0);
|
|
|
|
Cliente[] clienti = new Cliente[numeroClienti];
|
|
|
|
do {
|
|
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.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
|
|
if (!eccezione) {
|
|
switch (scelta) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
do {
|
|
Console.WriteLine("Inserire i dati di quale cliente? ");
|
|
for (int i = 0; i < clienti.Length; i++) {
|
|
Console.WriteLine(i + 1);
|
|
}
|
|
Console.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
input = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (input <= 0 || input > numeroClienti) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
else if (clienti[input - 1] != null) {
|
|
Console.WriteLine("Errore: i dati di questo cliente sono già stati inseriti.");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || input <= 0 || input > numeroClienti || clienti[input - 1] != null);
|
|
|
|
clienti[input - 1] = CreaCliente();
|
|
Console.WriteLine("Cliente inserito con successo");
|
|
|
|
Pausa();
|
|
break;
|
|
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++) {
|
|
Console.WriteLine(i + 1);
|
|
}
|
|
Console.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
input = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (input <= 0 || input > numeroClienti) {
|
|
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 || clienti[input - 1] == null);
|
|
|
|
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[input - 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();
|
|
|
|
break;
|
|
case 3:
|
|
for (int i = 0; i < numeroClienti; i++) {
|
|
if (clienti[i] != null) {
|
|
clienti[i].StampaDatiCliente();
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
}
|
|
Pausa();
|
|
break;
|
|
case 4:
|
|
|
|
do {
|
|
Console.WriteLine("Cancellare la prenotazione di quale cliente? ");
|
|
for (int i = 0; i < clienti.Length; i++) {
|
|
Console.WriteLine(i + 1);
|
|
}
|
|
Console.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
input = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (input <= 0 || input > numeroClienti) {
|
|
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 || clienti[input - 1] == null);
|
|
|
|
do {
|
|
Console.WriteLine("Scegliere una prenotazione:");
|
|
for (int i = 0; i < clienti[input - 1].GetPrenotazioni().Length; i++) {
|
|
if (clienti[input - 1].GetPrenotazioni()[i] != null) {
|
|
Console.WriteLine($"{i + 1}. {clienti[input - 1].GetPrenotazioni()[i].GetUUID()}");
|
|
}
|
|
}
|
|
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 > clienti[input - 1].GetPrenotazioni().Length) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
else if (clienti[input - 1].GetPrenotazioni()[scelta - 1] == null) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || scelta < 1 || scelta > clienti[input - 1].GetPrenotazioni().Length || clienti[input - 1].GetPrenotazioni()[scelta - 1] == null);
|
|
|
|
clienti[input - 1].CancellaPrenotazione(clienti[input - 1].GetPrenotazioni()[scelta - 1].GetUUID());
|
|
|
|
Console.WriteLine("Prenotazione cancellata con successo.");
|
|
Pausa();
|
|
break;
|
|
case 5:
|
|
for (int i = 0; i < clienti.Length; i++) {
|
|
if (clienti[i] != null) {
|
|
Console.WriteLine($"Cliente n. {i + 1}\n");
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
}
|
|
Pausa();
|
|
break;
|
|
case 6:
|
|
do {
|
|
Console.WriteLine("Aggiungere una prenotazione a quale cliente? ");
|
|
for (int i = 0; i < clienti.Length; i++) {
|
|
Console.WriteLine(i + 1);
|
|
}
|
|
Console.Write("Scelta: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
input = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (input <= 0 || input > numeroClienti) {
|
|
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 || clienti[input - 1] == null);
|
|
|
|
Prenotazione[] precedente = clienti[input - 1].GetPrenotazioni();
|
|
Prenotazione[] nuovo = new Prenotazione[precedente.Length + 1];
|
|
for (int i = 0; i < precedente.Length; i++) {
|
|
nuovo[i] = precedente[i];
|
|
}
|
|
clienti[input - 1].SetPrenotazioni(nuovo);
|
|
Console.WriteLine("Prenotazione aggiunta con successo");
|
|
Pausa();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || scelta != 0);
|
|
}
|
|
|
|
static Cliente CreaCliente() {
|
|
string nome, cognome, codiceFiscale;
|
|
int eta = 0, prenotazioni = 0;
|
|
const int MAX_PRENOTAZIONI = 10;
|
|
bool eccezione;
|
|
|
|
do {
|
|
Console.Write("Inserire il nome: ");
|
|
nome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(nome)) {
|
|
Console.WriteLine("Errore: inserire un nome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(nome));
|
|
|
|
do {
|
|
Console.Write("Inserire il cognome: ");
|
|
cognome = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(cognome)) {
|
|
Console.WriteLine("Errore: inserire un cognome");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(cognome));
|
|
|
|
do {
|
|
Console.Write("Inserire il codice fiscale: ");
|
|
codiceFiscale = Console.ReadLine();
|
|
if (string.IsNullOrWhiteSpace(codiceFiscale)) {
|
|
Console.WriteLine("Errore: inserire un codice fiscale");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (string.IsNullOrWhiteSpace(codiceFiscale));
|
|
|
|
do {
|
|
Console.Write("Inserire l'età: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
eta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Età non valida");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (eta <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un'età inferiore a 1");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || eta <= 0);
|
|
|
|
do {
|
|
Console.Write("Inserire il numero di prenotazioni: ");
|
|
|
|
eccezione = false;
|
|
|
|
try {
|
|
prenotazioni = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Numero non valido");
|
|
eccezione = true;
|
|
Pausa();
|
|
}
|
|
if (!eccezione) {
|
|
if (prenotazioni <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un numero di prenotazioni inferiore a 1");
|
|
Pausa();
|
|
}
|
|
else if (prenotazioni > MAX_PRENOTAZIONI) {
|
|
Console.WriteLine($"Errore: sono consentite al massimo {MAX_PRENOTAZIONI} prenotazioni per cliente");
|
|
Pausa();
|
|
}
|
|
}
|
|
}
|
|
while (eccezione || prenotazioni <= 0 || prenotazioni > MAX_PRENOTAZIONI);
|
|
|
|
return new Cliente(nome, cognome, codiceFiscale, Convert.ToString(eta), prenotazioni);
|
|
|
|
}
|
|
}
|