epr24pr5-ojanssen2/ListCommand.cpp

35 lines
879 B
C++
Raw Normal View History

#include "ListCommand.h"
#include "Error.h"
#include "Manager.h"
using util::Manager;
using models::User;
using models::Task;
using models::Assignment;
using err::Error;
namespace commands
{
2025-02-09 22:30:03 +01:00
ListCommand::ListCommand() : SubCommand("list", false)
{
}
void ListCommand::run(stringstream& args)
{
Manager* mgr = Manager::get_instance();
const string data_type = Util::read_string(args);
2025-02-09 21:28:20 +01:00
if (data_type == "users")
for (const User* u : mgr->get_users())
cout << *u;
2025-02-09 21:28:20 +01:00
else if (data_type == "tasks")
for (const Task* t : mgr->get_tasks())
cout << *t;
2025-02-09 21:28:20 +01:00
else if (data_type == "assignments")
for (const Assignment* a : mgr->get_assignments())
cout << *a;
else
throw Error(101, "Befehl ist unbekannt.");
}
} // commands