#pragma once #include "M_ObjectDAO.h" namespace DBPlatformSpace { class M_EntityModelDAO; /// M_项目 class M_ProjectDAO : public M_ObjectDAO { private: static int _sCurrProjectID; ///<当前项目ID public: string _author; ///<项目创建者 string _createTime; ///<项目创建时间 int _focus; ///<是否关注 string _openTime; ///<项目最后打开时间 int _type; ///<项目类型(baseDao的type属性) string _uID; ///<项目id (2023.09.04 由int改为string,做GUID的作用) string _updateTime; ///<项目修改时间 ODI M_ProjectDAO(); virtual ODI ~M_ProjectDAO(); ODI virtual Mapper* createMapper(); ODI static DAO* createObject(); // [7/29/2022 wwu] static ODI void setCurrProjectID(int projectID); //在项目打开时,需要上层应用进行设置 static ODI int getCurrProjectID(); /// 此自删除接口,会将下属的数据模型一同删除 virtual ODI ResultMsg delself(int commitType = COMMIT_T_IMMEDIATELY); // [9/4/2023 wwu] ///自保存接口,当insert时,会自动生成GUID并保存 virtual ODI ResultMsg save(int commitType = COMMIT_T_IMMEDIATELY); ///与数据模型的关系 ODI ResultMsg addEntityModel(M_EntityModelDAO* pEntityModel, int commitType = COMMIT_T_IMMEDIATELY); ODI ResultMsg removeEntityModel(M_EntityModelDAO* pEntityModel, int commitType = COMMIT_T_IMMEDIATELY); ODI ResultMsg getEntityModelList(list< M_EntityModelDAO*> & emlist); /// 导入导出 // [8/2/2022 wwu] static ODI ResultMsg exportProject(list exportProjectIds, string exportPath); static ODI ResultMsg getImportProjectList(list& PList, string importFilePath);//获取导入项目文件项目列表 static ODI ResultMsg importProject(string importFilePath, list importProjectIds);//导入选中的项目" static ODI ResultMsg FindAll(list & pnewlist); static ODI ResultMsg FindByID(int id, M_ProjectDAO * &pnewdao); static ResultMsg ODI FindByAuthor(string author, list&newlist); static ResultMsg ODI FindByFocus(int focus, list&newlist); static ResultMsg ODI FindByName(string name, list&newlist); static ResultMsg ODI FindByUID(string uID, list&newlist); static ResultMsg ODI FindByType(int typeCode, list& newlist); }; }