From 85acd235f3c42551e737804844614d42161e049f Mon Sep 17 00:00:00 2001 From: Hugo Meens Date: Sat, 1 Jul 2023 16:59:32 +0200 Subject: [PATCH] clearing code --- TicketSystem/Order.cs | 46 +++++++-------------------------- TicketSystem/Tickets/Adult.cs | 14 ++-------- TicketSystem/Tickets/Child.cs | 7 +---- TicketSystem/Tickets/Student.cs | 12 +-------- TicketSystem/Tickets/Ticket.cs | 10 ++++--- 5 files changed, 21 insertions(+), 68 deletions(-) diff --git a/TicketSystem/Order.cs b/TicketSystem/Order.cs index 4fa585d..5d7b594 100644 --- a/TicketSystem/Order.cs +++ b/TicketSystem/Order.cs @@ -6,52 +6,26 @@ namespace TicketSystem { public class Order { - private List tickets; - private int price; - public int Price => price; - - public Order() - { - tickets = new List(); - price = 0; - } + /// + /// Add the given ticket to the order + /// public void AddTicket(Ticket ticket) { - tickets.Add(ticket); - price += ticket.price; } + /// + /// Add the correct ticket based on its type to the order + /// public void AddTicket(TicketType type) { - Ticket t; - switch (type) - { - case TicketType.Child: - t = new Child(); - tickets.Add(t); - price += t.price; - break; - case TicketType.Student: - t = new Student(); - tickets.Add(t); - price += t.price; - break; - case TicketType.Adult: - t = new Adult(); - tickets.Add(t); - price += t.price; - break; - } } - + + /// + /// Change the price to have the reduction on it + /// public void ApplyReduction() { - price = 0; - foreach (var ticket in tickets) - { - price += ticket.PriceWithReduction(); - } } } } \ No newline at end of file diff --git a/TicketSystem/Tickets/Adult.cs b/TicketSystem/Tickets/Adult.cs index 311d415..f51b9a3 100644 --- a/TicketSystem/Tickets/Adult.cs +++ b/TicketSystem/Tickets/Adult.cs @@ -1,17 +1,7 @@ namespace TicketSystem.Tickets { - public class Adult: Ticket + public class Adult { - public int price { get; } - - public Adult() - { - price = 20; - } - - public int PriceWithReduction() - { - return price - price/100*20; - } + } } \ No newline at end of file diff --git a/TicketSystem/Tickets/Child.cs b/TicketSystem/Tickets/Child.cs index cdf6893..3943dfc 100644 --- a/TicketSystem/Tickets/Child.cs +++ b/TicketSystem/Tickets/Child.cs @@ -1,6 +1,6 @@ namespace TicketSystem.Tickets { - public class Child: Ticket + public class Child { public int price { get; } @@ -8,10 +8,5 @@ { price = 5; } - - public int PriceWithReduction() - { - return 2; - } } } \ No newline at end of file diff --git a/TicketSystem/Tickets/Student.cs b/TicketSystem/Tickets/Student.cs index 32d7c22..8d8593a 100644 --- a/TicketSystem/Tickets/Student.cs +++ b/TicketSystem/Tickets/Student.cs @@ -1,17 +1,7 @@ namespace TicketSystem.Tickets { - public class Student: Ticket + public class Student { - public int price { get; } - public Student() - { - price = 10; - } - - public int PriceWithReduction() - { - return 10-3; - } } } \ No newline at end of file diff --git a/TicketSystem/Tickets/Ticket.cs b/TicketSystem/Tickets/Ticket.cs index 339d42c..51a75cb 100644 --- a/TicketSystem/Tickets/Ticket.cs +++ b/TicketSystem/Tickets/Ticket.cs @@ -7,9 +7,13 @@ Adult } - public interface Ticket + public class Ticket { - int price { get; } - int PriceWithReduction(); + private int price { get; } + + public Ticket() + { + price = 20; + } } } \ No newline at end of file