using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq.Expressions; using WX.CRM.Common; namespace WX.CRM.IBLL { public interface IRepository : IDisposable where T : class { T Get(Expression> where); IEnumerable GetList(); IEnumerable GetList(Expression> where); IEnumerable GetList(Expression> where, Expression> orderBy = null, SortOrder sortOrder = SortOrder.Descending); IEnumerable GetList(Expression> orderBy, int pageindex, int pagesize, out int totalRecords , SortOrder sortOrder = SortOrder.Descending); IEnumerable GetList(Expression> where, Expression> orderBy, int pageindex, int pagesize, out int totalRecords, SortOrder sortOrder = SortOrder.Descending); IEnumerable GetList(Expression> where, Expression> orderBy, Pager pg, SortOrder sortOrder = SortOrder.Descending); int Add(T entity); void AddList(List list); bool Update(T obj); void Delete(T obj); bool Delete(Expression> where); bool Exists(Expression> where); } }