mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
95 lines
2.7 KiB
C++
95 lines
2.7 KiB
C++
#include "Group.h"
|
|
|
|
using namespace Poco::Data::Keywords;
|
|
|
|
namespace model {
|
|
namespace table {
|
|
Group::Group()
|
|
{
|
|
}
|
|
|
|
Group::Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description)
|
|
: mAlias(alias), mName(name), mUrl(url), mHost(host), mHome(home), mDescription(description)
|
|
{
|
|
|
|
}
|
|
|
|
Group::Group(GroupTuple tuple)
|
|
: ModelBase(tuple.get<0>()),
|
|
mAlias(tuple.get<1>()), mName(tuple.get<2>()), mUrl(tuple.get<3>()),
|
|
mHost(tuple.get<4>()), mHome(tuple.get<5>()), mDescription(tuple.get<6>())
|
|
{
|
|
|
|
}
|
|
|
|
Group::~Group()
|
|
{
|
|
|
|
}
|
|
|
|
std::string Group::toString()
|
|
{
|
|
std::stringstream ss;
|
|
ss << "Alias: " << mAlias << std::endl;
|
|
ss << "Name: " << mName << std::endl;
|
|
ss << "Url: " << mUrl << std::endl;
|
|
ss << "Host: " << mHost << std::endl;
|
|
ss << "Home: " << mHome << std::endl;
|
|
ss << "Description:" << mDescription << std::endl;
|
|
return ss.str();
|
|
}
|
|
|
|
Poco::Data::Statement Group::_loadFromDB(Poco::Data::Session session, const std::string& fieldName)
|
|
{
|
|
Poco::Data::Statement select(session);
|
|
|
|
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName()
|
|
<< " where " << fieldName << " = ?"
|
|
, into(mID), into(mAlias), into(mName), into(mUrl), into(mHost), into(mHome), into(mDescription);
|
|
|
|
return select;
|
|
}
|
|
|
|
Poco::Data::Statement Group::_loadAllFromDB(Poco::Data::Session session)
|
|
{
|
|
Poco::Data::Statement select(session);
|
|
|
|
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName();
|
|
|
|
return select;
|
|
}
|
|
|
|
Poco::Data::Statement Group::_loadMultipleFromDB(Poco::Data::Session session, const std::string& fieldName)
|
|
{
|
|
Poco::Data::Statement select(session);
|
|
// typedef Poco::Tuple<std::string, std::string, std::string, Poco::Nullable<Poco::Data::BLOB>, int> UserTuple;
|
|
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName()
|
|
<< " where " << fieldName << " LIKE ?";
|
|
|
|
return select;
|
|
}
|
|
Poco::Data::Statement Group::_loadIdFromDB(Poco::Data::Session session)
|
|
{
|
|
Poco::Data::Statement select(session);
|
|
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
|
|
|
|
select << "SELECT id FROM " << getTableName()
|
|
<< " where alias = ?"
|
|
, into(mID), use(mAlias);
|
|
|
|
return select;
|
|
|
|
}
|
|
Poco::Data::Statement Group::_insertIntoDB(Poco::Data::Session session)
|
|
{
|
|
Poco::Data::Statement insert(session);
|
|
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
|
|
|
|
insert << "INSERT INTO " << getTableName()
|
|
<< " (alias, name, url, host, home, description) VALUES(?,?,?,?,?,?)"
|
|
, use(mAlias), use(mName), use(mUrl), use(mHost), use(mHome), use(mDescription);
|
|
|
|
return insert;
|
|
}
|
|
}
|
|
} |