Website Summary Files Commits Branches @commit @diff @stats
path: root / src / EventSystem / Event.cpp
diff options
context:
space:
mode:
1 files changed, 17 insertions, 0 deletions
-rw-r--r--src/EventSystem/Event.cpp17
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
+}