diff options
Autocommit at 07.05.2022 @ 19:54
3 files changed, 25 insertions, 1 deletions
| -rw-r--r-- | src/Models/Event.cpp | 13 | ||||
| -rw-r--r-- | src/Models/Event.h | 1 | ||||
| -rw-r--r-- | src/Models/Hall.cpp | 12 |
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(); +} |
