Website Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commitd570684aeffc41bd60ed09290f412cd923d346bc (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 14:38:14 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 14:38:14 +0300
Files7e1892b65c6c78d6a73ec788bbc2ab3cc9f0158d /src
FMI-OOP-P1_TicketSystem-d570684aeffc41bd60ed09290f412cd923d346bc.tar
FMI-OOP-P1_TicketSystem-d570684aeffc41bd60ed09290f412cd923d346bc.tar.gz
FMI-OOP-P1_TicketSystem-d570684aeffc41bd60ed09290f412cd923d346bc.zip
Parent5f698bc932d117abca4b23209b57d3c40d3b3696 (diff)
Autocommit at 07.05.2022 @ 14:38
3 files changed, 13 insertions, 4 deletions
-rw-r--r--src/Services/EventService.cpp6
-rw-r--r--src/Services/EventService.h2
-rw-r--r--src/UserInterface/VenueConsoleUI.cpp9
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp
index 960f7cb..3eec0b5 100644
--- a/src/Services/EventService.cpp
+++ b/src/Services/EventService.cpp
@@ -104,10 +104,10 @@ StatusCode EventService::ticketIsReserved(const char* name, const Date& date, co
}
StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket) {
- return buyTicket(name, date, ticket, nullptr);
+ return buyTicket(name, date, ticket, nullptr, nullptr);
}
-StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password, char** reservationNoteOutput) {
+StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password, String* reservationNoteOutput) {
unsigned eInd = indexOfEvent(name, date);
if (eInd == events.get_count())
return E_EventDoesNotExist;
@@ -123,6 +123,8 @@ StatusCode EventService::buyTicket(const char* name, const Date& date, const Tic
if (!correctReservationPassword(events[eInd].get_reservations()[rInd], password))
return E_WrongReservationPassword;
+ if (reservationNoteOutput != nullptr)
+ *reservationNoteOutput = events[eInd].get_reservations()[rInd].get_note();
events[eInd].get_reservations().removeAt(rInd);
}
diff --git a/src/Services/EventService.h b/src/Services/EventService.h
index f23183f..6e745f4 100644
--- a/src/Services/EventService.h
+++ b/src/Services/EventService.h
@@ -29,7 +29,7 @@ public:
StatusCode ticketIsReserved(const char* name, const Date& date, const Ticket& ticket);
- StatusCode buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password);
+ StatusCode buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password, String* reservationNoteOutput);
StatusCode buyTicket(const char* name, const Date& date, const Ticket& ticket);
String createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow);
diff --git a/src/UserInterface/VenueConsoleUI.cpp b/src/UserInterface/VenueConsoleUI.cpp
index ab84248..7ac850d 100644
--- a/src/UserInterface/VenueConsoleUI.cpp
+++ b/src/UserInterface/VenueConsoleUI.cpp
@@ -96,10 +96,17 @@ void command_buyTicket() {
StatusCode s = es->ticketIsReserved(name, date, tic);
if (s == Success) {
+ warningBox("Ticket is reserved!");
+
char pass[PASSWORD_LEN];
inputLineSubBox("Enter reservation password: ", pass, PASSWORD_LEN);
- s = es->buyTicket(name, date, tic, pass);
+ String note;
+ s = es->buyTicket(name, date, tic, pass, &note);
+ if (note.get_length() > 0) {
+ successBox("The reservation had a note attached. It reads:");
+ successBox(note.get_cstr());
+ }
}
else if (s == W_TicketHadNotBeenReserved) {
s = es->buyTicket(name, date, tic);