Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models / Event.h
diff options
context:
space:
mode:
Commitb844597fd23bc57aa97e231fc90eecfd6322cecc (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 08:28:27 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 08:28:27 +0300
Files86a4112ecfa1e3a54dbcf44a7ddf37575ba4aa39 /src/Models/Event.h
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.tar
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.tar.gz
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.zip
Parent0910afb91c8f9672be1d6184f47fb75947ea14f1 (diff)
Reorganized whole architecture
1 files changed, 41 insertions, 0 deletions
-rw-r--r--src/Models/Event.h41
diff --git a/src/Models/Event.h b/src/Models/Event.h
new file mode 100644
index 0000000..43ad5d9
--- /dev/null
+++ b/src/Models/Event.h
@@ -0,0 +1,41 @@
+#ifndef HEADER_EVENTSYSTEM_EVENT
+#define HEADER_EVENTSYSTEM_EVENT
+
+#include "../List/OrderedList.hpp"
+#include "../Date/Date.h"
+#include "../String/String.h"
+#include "../Venue/Hall.h"
+#include "Ticket.h"
+#include "Reservation.h"
+#include "StatusCodes.h"
+
+class Event {
+ const Hall* hall;
+ String name;
+ Date date;
+ OrderedList<Ticket> tickets;
+ OrderedList<Reservation> reservations;
+
+public:
+ Event();
+ Event(const Hall* hall, String name, Date date);
+
+ const Hall& get_hall() const;
+ const String& get_name() const;
+ const Date& get_date() const;
+ const OrderedList<Ticket>& get_tickets() const;
+ const OrderedList<Reservation>& get_reservations() const;
+
+ StatusCode reserveTicket(const Ticket& ticket, const char* password, const char* note);
+
+ StatusCode cancelReservation(unsigned row, unsigned seat);
+ StatusCode cancelReservation(const Ticket& ticket);
+
+ StatusCode buyTicket(const Ticket& ticket);
+
+ StatusCode buyTicketFromReservation(const Reservation& reservation, const char* password);
+
+ int compare(const Event& other);
+};
+
+#endif