Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Services / EventService.cpp
diff options
context:
space:
mode:
Commit1f623d9d8ae4e5ea5f776f5c1b6dd51390db96de (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 10:17:26 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 10:17:26 +0300
Files1fccceb1b55bc9f32e99fe02c5d4592ed9901612 /src/Services/EventService.cpp
FMI-OOP-P1_TicketSystem-1f623d9d8ae4e5ea5f776f5c1b6dd51390db96de.tar
FMI-OOP-P1_TicketSystem-1f623d9d8ae4e5ea5f776f5c1b6dd51390db96de.tar.gz
FMI-OOP-P1_TicketSystem-1f623d9d8ae4e5ea5f776f5c1b6dd51390db96de.zip
Parentcd8bb8e946716a06325669d8cf3484b0d4dc558a (diff)
Autocommit at 07.05.2022 @ 10:17
1 files changed, 15 insertions, 13 deletions
-rw-r--r--src/Services/EventService.cpp28
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp
index a48291d..cfd0422 100644
--- a/src/Services/EventService.cpp
+++ b/src/Services/EventService.cpp
@@ -95,8 +95,16 @@ StatusCode EventService::cancelTicketReservation(const char* name, const Date& d
return Success;
}
+StatusCode EventService::buyTicket(const char* name, const Date& date, unsigned row, unsigned seat) {
+ return buyTicket(name, date, Ticket(row, seat), nullptr);
+}
+
+StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket) {
+ return buyTicket(name, date, ticket, nullptr);
+}
+
StatusCode EventService::buyTicket(const char* name, const Date& date, unsigned row, unsigned seat, const char* password) {
- return buyTicket(name, date, Ticket(row, seat));
+ return buyTicket(name, date, Ticket(row, seat), password);
}
StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password) {
@@ -109,23 +117,17 @@ StatusCode EventService::buyTicket(const char* name, const Date& date, const Tic
return E_TicketAlreadyBought;
unsigned rInd = events[eInd].get_reservations().findIndex(ticket);
- if (rInd < events[eInd].get_reservations().get_count())
- return E_TicketAlreadyReserved;
+ if (rInd < events[eInd].get_reservations().get_count()) {
+ if (password == nullptr)
+ return E_TicketAlreadyReserved;
+
+ }
events[eInd].get_tickets().insert(ticket);
return Success;
}
-StatusCode EventService::buyTicket(const char* name, const Date& date, unsigned row, unsigned seat, const char* password) {
- return buyTicket(name, date, Ticket(row, seat), password);
-}
-
-StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password) {
- unsigned ind = indexOfEvent(name, date);
- if (ind == events.get_count())
- return E_EventDoesNotExist;
-
- return events[ind].buyTicketFromReservation(Reservation(ticket), password);
+return events[ind].buyTicketFromReservation(Reservation(ticket), password);
}