| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | using InABox.Core;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InABox.Database;public class DbConfigurationProvider<T> : IConfigurationProvider<T>    where T : Entity, IRemotable, IPersistent, new(){    public string UserID { get; init; }    public DbConfigurationProvider(string userID)    {        UserID = userID;    }    public void Delete(T entity, Action<Exception?>? callback = null)    {        DbFactory.NewProvider(Logger.Main).Delete(entity, UserID);    }    public T[] Load(Filter<T> filter)    {        return DbFactory.NewProvider(Logger.Main).Load(filter);    }    public CoreTable Query(Filter<T> filter, Columns<T> columns, SortOrder<T>? sort = null)    {        return DbFactory.NewProvider(Logger.Main).Query(filter, columns, sort);    }    public void Save(T entity)    {        DbFactory.NewProvider(Logger.Main).Save(entity);    }    public void Save(IEnumerable<T> entities)    {        DbFactory.NewProvider(Logger.Main).Save(entities);    }}
 |