2025-02-05 12:48:05 +01:00
|
|
|
#include "User.h"
|
|
|
|
|
2025-02-09 19:58:55 +01:00
|
|
|
#include "Error.h"
|
|
|
|
#include "Manager.h"
|
|
|
|
|
|
|
|
using util::Manager;
|
|
|
|
using err::Error;
|
|
|
|
|
2025-02-05 12:48:05 +01:00
|
|
|
namespace models {
|
2025-02-09 12:34:07 +01:00
|
|
|
User::User(const int& id, const string& name, const string& surname): id(id), name(name), surname(surname) {}
|
|
|
|
|
|
|
|
User::User(): id(0), name(""), surname("") {}
|
|
|
|
|
|
|
|
ostream& User::write(ostream& stream) {
|
2025-02-09 19:58:55 +01:00
|
|
|
stream << *this;
|
2025-02-09 12:34:07 +01:00
|
|
|
return stream;
|
|
|
|
}
|
|
|
|
|
|
|
|
int User::get_id() const {
|
|
|
|
return this->id;
|
|
|
|
}
|
|
|
|
|
|
|
|
string User::get_name() const {
|
|
|
|
return this->name;
|
2025-02-05 12:48:05 +01:00
|
|
|
}
|
|
|
|
|
2025-02-09 12:34:07 +01:00
|
|
|
string User::get_surname() const {
|
|
|
|
return this->surname;
|
|
|
|
}
|
2025-02-09 19:58:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
AddUser::AddUser(): User() {}
|
|
|
|
|
|
|
|
AddUser::AddUser(User& u): User(u) {}
|
2025-02-09 12:34:07 +01:00
|
|
|
|
|
|
|
ostream& operator<<(ostream& os, const User& u)
|
|
|
|
{
|
2025-02-09 19:58:55 +01:00
|
|
|
os << u.get_id() << " " << u.get_name() << " " << u.get_surname() << "\n";
|
2025-02-09 12:34:07 +01:00
|
|
|
return os;
|
|
|
|
}
|
|
|
|
|
|
|
|
istream& operator>>(istream& is, User& u)
|
|
|
|
{
|
|
|
|
int id;
|
|
|
|
is >> id;
|
|
|
|
if (!is)
|
2025-02-09 19:58:55 +01:00
|
|
|
throw Error(602, "Datei hat ein unbekanntes Format.");
|
|
|
|
|
2025-02-09 12:34:07 +01:00
|
|
|
string name, surname;
|
|
|
|
is >> name >> surname;
|
|
|
|
if (!is)
|
2025-02-09 19:58:55 +01:00
|
|
|
throw Error(602, "Datei hat ein unbekanntes Format.");
|
|
|
|
|
2025-02-09 12:34:07 +01:00
|
|
|
u = {id, name, surname};
|
|
|
|
return is;
|
|
|
|
}
|
2025-02-09 19:58:55 +01:00
|
|
|
|
|
|
|
ostream& operator<<(ostream& os, const AddUser& u) {
|
|
|
|
os << u.get_name() << " " << u.get_surname();
|
|
|
|
return os;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
istream& operator>>(istream& is, AddUser& u) {
|
2025-02-09 23:22:43 +01:00
|
|
|
Manager* mgr = Manager::get_instance();
|
|
|
|
int id = mgr->get_user_id();
|
2025-02-09 19:58:55 +01:00
|
|
|
|
|
|
|
string name, surname;
|
|
|
|
is >> name >> surname;
|
|
|
|
if (!is)
|
|
|
|
throw Error(602, "Could not read user name and surname");
|
|
|
|
|
|
|
|
User ut = {id, name, surname};
|
|
|
|
u = {ut};
|
|
|
|
return is;
|
|
|
|
}
|
2025-02-05 12:48:05 +01:00
|
|
|
}
|