/
farado
/
farado-binara
Обзор
Документация
Войти
/
farado
/
farado-binara
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
src/datenaro/database/data_elements/data_workflow.h
59 строк
2 KB
Ostapenko Alexey
[datenaro] Добавление идентификатора нового элемента при сохранении в БД.
12 янв 2024, 18:17
12 янв 2024, 18:17
deb060d
Код
Авторство
О чём код?
#ifndef DATABASE_DATA_WORKFLOW_H #define DATABASE_DATA_WORKFLOW_H #include "common/elements/element.h" #include "data_element.h" namespace Database { struct DataWorkflow final : public DataElement { // Основной интерфейс ------------------------------------------------------ explicit DataWorkflow(Elements::Element* element = nullptr); explicit DataWorkflow(std::shared_ptr<Elements::Element> element); explicit DataWorkflow(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> 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<DataWorkflow> DataWorkflowPtr; typedef std::vector<DataWorkflowPtr> DataWorkflows; } // namespace Elements #endif // DATABASE_DATA_WORKFLOW_H