Creazione iniziale classe Cliente

This commit is contained in:
La Programmatrice Verde 2025-05-07 09:58:14 +02:00
parent 8e5f3e33fb
commit e1c52f9376
4 changed files with 118 additions and 5 deletions

View File

@ -1,5 +1,116 @@
using System.ComponentModel;
namespace agenzia_viaggi;
class Cliente {
string nome;
string cognome;
string codiceFiscale;
string eta;
Prenotazione[] prenotazioni;
public Cliente(string p_nome, string p_cognome, string p_codiceFiscale, string p_eta, Prenotazione[] p_prenotazioni) {
this.nome = p_nome;
this.cognome = p_cognome;
this.eta = p_eta;
this.prenotazioni = p_prenotazioni;
this.codiceFiscale = CheckCodiceFiscale(p_codiceFiscale) ? p_codiceFiscale : throw new Exception("Codice fiscale non valido");
}
private bool CheckCodiceFiscale(string p_codiceFiscale) {
bool ritorno;
//controllo sulla validità del codice fiscale
return ritorno;
}
public string GetNome() {
return this.nome;
}
public string GetCognome() {
return this.cognome;
}
public string GetCodiceFiscale() {
return this.codiceFiscale;
}
public string GetEta() {
return this.eta;
}
public Prenotazione[] GetPrenotazioni() {
return this.prenotazioni;
}
public void SetNome(string p_nome) {
this.nome = p_nome;
}
public void SetCognome(string p_cognome) {
this.cognome = p_cognome;
}
public void SetEta(string p_eta) {
this.eta = p_eta;
}
public void SetCodiceFiscale(string p_codiceFiscale) {
this.codiceFiscale = p_codiceFiscale;
}
public void SetPrenotazioni(Prenotazione[] p_prenotazioni) {
this.prenotazioni = p_prenotazioni;
}
public void InserisciPrenotazione(string p_periodo, string p_giorniPrenotati, string p_numeroPersone) {
bool isPrenotazioneEsistente = true;
int i;
if (this.prenotazioni.Length > 10) {
throw new Exception("Errore: sono consentite solo 10 prenotazioni per cliente");
}
else {
//trova la prima cella disponibile
for (i = 0; i < this.prenotazioni.Length && isPrenotazioneEsistente; i++) {
if (this.prenotazioni[i] == null) {
isPrenotazioneEsistente = false;
}
}
this.prenotazioni[i] = new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale());
}
}
public void CancellaPrenotazione(string p_UUID) {
string[] UUIDs = new string[this.prenotazioni.Length];
bool exit = false;
int j;
for (int i = 0; i < this.prenotazioni.Length; i++) {
UUIDs[i] = this.prenotazioni[i].GetUUID();
}
//verifico che lo UUID esista
for (j = 0; j < this.prenotazioni.Length && !exit; j++) {
if (UUIDs[j] == p_UUID) {
exit = true;
}
}
this.prenotazioni[j] = exit ? null : throw new Exception("Codice prenotazione non trovato");
}
public void StampaDatiCliente() {
Console.WriteLine($"Nome: {this.GetNome()}");
Console.WriteLine($"Cognome: {this.GetCognome()}");
Console.WriteLine($"Età: {this.GetEta()}");
Console.WriteLine($"Codice fiscale: {this.GetCodiceFiscale()}");
}
public void StampaPrenotazioni() {
for (int i = 0; i < this.prenotazioni.Length; i++) {
if (this.prenotazioni[i] != null) {
Console.WriteLine($"Prenotazione n. {i + 1}:");
this.prenotazioni[i].StampaDatiPrenotazione();
Console.WriteLine();
}
}
}
}

View File

@ -8,11 +8,11 @@ class Prenotazione {
string numeroPersone;
string codiceFiscalePrenotante;
public Prenotazione(string p_UUID, string p_periodo, string p_giorniPrenotati, string p_costo, string p_numeroPersone, string p_codiceFiscalePrenotante) {
this.UUID = p_UUID;
public Prenotazione(string p_periodo, string p_giorniPrenotati, string p_numeroPersone, string p_codiceFiscalePrenotante) {
this.UUID = this.SetUUID();
this.periodo = p_periodo;
this.giorniPrenotati = p_giorniPrenotati;
this.costo = p_costo;
this.costo = this.SetCosto();
this.numeroPersone = p_numeroPersone;
this.codiceFiscalePrenotante = p_codiceFiscalePrenotante;
}
@ -43,6 +43,7 @@ class Prenotazione {
public void SetUUID(string p_UUID) {
this.UUID = p_UUID;
//è un calcolo particolare, va fatto meglio
}
public void SetPeriodo(string p_periodo) {
@ -55,6 +56,7 @@ class Prenotazione {
public void SetCosto(string p_costo) {
this.costo = p_costo;
//è un calcolo particolare, va fatto meglio
}
public void SetNumeroPersone(string p_numeroPersone) {

View File

@ -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+ea93404bdc7d270cc0a9459ea771a863f6ab1930")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8e5f3e33fbcd48695682ec39aee4bd41978d057c")]
[assembly: System.Reflection.AssemblyProductAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyTitleAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
990d92297fa546ed4818085ae57abd019d21acfaccc0fa93ed345e73090af2db
f8f6f674141003bac93fe918afe7713f0e7b7f4d36c5021a8ac1373fecaeff14