diff options
Autocommit at 02.05.2022 @ 22:00
5 files changed, 7 insertions, 32 deletions
| -rw-r--r-- | src/EventSystem/Event.cpp | 7 | ||||
| -rw-r--r-- | src/EventSystem/Event.h | 2 | ||||
| -rw-r--r-- | src/EventSystem/EventSystem.h | 2 | ||||
| -rw-r--r-- | src/OrderedList/OrderedList.cpp | 12 | ||||
| -rw-r--r-- | src/OrderedList/OrderedList.h | 16 |
diff --git a/src/EventSystem/Event.cpp b/src/EventSystem/Event.cpp index f0a3f75..a6d0e95 100644 --- a/src/EventSystem/Event.cpp +++ b/src/EventSystem/Event.cpp @@ -36,9 +36,12 @@ StatusCode Event::buyTicket(const Ticket& ticket) { } StatusCode Event::buyTicketFromReservation(const Reservation& reservation, const char* password) { - if (!reservations.contain(reservation)) return E_ReservationDoesNotExist; + unsigned resInd = reservations.findIndex(reservation); + if (resInd == reservations.get_count()) return E_ReservationDoesNotExist; if (!reservation.checkPassword(password)) return E_WrongReservationPassword; - reservations.removeAt + reservations.removeAt(resInd); + tickets.insert(reservation.get_ticket()); + return Success; } diff --git a/src/EventSystem/Event.h b/src/EventSystem/Event.h index fa1169a..ad3ae89 100644 --- a/src/EventSystem/Event.h +++ b/src/EventSystem/Event.h @@ -1,7 +1,7 @@ #ifndef HEADER_EVENTSYSTEM_EVENT #define HEADER_EVENTSYSTEM_EVENT -#include "../OrderedList/OrderedList.h" +#include "../List/OrderedList.h" #include "../DateTime/DateTime.h" #include "../String/String.h" #include "../Venue/Hall.h" diff --git a/src/EventSystem/EventSystem.h b/src/EventSystem/EventSystem.h index a38ab2b..9492b09 100644 --- a/src/EventSystem/EventSystem.h +++ b/src/EventSystem/EventSystem.h @@ -1,7 +1,7 @@ #ifndef HEADER_EVENTSYSTEM #define HEADER_EVENTSYSTEM -#include "../List/List.h" +#include "../List/OrderedList.h" #include "../DateTime/DateTime.h" #include "Event.h" diff --git a/src/OrderedList/OrderedList.cpp b/src/OrderedList/OrderedList.cpp deleted file mode 100644 index f3a7450..0000000 --- a/src/OrderedList/OrderedList.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "OrderedList.h" - -template <class T> -bool OrderedList<T>::insert(const T& element) { - if (List<T>::length == List<T>::count) List<T>::resize(); - - unsigned insertionInd = 0; - while (List<T>::elements[insertionInd].compare(element) < 0 && insertionInd < List<T>::count) - insertionInd++; - - return List<T>::insertAt(element, insertionInd); -} diff --git a/src/OrderedList/OrderedList.h b/src/OrderedList/OrderedList.h deleted file mode 100644 index ef723ff..0000000 --- a/src/OrderedList/OrderedList.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef HEADER_ORDEREDLIST -#define HEADER_ORDEREDLIST - -#include "../List/List.h" - -template <class T> -class OrderedList : public List<T> { -public: - void add(const T& element) = delete; - bool insertAt(const T& element, unsigned index) = delete; - - bool insert(const T& element); - // unsigned findIndex(const T& element) const; TODO: binary search -}; - -#endif |
