diff options
Autocommit at 05.05.2022 @ 17:28
3 files changed, 10 insertions, 3 deletions
| -rw-r--r-- | src/EventSystem/Event.cpp | 7 | ||||
| -rw-r--r-- | src/EventSystem/Event.h | 1 | ||||
| -rw-r--r-- | src/EventSystem/EventSystem.cpp | 5 |
diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp index 3deb58c..e9e0375 100644 --- a/src/EventSystem/Event.cpp +++ b/src/EventSystem/Event.cpp @@ -59,8 +59,11 @@ StatusCode Event::buyTicketFromReservation(const Reservation& reservation, const } bool Event::ticketIsFree(unsigned row, unsigned seat) { - Ticket temp(row, seat); - unsigned ind = tickets.findIndex(temp); + return ticketIsFree(Ticket(row, seat)); +} + +bool Event::ticketIsFree(const Ticket& ticket) { + return tickets.findIndex(ticket) != tickets.get_count() || reservations.findIndex(Reservation(ticket)) != reservations.get_count(); } int Event::compare(const Event& other) { diff --git a/src/EventSystem/Event.h b/src/EventSystem/Event.h index f33b33a..f4c5038 100644 --- a/src/EventSystem/Event.h +++ b/src/EventSystem/Event.h @@ -35,6 +35,7 @@ public: StatusCode buyTicketFromReservation(const Reservation& reservation, const char* password); bool ticketIsFree(unsigned row, unsigned seat); + bool ticketIsFree(const Ticket& ticket); int compare(const Event& other); }; diff --git a/src/EventSystem/EventSystem.cpp b/src/EventSystem/EventSystem.cpp index cdfa6c9..3502b50 100644 --- a/src/EventSystem/EventSystem.cpp +++ b/src/EventSystem/EventSystem.cpp @@ -54,7 +54,10 @@ StatusCode EventSystem::cancelEvent(const char* name, const Date& date) { } StatusCode EventSystem::reserveTicket(const char* name, const Date& date, char* note, unsigned seatRow, unsigned seatColumn) { - + unsigned ei = indexOfEvent(name, date); + if (ei == events.get_count()) + return E_EventDoesNotExist; + } List<Ticket> EventSystem::queryFreeTickets(const char* name, const Date& dt) { |
