From dc13118c73b1fe6b54892c5e0584a97707e12b2d Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 7 May 2022 09:07:00 +0300 Subject: Autocommit at 07.05.2022 @ 09:07 --- src/Services/EventSystem.cpp | 127 ------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 src/Services/EventSystem.cpp (limited to 'src/Services/EventSystem.cpp') diff --git a/src/Services/EventSystem.cpp b/src/Services/EventSystem.cpp deleted file mode 100644 index 95bd1c4..0000000 --- a/src/Services/EventSystem.cpp +++ /dev/null @@ -1,127 +0,0 @@ -#include "EventSystem.h" -#include "StatusCodes.h" - -/* Private */ - -void EventSystem::updateSoonestUpcoming() { - -} - -unsigned EventSystem::indexOfEvent(const Date& date) { - // TODO: make binary search - for (unsigned i = indSoonestUpcoming; i < events.get_count(); i++) { - if (events[i].get_date().compare(date) == 0) - return i; - } - return events.get_count(); -} - -unsigned EventSystem::indexOfEvent(const char* name, const Date& date) { - unsigned ind = indexOfEvent(date); - if (ind < events.get_count() && events[ind].get_name().compare(name) == 0) - return ind; - return events.get_count(); -} - -/* Public */ - -EventSystem::EventSystem() { - events = OrderedList(); - indSoonestUpcoming = 0; -} - -EventSystem::EventSystem(const Event* events, unsigned eventCount) { - this->events = OrderedList(events, eventCount); - indSoonestUpcoming = 0; - updateSoonestUpcoming(); -} - -StatusCode EventSystem::createEvent(const Hall* hall, String name, Date date) { - if (indexOfEvent(date) < events.get_count()) - return E_EventWillOverlap; - - events.insert(Event(hall, name, date)); - return Success; -} - -StatusCode EventSystem::cancelEvent(const char* name, const Date& date) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return E_EventDoesNotExist; - - events.removeAt(ind); - return Success; -} - -StatusCode EventSystem::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 EventSystem::reserveTicket(const char* name, const Date& date, const char* password, const char* note, const Ticket& ticket) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return E_EventDoesNotExist; - - return events[ind].reserveTicket(ticket, password, note); -} - -StatusCode EventSystem::cancelTicketReservation(const char* name, const Date& date, unsigned seatRow, unsigned seatColumn) { - return cancelTicketReservation(name, date, Ticket(seatRow, seatColumn)); -} - -StatusCode EventSystem::cancelTicketReservation(const char* name, const Date& date, const Ticket& ticket) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return E_EventDoesNotExist; - - return events[ind].cancelReservation(ticket); -} - -StatusCode EventSystem::buyTicket(const char* name, const Date& date, unsigned row, unsigned seat) { - return buyTicket(name, date, Ticket(row, seat)); -} - -StatusCode EventSystem::buyTicket(const char* name, const Date& date, const Ticket& ticket) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return E_EventDoesNotExist; - - return events[ind].buyTicket(ticket); -} - -StatusCode EventSystem::buyTicket(const char* name, const Date& date, unsigned row, unsigned seat, const char* password) { - return buyTicket(name, date, Ticket(row, seat), password); -} - -StatusCode EventSystem::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); -} - - -const Hall* EventSystem::queryEventHall(const char* name, const Date& date) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return nullptr; - - return &events[ind].get_hall(); -} - -OrderedList EventSystem::queryTickets(const char* name, const Date& date) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return OrderedList(); - - return events[ind].get_tickets(); -} - -OrderedList EventSystem::queryReservations(const char* name, const Date& date) { - unsigned ind = indexOfEvent(name, date); - if (ind == events.get_count()) - return OrderedList(); - - return events[ind].get_reservations(); -} -- cgit v1.3.1-23-gd82d