1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using InABox.Clients;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace InABox.Core
- {
- public interface IConfigurationProvider<T>
- where T : Entity, IRemotable, IPersistent, new()
- {
- string UserID { get; }
- T[] Load(Filter<T> filter);
- CoreTable Query(Filter<T> filter, Columns<T> columns, SortOrder<T>? sort = null);
- void Save(T entity);
- void Save(IEnumerable<T> entities);
- void Delete(T entity, Action<Exception?>? callback = null);
- }
- public class ClientConfigurationProvider<T> : IConfigurationProvider<T>
- where T : Entity, IRemotable, IPersistent, new()
- {
- public static ClientConfigurationProvider<T> Provider = new ClientConfigurationProvider<T>();
- public string UserID => ClientFactory.UserID;
- public T[] Load(Filter<T> filter)
- {
- return Client.Query(filter, null).ToArray<T>();
- }
- public CoreTable Query(Filter<T> filter, Columns<T> columns, SortOrder<T>? sort)
- {
- return Client.Query(filter, columns, sort);
- }
- public void Save(T entity)
- {
- Client.Save(entity, "", (o, e) => { });
- }
- public void Save(IEnumerable<T> entities)
- {
- Client.Save(entities, "", (o, e) => { });
- }
- public void Delete(T entity, Action<Exception?>? callback = null)
- {
- if(callback != null)
- {
- Client.Delete(entity, "", (o, e) => { callback(e); });
- }
- else
- {
- Client.Delete(entity, "");
- }
- }
- }
- }
|