diff options
1 files changed, 9 insertions, 0 deletions
| -rw-r--r-- | src/Services/EventService.cpp | 9 |
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; |
