Website Summary Files Commits Branches @commit @diff @stats
path: root / src / EventSystem
diff options
context:
space:
mode:
Commita49328cf504ddd943254aab8769017da1cb49b2c (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 17:38:29 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 17:38:29 +0300
Filesf8cbacc6b8666be64fa03e1dfd6263760c94b429 /src/EventSystem
FMI-OOP-P1_TicketSystem-a49328cf504ddd943254aab8769017da1cb49b2c.tar
FMI-OOP-P1_TicketSystem-a49328cf504ddd943254aab8769017da1cb49b2c.tar.gz
FMI-OOP-P1_TicketSystem-a49328cf504ddd943254aab8769017da1cb49b2c.zip
Parent6c7d87f7d41d0a43689bcc66be8c35cf041e6b9b (diff)
Autocommit at 05.05.2022 @ 17:38
5 files changed, 16 insertions, 3 deletions
-rw-r--r--src/EventSystem/Event.cpp6
-rw-r--r--src/EventSystem/Event.h1
-rw-r--r--src/EventSystem/EventSystem.cpp8
-rw-r--r--src/EventSystem/EventSystem.h2
-rw-r--r--src/EventSystem/StatusCodes.h2
diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp
index e9e0375..8d01fbe 100644
--- a/src/EventSystem/Event.cpp
+++ b/src/EventSystem/Event.cpp
@@ -30,10 +30,14 @@ StatusCode Event::reserveTicket(const Ticket& ticket, const char* password, cons
return Success;
}
+StatusCode Event::cancelReservation(unsigned row, unsigned seat) {
+ return cancelReservation(Ticket(row, seat));
+}
+
StatusCode Event::cancelReservation(const Ticket& ticket) {
unsigned ind = reservations.findIndex(ticket);
if (ind == reservations.get_count())
- return W_TicketWasNotReserved;
+ return W_TicketHadNotBeenReserved;
reservations.removeAt(ind);
return Success;
diff --git a/src/EventSystem/Event.h b/src/EventSystem/Event.h
index f4c5038..9dd1218 100644
--- a/src/EventSystem/Event.h
+++ b/src/EventSystem/Event.h
@@ -28,6 +28,7 @@ public:
StatusCode reserveTicket(const Ticket& ticket, const char* password, const char* note);
+ StatusCode cancelReservation(unsigned row, unsigned seat);
StatusCode cancelReservation(const Ticket& ticket);
StatusCode buyTicket(const Ticket& ticket);
diff --git a/src/EventSystem/EventSystem.cpp b/src/EventSystem/EventSystem.cpp
index be0b7ed..1a490ad 100644
--- a/src/EventSystem/EventSystem.cpp
+++ b/src/EventSystem/EventSystem.cpp
@@ -63,6 +63,14 @@ StatusCode EventSystem::reserveTicket(const char* name, const Date& date, const
return events[ind].reserveTicket(Ticket(seatRow, seatColumn), password, note);
}
+StatusCode EventSystem::cancelTicketReservation(const char* name, const Date& date, unsigned seatRow, unsigned seatColumn) {
+ unsigned ind = indexOfEvent(name, date);
+ if (ind == events.get_count())
+ return E_EventDoesNotExist;
+
+ return events[ind].cancelReservation(seatRow, seatColumn);
+}
+
List<Ticket> EventSystem::queryFreeTickets(const char* name, const Date& dt) {
unsigned ind = indexOfEvent(name, dt);
diff --git a/src/EventSystem/EventSystem.h b/src/EventSystem/EventSystem.h
index 675f590..f994a4c 100644
--- a/src/EventSystem/EventSystem.h
+++ b/src/EventSystem/EventSystem.h
@@ -23,7 +23,7 @@ public:
StatusCode cancelEvent(const char* name, const Date& date);
StatusCode reserveTicket(const char* name, const Date& date, const char* password, const char* note, unsigned seatRow, unsigned seatColumn);
- StatusCode cancelTicketReservation();
+ StatusCode cancelTicketReservation(const char* name, const Date& date, unsigned seatRow, unsigned seatColumn);
StatusCode buyTicket();
List<Ticket> queryFreeTickets(const char* name, const Date& dt);
diff --git a/src/EventSystem/StatusCodes.h b/src/EventSystem/StatusCodes.h
index 456a223..449a81f 100644
--- a/src/EventSystem/StatusCodes.h
+++ b/src/EventSystem/StatusCodes.h
@@ -5,7 +5,7 @@ enum StatusCode {
Success,
- W_TicketWasNotReserved,
+ W_TicketHadNotBeenReserved,
E_Generic,