From 9812e0ae03f516bcfa91b1038cf3fee1ca911489 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 5 May 2022 17:28:25 +0300 Subject: Autocommit at 05.05.2022 @ 17:28 --- src/EventSystem/Event.cpp | 7 +++++-- src/EventSystem/Event.h | 1 + src/EventSystem/EventSystem.cpp | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src/EventSystem') diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp index 3deb58c..e9e0375 100644 --- a/src/EventSystem/Event.cpp +++ b/src/EventSystem/Event.cpp @@ -59,8 +59,11 @@ StatusCode Event::buyTicketFromReservation(const Reservation& reservation, const } bool Event::ticketIsFree(unsigned row, unsigned seat) { - Ticket temp(row, seat); - unsigned ind = tickets.findIndex(temp); + return ticketIsFree(Ticket(row, seat)); +} + +bool Event::ticketIsFree(const Ticket& ticket) { + return tickets.findIndex(ticket) != tickets.get_count() || reservations.findIndex(Reservation(ticket)) != reservations.get_count(); } int Event::compare(const Event& other) { diff --git a/src/EventSystem/Event.h b/src/EventSystem/Event.h index f33b33a..f4c5038 100644 --- a/src/EventSystem/Event.h +++ b/src/EventSystem/Event.h @@ -35,6 +35,7 @@ public: StatusCode buyTicketFromReservation(const Reservation& reservation, const char* password); bool ticketIsFree(unsigned row, unsigned seat); + bool ticketIsFree(const Ticket& ticket); int compare(const Event& other); }; diff --git a/src/EventSystem/EventSystem.cpp b/src/EventSystem/EventSystem.cpp index cdfa6c9..3502b50 100644 --- a/src/EventSystem/EventSystem.cpp +++ b/src/EventSystem/EventSystem.cpp @@ -54,7 +54,10 @@ StatusCode EventSystem::cancelEvent(const char* name, const Date& date) { } StatusCode EventSystem::reserveTicket(const char* name, const Date& date, char* note, unsigned seatRow, unsigned seatColumn) { - + unsigned ei = indexOfEvent(name, date); + if (ei == events.get_count()) + return E_EventDoesNotExist; + } List EventSystem::queryFreeTickets(const char* name, const Date& dt) { -- cgit v1.3.1-23-gd82d