Website Summary Files Commits Branches @commit @diff @stats
path: root / src / EventSystem
diff options
context:
space:
mode:
Commita10d94997c0019f815d83da5dc2ff07167868957 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 16:53:14 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 16:53:14 +0300
Filesed906399af14a338e531b648e1db89335d178bff /src/EventSystem
FMI-OOP-P1_TicketSystem-a10d94997c0019f815d83da5dc2ff07167868957.tar
FMI-OOP-P1_TicketSystem-a10d94997c0019f815d83da5dc2ff07167868957.tar.gz
FMI-OOP-P1_TicketSystem-a10d94997c0019f815d83da5dc2ff07167868957.zip
Parent91eee46de2d125bda7e3597b4f8453d7fef6e7e1 (diff)
Autocommit at 05.05.2022 @ 16:53
2 files changed, 17 insertions, 11 deletions
-rw-r--r--src/EventSystem/EventSystem.cpp25
-rw-r--r--src/EventSystem/EventSystem.h3
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<Ticket> EventSystem::queryFreeTickets(const char* name, const Date& dt) {
+ List<Ticket> 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<Ticket> queryFreeSeats(const char* name, const Date& dt);
+ List<Ticket> queryFreeTickets(const char* name, const Date& dt);
void queryReservations(unsigned eventIndex);
void queryBoughtTickets(Date start, Date end, unsigned hall);
void queryMostVisited();