Website Summary Files Commits Branches @commit @diff @stats
path: root / src / EventSystem
diff options
context:
space:
mode:
Commit6c7d87f7d41d0a43689bcc66be8c35cf041e6b9b (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 17:33:27 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 17:33:27 +0300
Filesbda1099ddfa469f331e56074de3cead49cfb2a34 /src/EventSystem
FMI-OOP-P1_TicketSystem-6c7d87f7d41d0a43689bcc66be8c35cf041e6b9b.tar
FMI-OOP-P1_TicketSystem-6c7d87f7d41d0a43689bcc66be8c35cf041e6b9b.tar.gz
FMI-OOP-P1_TicketSystem-6c7d87f7d41d0a43689bcc66be8c35cf041e6b9b.zip
Parent9812e0ae03f516bcfa91b1038cf3fee1ca911489 (diff)
Autocommit at 05.05.2022 @ 17:33
3 files changed, 8 insertions, 4 deletions
-rw-r--r--src/EventSystem/EventSystem.cpp9
-rw-r--r--src/EventSystem/EventSystem.h2
-rw-r--r--src/EventSystem/StatusCodes.h1
diff --git a/src/EventSystem/EventSystem.cpp b/src/EventSystem/EventSystem.cpp
index 3502b50..be0b7ed 100644
--- a/src/EventSystem/EventSystem.cpp
+++ b/src/EventSystem/EventSystem.cpp
@@ -53,11 +53,14 @@ StatusCode EventSystem::cancelEvent(const char* name, const Date& date) {
return Success;
}
-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())
+StatusCode EventSystem::reserveTicket(const char* name, const Date& date, const char* password, const char* note, unsigned seatRow, unsigned seatColumn) {
+ unsigned ind = indexOfEvent(name, date);
+ if (ind == events.get_count())
return E_EventDoesNotExist;
+ if (!events[ind].ticketIsFree(seatRow, seatColumn))
+ return E_TicketIsNotFree;
+ return events[ind].reserveTicket(Ticket(seatRow, seatColumn), password, note);
}
List<Ticket> EventSystem::queryFreeTickets(const char* name, const Date& dt) {
diff --git a/src/EventSystem/EventSystem.h b/src/EventSystem/EventSystem.h
index c96483a..675f590 100644
--- a/src/EventSystem/EventSystem.h
+++ b/src/EventSystem/EventSystem.h
@@ -22,7 +22,7 @@ public:
StatusCode createEvent(const Hall* hall, String name, Date date);
StatusCode cancelEvent(const char* name, const Date& date);
- StatusCode reserveTicket(const char* name, const Date& date, char* note, unsigned seatRow, unsigned seatColumn);
+ StatusCode reserveTicket(const char* name, const Date& date, const char* password, const char* note, unsigned seatRow, unsigned seatColumn);
StatusCode cancelTicketReservation();
StatusCode buyTicket();
diff --git a/src/EventSystem/StatusCodes.h b/src/EventSystem/StatusCodes.h
index c9fd83d..456a223 100644
--- a/src/EventSystem/StatusCodes.h
+++ b/src/EventSystem/StatusCodes.h
@@ -14,6 +14,7 @@ enum StatusCode {
E_EventWillOverlap,
E_EventDoesNotExist,
+ E_TicketIsNotFree,
E_TicketAlreadyBought,
E_TicketAlreadyReserved,
E_ReservationDoesNotExist,