diff options
Autocommit at 02.05.2022 @ 21:55
1 files changed, 17 insertions, 0 deletions
| -rw-r--r-- | src/EventSystem/Event.cpp | 17 |
diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp index 607f225..f0a3f75 100644 --- a/src/EventSystem/Event.cpp +++ b/src/EventSystem/Event.cpp @@ -1,4 +1,5 @@ #include "Event.h" +#include "Reservation.h" #include "StatusCodes.h" Event::Event() : Event(nullptr, "", DateTime()) {} @@ -25,3 +26,19 @@ StatusCode Event::cancelReservation(const Ticket& ticket) { reservations.removeAt(ind); return Success; } + +StatusCode Event::buyTicket(const Ticket& ticket) { + if (tickets.contain(ticket)) return E_TicketAlreadyBought; + if (reservations.contain(ticket)) return E_TicketAlreadyReserved; + + tickets.insert(ticket); + return Success; +} + +StatusCode Event::buyTicketFromReservation(const Reservation& reservation, const char* password) { + if (!reservations.contain(reservation)) return E_ReservationDoesNotExist; + + if (!reservation.checkPassword(password)) return E_WrongReservationPassword; + + reservations.removeAt +} |
