Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Services / EventService.cpp
diff options
context:
space:
mode:
1 files changed, 9 insertions, 0 deletions
-rw-r--r--src/Services/EventService.cpp9
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp
index 0ab223f..7ee757e 100644
--- a/src/Services/EventService.cpp
+++ b/src/Services/EventService.cpp
@@ -74,6 +74,9 @@ StatusCode EventService::reserveTicket(const char* name, const Date& date, const
if (eInd == events.get_count())
return E_EventDoesNotExist;
+ if (events[eInd].get_hall().get_rows() < ticket.get_row() || events[eInd].get_hall().get_seatsPerRow() < ticket.get_seat())
+ return E_InvalidSeat;
+
unsigned tInd = events[eInd].get_tickets().findIndex(ticket);
if (tInd < events[eInd].get_tickets().get_count())
return E_TicketAlreadyBought;
@@ -100,6 +103,9 @@ StatusCode EventService::cancelTicketReservation(const char* name, const Date& d
if (eInd == events.get_count())
return E_EventDoesNotExist;
+ if (events[eInd].get_hall().get_rows() < ticket.get_row() || events[eInd].get_hall().get_seatsPerRow() < ticket.get_seat())
+ return E_InvalidSeat;
+
unsigned rInd = events[eInd].get_reservations().findIndex(ticket);
if (rInd == events[eInd].get_reservations().get_count())
return W_TicketHadNotBeenReserved;
@@ -144,6 +150,9 @@ StatusCode EventService::buyTicket(const char* name, const Date& date, const Tic
if (eInd == events.get_count())
return E_EventDoesNotExist;
+ if (events[eInd].get_hall().get_rows() < ticket.get_row() || events[eInd].get_hall().get_seatsPerRow() < ticket.get_seat())
+ return E_InvalidSeat;
+
unsigned tInd = events[eInd].get_tickets().findIndex(ticket);
if (tInd < events[eInd].get_tickets().get_count())
return E_TicketAlreadyBought;