using System.Linq.Expressions; using Domain; namespace DataLayer.Interfaces; public interface IAbstractRepository where T : BaseEntity { Task GetById(int id); Task FirstOrDefault(Expression> predicate); Task Add(T entity); Task Update(T entity); Task Remove(T entity); Task> GetAll(); Task> GetWhere(Expression> predicate); Task CountAll(); Task CountWhere(Expression> predicate); }