From 1dfbe734d7a2983adf66b36fe6c0bc72f762d4a7 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 22 May 2022 09:41:08 +0300 Subject: Added an error for when a seat doesn't exist in an Event's hall --- src/Services/EventService.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/Services/EventService.cpp') 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; -- cgit v1.3.1-23-gd82d