using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.DBObject; using GB5Shared.DTO.Framework.Login; using GB5Shared.ResponseStandard; namespace GB5Shared.DBObject { public interface IDBObjectDAL { Task GetDBObject(int dbObjectId, LoginDTO loginDTO); Task GetSelectListDBObjectFields(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task SaveDBObject(DBObjectDTO DBObjectDTO, LoginDTO LoginDTO); Task UpdateDBObject(DBObjectDTO DBObjectDTO, LoginDTO LoginDTO); Task DeleteDBObject(int DBObjectId, LoginDTO LoginDTO); Task GetSelectListDBObject(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); // Duplicate-registration guard: unique on (SourceDbObjectKind, SourceClientDbId, DBObjectName). // Returns null when no matching DBOBJECT row exists. Task FindBySourceAndNameAsync(string dbObjectName, byte sourceDbObjectKind, int? sourceClientDbId, LoginDTO login, CancellationToken ct); } }