diff --git a/Task.cpp b/Task.cpp index a5738a4..4df499a 100644 --- a/Task.cpp +++ b/Task.cpp @@ -7,10 +7,16 @@ using err::Error; using util::Util; using util::Manager; -namespace models { - Task::Task(const int& id, const string& name, const string& description, const vector& children): id(id), name(name), description(description), children(children) {} +namespace models +{ + Task::Task(const int& id, const string& name, const string& description, const vector& children): + id(id), name(name), description(description), children(children) + { + } - Task::Task(): id(0), name(""), description(""), children({}) {} + Task::Task(): id(0), name(""), description(""), children({}) + { + } ostream& Task::write(ostream& stream) const { @@ -18,65 +24,89 @@ namespace models { return stream; } - int Task::get_id() const { + int Task::get_id() const + { return this->id; } - string Task::get_name() const { + string Task::get_name() const + { return this->name; } - string Task::get_description() const { + string Task::get_description() const + { return this->description; } - vector Task::get_children() const { + vector Task::get_children() const + { return this->children; } - - AddTask::AddTask(): Task() {} - AddTask::AddTask(Task& t): Task(t) {} - ostream& operator<<(ostream& os, const Task& t) { - os << t.get_id() << " %" << t.get_name() << "% %" << t.get_description() << "%\n"; + AddTask::AddTask(): Task() + { + } + + AddTask::AddTask(Task& t): Task(t) + { + } + + ostream& operator<<(ostream& os, const Task& t) + { + os << t.get_id() << " %" << t.get_name() << "% %" << t.get_description(); + for (const int id : t.children) + os << " " << id << " "; + os << "\n"; return os; } - istream& operator>>(istream& is, Task& t) { + istream& operator>>(istream& is, Task& t) + { int id; is >> id; if (!is) throw Error(602, "Datei hat ein unbekanntes Format."); - try { + try + { string name = Util::read_string_between_percent(is); string description = Util::read_string_between_percent(is); vector children = Util::read_numbers(is); t = {id, name, description, children}; return is; - } catch (Error& _) { + } + catch (Error& _) + { throw Error(602, "Datei hat ein unbekanntes Format."); } } - ostream& operator<<(ostream& os, const AddTask& t) { + ostream& operator<<(ostream& os, const AddTask& t) + { os << t.get_name() << " " << t.get_description() << "\n"; return os; } - istream& operator>>(istream& is, AddTask& t) { + istream& operator>>(istream& is, AddTask& t) + { Manager& mgr = Manager::get_instance(); int id = mgr.get_task_id(); - try { + try + { const string name = Util::read_string_between_percent(is); + if (name == "") + throw Error(102, "Ein Parameter eines Befehls konnte nicht gelesen werden"); const string description = Util::read_string_between_percent(is); const vector children = Util::read_numbers(is); Task ft = {id, name, description, children}; t = {ft}; return is; - } catch (Error& _) { + } + catch (Error& _) + { throw Error(102, "Ein Parameter eines Befehls konnte nicht gelesen werden"); } }