diff options
Autocommit at 07.05.2022 @ 10:02
2 files changed, 11 insertions, 6 deletions
| -rw-r--r-- | src/Services/EventService.cpp | 16 | ||||
| -rw-r--r-- | src/Services/EventService.h | 1 |
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp index 1474b79..67e11dc 100644 --- a/src/Services/EventService.cpp +++ b/src/Services/EventService.cpp @@ -8,9 +8,11 @@ void EventService::updateSoonestUpcoming() { } unsigned EventService::indexOfEvent(const char* name, const Date& date) { - unsigned ind = indexOfEvent(date); - if (ind < events.get_count() && events[ind].get_name().compare(name) == 0) - return ind; + // TODO: binary search + for (unsigned i = 0; i < events.get_count(); i++) { + if (events[i].get_date().compare(date) == 0 && events[i].get_name().compare(name) == 0) + return i; + } return events.get_count(); } @@ -58,10 +60,14 @@ StatusCode EventService::reserveTicket(const char* name, const Date& date, const } StatusCode EventService::reserveTicket(const char* name, const Date& date, const char* password, const char* note, const Ticket& ticket) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) + unsigned eInd = indexOfEvent(name, date); + if (eInd == events.get_count()) return E_EventDoesNotExist; + Reservation res(ticket, password, note); + + unsigned + return events[ind].reserveTicket(ticket, password, note); } diff --git a/src/Services/EventService.h b/src/Services/EventService.h index 35be080..858ff41 100644 --- a/src/Services/EventService.h +++ b/src/Services/EventService.h @@ -14,7 +14,6 @@ class EventService { const HallService* hs; void updateSoonestUpcoming(); - unsigned indexOfEvent(const Date& date); unsigned indexOfEvent(const char* name, const Date& date); public: |
