Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Services / EventService.cpp
diff options
context:
space:
mode:
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);
}