using SessionCompanion.Database.Tables; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace SessionCompanion.Database.Repositories.Base { public interface IRepository<T> where T : BaseEntity { IQueryable<T> Get(); IQueryable<T> Get(Expression<Func<T, bool>> expression); Task<T> Get(int id); Task Create(T entity); Task Update(T entity); void Delete(T entity); Task<bool> Any(Expression<Func<T, bool>> expression); Task<bool> Any(int id); void Dispose(); Task Save(); } }