1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using InABox.Core;
- namespace InABox.Database
- {
- public interface IStore
- {
- bool IsSubStore { get; set; }
- Guid UserGuid { get; set; }
- string UserID { get; set; }
- Platform Platform { get; set; }
- string Version { get; set; }
- IProvider Provider { get; set; }
- Logger Logger { get; set; }
-
- Type Type { get; }
-
- // Called once at Database Startup to initialise caches etc
- void Init();
-
- CoreTable Query(IFilter? filter = null, IColumns? columns = null, ISortOrder? sort = null, CoreRange? range = null);
-
- void Save(Entity entity, string auditnote);
- void Save(IEnumerable<Entity> entities, string auditnote);
- void Delete(Entity entity, string auditnote);
- void Delete(IEnumerable<Entity> entities, string auditnote);
- public IStore<TEntity> FindSubStore<TEntity>() where TEntity : Entity, new();
- }
- public interface IStore<T> : IStore where T : Entity, new()
- {
- CoreTable Query(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sort = null, CoreRange? range = null);
- void Save(T entity, string auditnote);
- void Save(IEnumerable<T> entities, string auditnote);
- void Delete(T entity, string auditnote);
- void Delete(IEnumerable<T> entities, string auditnote);
- }
- }
|