diff options
Autocommit at 07.05.2022 @ 14:23
2 files changed, 10 insertions, 19 deletions
| -rw-r--r-- | src/Services/EventService.cpp | 23 | ||||
| -rw-r--r-- | src/Services/EventService.h | 6 |
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp index ece9774..908d95e 100644 --- a/src/Services/EventService.cpp +++ b/src/Services/EventService.cpp @@ -60,10 +60,6 @@ StatusCode EventService::cancelEvent(const char* name, const Date& date) { return Success; } -StatusCode EventService::reserveTicket(const char* name, const Date& date, const char* password, const char* note, unsigned seatRow, unsigned seatColumn) { - return reserveTicket(name, date, password, note, Ticket(seatRow, seatColumn)); -} - StatusCode EventService::reserveTicket(const char* name, const Date& date, const char* password, const char* note, const Ticket& ticket) { unsigned eInd = indexOfEvent(name, date); if (eInd == events.get_count()) @@ -83,10 +79,6 @@ StatusCode EventService::reserveTicket(const char* name, const Date& date, const return Success; } -StatusCode EventService::cancelTicketReservation(const char* name, const Date& date, unsigned seatRow, unsigned seatColumn) { - return cancelTicketReservation(name, date, Ticket(seatRow, seatColumn)); -} - StatusCode EventService::cancelTicketReservation(const char* name, const Date& date, const Ticket& ticket) { unsigned eInd = indexOfEvent(name, date); if (eInd == events.get_count()) @@ -100,18 +92,21 @@ 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::ticketIsReserved(const char* name, const Date& date, const Ticket& ticket) { + unsigned eInd = indexOfEvent(name, date); + if (eInd == events.get_count()) + return E_EventDoesNotExist; + + if (events[eInd].get_reservations().contain(ticket)) + return Success; + else + return W_TicketHadNotBeenReserved; } 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), password); -} - StatusCode EventService::buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password) { unsigned eInd = indexOfEvent(name, date); if (eInd == events.get_count()) diff --git a/src/Services/EventService.h b/src/Services/EventService.h index e36e0d8..f23183f 100644 --- a/src/Services/EventService.h +++ b/src/Services/EventService.h @@ -23,17 +23,13 @@ public: StatusCode createEvent(int hallNumber, const String& name, const Date& date); 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 reserveTicket(const char* name, const Date& date, const char* password, const char* note, const Ticket& ticket); - StatusCode cancelTicketReservation(const char* name, const Date& date, unsigned seatRow, unsigned seatColumn); StatusCode cancelTicketReservation(const char* name, const Date& date, const Ticket& ticket); - bool ticketIsReserved(const char* name, const Date& date, const Ticket& ticket); + StatusCode ticketIsReserved(const char* name, const Date& date, const Ticket& ticket); - StatusCode buyTicket(const char* name, const Date& date, unsigned row, unsigned seat, const char* password); StatusCode buyTicket(const char* name, const Date& date, const Ticket& ticket, const char* password); - StatusCode buyTicket(const char* name, const Date& date, unsigned row, unsigned seat); StatusCode buyTicket(const char* name, const Date& date, const Ticket& ticket); String createSeatingString(const char* name, const Date& date, unsigned* seatsPerRow); |
