using Church.Net.DAL.EF; using Church.Net.Utility; using System.Collections.Generic; using System.Threading.Tasks; using System; namespace WebAPI.Logics.Interface { public interface ICrudLogic { T First(Func filter = null); T GetById(string Id); IEnumerable GetAll(Func filter = null); //IEnumerable GetAllById(IEnumerable Ids); int Create(T entity); Task CreateAsync(T entity); //string CreateReturnId(T entity); int CreateOrUpdate(T entity, out string id); int Update(T entity); void CreateDone(T entity); void UpdateDone(T entity); int UpdateRange(IEnumerable entities); int Delete(T obj); int Delete(Func filter = null); bool CheckExist(T obj); } public interface ICombinedKeyCrudLogic { T First(Func filter = null); T GetById(IEnumerable combinedKeyIds); IEnumerable GetAll(Func filter = null); int Create(T entity); Task CreateAsync(T entity); int CreateOrUpdate(T entity); int Update(T entity); void CreateDone(T entity); void UpdateDone(T entity); int UpdateRange(IEnumerable entities); int Delete(T obj); int Delete(IEnumerable combinedKeyIds); int Delete(Func filter); bool CheckExist(T obj); } }