diff options
2 files changed, 10 insertions, 0 deletions
| -rw-r--r-- | src/Services/EventService.cpp | 9 | ||||
| -rw-r--r-- | src/Services/StatusCode.h | 1 |
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; diff --git a/src/Services/StatusCode.h b/src/Services/StatusCode.h index 3813e87..9d3b94f 100644 --- a/src/Services/StatusCode.h +++ b/src/Services/StatusCode.h @@ -25,6 +25,7 @@ enum StatusCode { E_EventWillOverlap, E_EventDoesNotExist, + E_InvalidSeat, E_TicketAlreadyBought, E_TicketAlreadyReserved, E_ReservationDoesNotExist, |
