diff --git a/Ordine.cs b/Ordine.cs index f5bd3d0..4d4907f 100644 --- a/Ordine.cs +++ b/Ordine.cs @@ -1,5 +1,98 @@ namespace ordini_ristorante; 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"; + } } \ No newline at end of file diff --git a/obj/Debug/net9.0/ordini_ristorante.AssemblyInfo.cs b/obj/Debug/net9.0/ordini_ristorante.AssemblyInfo.cs index b712e2c..4d86513 100644 --- a/obj/Debug/net9.0/ordini_ristorante.AssemblyInfo.cs +++ b/obj/Debug/net9.0/ordini_ristorante.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("ordini_ristorante")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [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.AssemblyTitleAttribute("ordini_ristorante")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/ordini_ristorante.AssemblyInfoInputs.cache b/obj/Debug/net9.0/ordini_ristorante.AssemblyInfoInputs.cache index 0b56020..65916b7 100644 --- a/obj/Debug/net9.0/ordini_ristorante.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/ordini_ristorante.AssemblyInfoInputs.cache @@ -1 +1 @@ -9ac5a69e82f66ed2911a99c90a009293dbb97f02178db9df33033cf343bb8fac +4164081635a67124d2dea129a44f253b95f4fca8f652e21a86f2ac2a65ecf2cb