57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using TicketSystem.Tickets;
|
|
|
|
namespace TicketSystem
|
|
{
|
|
public class Order
|
|
{
|
|
private List<Ticket> tickets;
|
|
private int price;
|
|
public int Price => price;
|
|
|
|
public Order()
|
|
{
|
|
tickets = new List<Ticket>();
|
|
price = 0;
|
|
}
|
|
|
|
public void AddTicket(Ticket ticket)
|
|
{
|
|
tickets.Add(ticket);
|
|
price += ticket.price;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
public void ApplyReduction()
|
|
{
|
|
price = 0;
|
|
foreach (var ticket in tickets)
|
|
{
|
|
price += ticket.PriceWithReduction();
|
|
}
|
|
}
|
|
}
|
|
} |