From 71a17770e7d20b60bb17542c8dc08bf052a446cc Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 2 May 2022 21:55:41 +0300 Subject: Autocommit at 02.05.2022 @ 21:55 --- src/EventSystem/Event.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/EventSystem/Event.cpp') diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp index 607f225..f0a3f75 100644 --- a/src/EventSystem/Event.cpp +++ b/src/EventSystem/Event.cpp @@ -1,4 +1,5 @@ #include "Event.h" +#include "Reservation.h" #include "StatusCodes.h" Event::Event() : Event(nullptr, "", DateTime()) {} @@ -25,3 +26,19 @@ StatusCode Event::cancelReservation(const Ticket& ticket) { reservations.removeAt(ind); return Success; } + +StatusCode Event::buyTicket(const Ticket& ticket) { + if (tickets.contain(ticket)) return E_TicketAlreadyBought; + if (reservations.contain(ticket)) return E_TicketAlreadyReserved; + + tickets.insert(ticket); + return Success; +} + +StatusCode Event::buyTicketFromReservation(const Reservation& reservation, const char* password) { + if (!reservations.contain(reservation)) return E_ReservationDoesNotExist; + + if (!reservation.checkPassword(password)) return E_WrongReservationPassword; + + reservations.removeAt +} -- cgit v1.3.1-23-gd82d