Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models
diff options
context:
space:
mode:
3 files changed, 25 insertions, 1 deletions
-rw-r--r--src/Models/Event.cpp13
-rw-r--r--src/Models/Event.h1
-rw-r--r--src/Models/Hall.cpp12
diff --git a/src/Models/Event.cpp b/src/Models/Event.cpp
index c1f7343..82ce519 100644
--- a/src/Models/Event.cpp
+++ b/src/Models/Event.cpp
@@ -52,7 +52,18 @@ int Event::compare(const Event& other) {
}
std::istream& operator>>(std::istream& istr, Event& event) {
- return istr >> event.get_hall() >> event.get_name() >> event.get_date() >> event.get_tickets() >> event.get_reservations();
+ Hall newHall;
+ String newString;
+ Date newDate;
+ OrderedList<Ticket> newTickets;
+ OrderedList<Reservation> newReservation;
+
+ istr >> newHall >> newString >> newDate >> newTickets >> newReservation;
+ event = Event(newHall, newString, newDate);
+ event.get_tickets() = newTickets;
+ event.get_reservations() = newReservation;
+
+ return istr;
}
std::ostream& operator<<(std::ostream& ostr, const Event& event) {
diff --git a/src/Models/Event.h b/src/Models/Event.h
index 4257c1f..8dc7477 100644
--- a/src/Models/Event.h
+++ b/src/Models/Event.h
@@ -24,6 +24,7 @@ public:
const Hall& get_hall() const;
const String& get_name() const;
const Date& get_date() const;
+
OrderedList<Ticket>& get_tickets();
const OrderedList<Ticket>& get_tickets() const;
OrderedList<Reservation>& get_reservations();
diff --git a/src/Models/Hall.cpp b/src/Models/Hall.cpp
index 41644df..d1c25f7 100644
--- a/src/Models/Hall.cpp
+++ b/src/Models/Hall.cpp
@@ -36,3 +36,15 @@ void Hall::write(std::ostream& ostr) const {
int Hall::compare(const Hall& other) const {
return (number > other.get_number()) - (number < other.get_number());
}
+
+std::istream& operator>>(std::istream& istr, Hall& hall) {
+ int number;
+ unsigned rows, seatsPerRow;
+ istr >> number >> rows >> seatsPerRow;
+ hall = Hall(number, rows, seatsPerRow);
+ return istr;
+}
+
+std::ostream& operator<<(std::ostream& ostr, const Hall& hall) {
+ return ostr << hall.get_number() << " " << hall.get_rows() << " "<< hall.get_seatsPerRow();
+}