using Sufi.Demo.PeopleDirectory.Domain.Common; namespace Sufi.Demo.PeopleDirectory.Application.Contracts.Repositories { public interface IAsyncRepository where T : class, IEntity { IQueryable Entities { get; } Task GetByIdAsync(TId id); Task> GetAllAsync(); Task> GetPagedResponseAsync(int pageNumber, int pageSize); Task AddAsync(T entity); Task UpdateAsync(T entity); Task DeleteAsync(T entity); Task DeleteByIdAsync(TId id); Task CountAsync(); } }