Classe Ordine mezza fatta

This commit is contained in:
La Programmatrice Verde 2025-05-28 09:11:12 +02:00
parent c198c06c29
commit e53ef05ebf
3 changed files with 95 additions and 2 deletions

View File

@ -1,5 +1,98 @@
namespace ordini_ristorante; namespace ordini_ristorante;
class Ordine { class Ordine {
int codiceOrdine;
DateTime dataOrdine;
string cliente;
Piatto[] piatti;
string stato;
public Ordine(int p_codiceOrdine, DateTime p_dataOrdine, string p_cliente, Piatto[] p_piatti, string p_stato) {
this.codiceOrdine = p_codiceOrdine;
this.dataOrdine = p_dataOrdine;
this.cliente = p_cliente;
this.piatti = piatti;
this.stato = p_stato != "in preparazione" || p_stato != "pagato" || p_stato != "annullato"
? throw new FormatException("Stato non valido")
: p_stato;
}
public int GetCodiceOrdine() {
return this.codiceOrdine;
}
public DateTime GetDataOrdine() {
return this.dataOrdine;
}
public string GetCliente() {
return this.cliente;
}
public Piatto[] GetPiatti() {
return this.piatti;
}
public string GetStato() {
return this.stato;
}
public void SetCodiceOrdine(int p_codiceOrdine) {
this.codiceOrdine = p_codiceOrdine;
}
public void SetDataOrdine(DateTime p_dataOrdine) {
this.dataOrdine = p_dataOrdine;
}
public void SetCliente(string p_cliente) {
this.cliente = p_cliente;
}
public void SetPiatti(Piatto[] p_piatti) {
this.piatti = p_piatti;
}
public void SetStato(string p_stato) {
this.stato = p_stato != "in preparazione" || p_stato != "pagato" || p_stato != "annullato"
? throw new FormatException("Stato non valido")
: p_stato;
}
public void StampaOrdine() {
int i = 0;
Console.WriteLine($"Codice ordine: {this.GetCodiceOrdine()}");
Console.WriteLine($"Data ordine: {this.GetDataOrdine()}");
Console.WriteLine($"Cliente a cui l'ordine è intestato: {this.GetCliente()}");
Console.WriteLine($"Piatti ordinati:");
foreach (Piatto piatto in this.piatti) {
Console.WriteLine($"Piatto {i + 1}:");
piatto.StampaPiatto();
Console.WriteLine();
i++;
}
Console.WriteLine($"Stato dell'ordine: {this.GetStato()}");
}
public void AggiungiPiatto() {
Piatto[] piattiNuovo = new Piatto[this.piatti.Length + 1];
this.piatti.CopyTo(piattiNuovo, 0);
this.piatti = piattiNuovo;
}
public float TotaleOrdine() {
float ritorno = 0;
foreach (Piatto piatto in piatti) {
ritorno += piatto.GetPrezzo();
}
return ritorno;
}
public int? AnnullaOrdine() {
return null;
}
public void Pagamento() {
this.stato = "pagato";
}
} }

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("ordini_ristorante")] [assembly: System.Reflection.AssemblyCompanyAttribute("ordini_ristorante")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9023ed83425a547edfb1994e1147cfea2e2c758a")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c198c06c2994db3b4ad610f37311f428774cee21")]
[assembly: System.Reflection.AssemblyProductAttribute("ordini_ristorante")] [assembly: System.Reflection.AssemblyProductAttribute("ordini_ristorante")]
[assembly: System.Reflection.AssemblyTitleAttribute("ordini_ristorante")] [assembly: System.Reflection.AssemblyTitleAttribute("ordini_ristorante")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
9ac5a69e82f66ed2911a99c90a009293dbb97f02178db9df33033cf343bb8fac 4164081635a67124d2dea129a44f253b95f4fca8f652e21a86f2ac2a65ecf2cb