diff options
Autocommit at 07.05.2022 @ 21:09
4 files changed, 41 insertions, 4 deletions
| -rw-r--r-- | src/Services/EventService.cpp | 16 | ||||
| -rw-r--r-- | src/Services/EventService.h | 4 | ||||
| -rw-r--r-- | src/Services/HallService.cpp | 21 | ||||
| -rw-r--r-- | src/Services/HallService.h | 4 |
diff --git a/src/Services/EventService.cpp b/src/Services/EventService.cpp index 0a77a41..0134a06 100644 --- a/src/Services/EventService.cpp +++ b/src/Services/EventService.cpp @@ -226,10 +226,22 @@ StatusCode EventService::reportBoughtTickets(int hallNumber, const Date& start, } -void EventService::load() { +StatusCode EventService::load() { + std::ifstream inFile("eventsDatabase.fmits"); + if (!inFile.is_open()) + return E_FileCouldNotBeOpened; + events.read(inFile); + inFile.close(); + return Success; } -void EventService::save() { +StatusCode EventService::save() { + std::ofstream outFile("eventsDatabase.fmits"); + if (!outFile.is_open()) + return E_FileCouldNotBeOpened; + events.write(outFile); + outFile.close(); + return Success; } diff --git a/src/Services/EventService.h b/src/Services/EventService.h index d941c4e..2afaa17 100644 --- a/src/Services/EventService.h +++ b/src/Services/EventService.h @@ -40,8 +40,8 @@ public: StatusCode reportReservations(const char* name, const Date& date); StatusCode reportBoughtTickets(int hallNumber, const Date& start, const Date& end, bool all = false); - void load(); - void save(); + StatusCode load(); + StatusCode save(); }; #endif diff --git a/src/Services/HallService.cpp b/src/Services/HallService.cpp index ffbf989..02bf040 100644 --- a/src/Services/HallService.cpp +++ b/src/Services/HallService.cpp @@ -1,4 +1,5 @@ #include "HallService.h" +#include <fstream> HallService::HallService(const Hall* halls, unsigned hallCount) { this->halls = OrderedList<Hall>(halls, hallCount); @@ -7,3 +8,23 @@ HallService::HallService(const Hall* halls, unsigned hallCount) { const OrderedList<Hall>& HallService::get_halls() const { return halls; } + +StatusCode HallService::load() { + std::ifstream inFile("hallsDatabase.fmits"); + if (!inFile.is_open()) + return E_FileCouldNotBeOpened; + + events.read(inFile); + inFile.close(); + return Success; +} + +StatusCode HallService::save() { + std::ofstream outFile("hallsDatabase.fmits"); + if (!outFile.is_open()) + return E_FileCouldNotBeOpened; + + events.write(outFile); + outFile.close(); + return Success; +} diff --git a/src/Services/HallService.h b/src/Services/HallService.h index 4fdea1e..4bb5748 100644 --- a/src/Services/HallService.h +++ b/src/Services/HallService.h @@ -3,6 +3,7 @@ #include "../Generic/List/OrderedList.hpp" #include "../Models/Hall.h" +#include "StatusCode.h" class HallService { OrderedList<Hall> halls; @@ -11,6 +12,9 @@ public: HallService(const Hall* halls, unsigned hallCount); const OrderedList<Hall>& get_halls() const; + + StatusCode load(); + StatusCode save(); }; #endif |
