From a10d94997c0019f815d83da5dc2ff07167868957 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 5 May 2022 16:53:14 +0300 Subject: Autocommit at 05.05.2022 @ 16:53 --- src/EventSystem/EventSystem.cpp | 25 +++++++++++++++---------- src/EventSystem/EventSystem.h | 3 ++- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'src/EventSystem') diff --git a/src/EventSystem/EventSystem.cpp b/src/EventSystem/EventSystem.cpp index b7147c6..2f14707 100644 --- a/src/EventSystem/EventSystem.cpp +++ b/src/EventSystem/EventSystem.cpp @@ -6,6 +6,14 @@ void EventSystem::updateSoonestUpcoming() { } +unsigned EventSystem::indexOfEvent(const char* name, const Date& dt) { + for (unsigned i = indSoonestUpcoming; i < events.get_count(); i++) { + if (events[i].get_date().compare(dt) == 0 && events[i].get_name().compare(name) == 0) + return i; + } + return events.get_count(); +} + /* Public */ EventSystem::EventSystem() { @@ -24,15 +32,12 @@ StatusCode EventSystem::createEvent(const Hall* hall, String name, Date date) { return Success; } -unsigned EventSystem::queryFreeSeats(const char* name, const Date& dt) { - unsigned index = events.get_count(); - for (unsigned i = indSoonestUpcoming; i < events.get_count(); i++) { - if (events[i].get_date().compare(dt) == 0 && events[i].get_name().compare(name) == 0) { - index = i; - break; - } +List EventSystem::queryFreeTickets(const char* name, const Date& dt) { + List freeTickets(); + unsigned ind = indexOfEvent(name, dt); + + if (ind < events[ind].get_count()) { + } - if (index == events.get_count()) - return 0; - return events[index].queryFreeSeats(); + return freeTickets; } diff --git a/src/EventSystem/EventSystem.h b/src/EventSystem/EventSystem.h index 6b0a0f8..7ee05fe 100644 --- a/src/EventSystem/EventSystem.h +++ b/src/EventSystem/EventSystem.h @@ -12,6 +12,7 @@ class EventSystem { unsigned indSoonestUpcoming; void updateSoonestUpcoming(); + unsigned indexOfEvent(const char* name, const Date& dt); public: EventSystem(); @@ -25,7 +26,7 @@ public: StatusCode buyTicket(); void queryUpcoming(unsigned hallIndex); - List queryFreeSeats(const char* name, const Date& dt); + List queryFreeTickets(const char* name, const Date& dt); void queryReservations(unsigned eventIndex); void queryBoughtTickets(Date start, Date end, unsigned hall); void queryMostVisited(); -- cgit v1.3.1-26-gb76a