/
farado
/
farado-binara
Обзор
Документация
Войти
/
farado
/
farado-binara
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
src/datenaro/database/data_elements/data_project.h
69 строк
2 KB
Ostapenko Alexey
[common][datenaro][tests] Добавлена сущность предметной области: project.
21 мар 2024, 18:24
21 мар 2024, 18:24
ac4f849
Код
Авторство
О чём код?
#ifndef DATABASE_DATA_PROJECT_H #define DATABASE_DATA_PROJECT_H #include "common/elements/element.h" #include "data_element.h" namespace Database { struct DataProject final : public DataElement { // Основной интерфейс ------------------------------------------------------ explicit DataProject(Elements::Element* element = nullptr); explicit DataProject(std::shared_ptr<Elements::Element> element); explicit DataProject(sqlite::database& database, unsigned id); virtual DataElement* clone() const override; virtual DataElement* wrap(Elements::Element* element) const override; virtual void toDatabase(sqlite::database& database) override; virtual void fromDatabase(sqlite::database& database, unsigned id) override; virtual std::vector<Elements::Element*> fromDatabaseElements( sqlite::database& database, std::vector<unsigned> ids ) const override; // Получение идентификаторов ----------------------------------------------- static std::vector<unsigned> ids( sqlite::database& database ); static std::vector<unsigned> idsByParentId( sqlite::database& database, unsigned id ); // Поиск по критериям ------------------------------------------------------ static std::vector<unsigned> idsByText( sqlite::database& database, const std::string& value ); static std::vector<unsigned> idsByCaption( sqlite::database& database, const std::string& value ); static std::vector<unsigned> idsByDescription( sqlite::database& database, const std::string& value ); // Удаление ---------------------------------------------------------------- static void removeOne(sqlite::database& database, unsigned id); static void remove(sqlite::database& database, std::vector<unsigned> ids); }; typedef std::shared_ptr<DataProject> DataProjectPtr; typedef std::vector<DataProjectPtr> DataProjects; } // namespace Elements #endif // DATABASE_DATA_PROJECT_H