using Core.Entities; using Core.Specifications; namespace Core.Interfaces { public interface IGenericRepository where T : BaseEntity { Task GetByIdAsync(int id); Task> ListAllAsync(); Task GetEntityWithSpec(ISpecification spec); Task> ListAsync(ISpecification spec); Task CountAsync(ISpecification spec); void Add(T entity); void Update(T entity); void Delete(T entity); } }