Пример #1
0
        /// <summary>
        /// 获取分页列表
        /// </summary>
        /// <param name="page">第几页</param>
        /// <param name="ps">每页几条(默认15条,最多50条)</param>
        /// <returns></returns>
        public UserListViewModel GetPageListData(XPager pager)
        {
            UserListViewModel model = new UserListViewModel();
            List <User>       list  = GetPageData(pager, m => m.Sex == 1, null).ToList();

            model.UserList = list;
            model.Pager    = pager;
            return(model);
        }
Пример #2
0
 /// <summary>
 /// 数据表 分页
 /// </summary>
 /// <param name="pager">页数信息</param>
 /// <param name="predicate">条件</param>
 /// <param name="sortList">排序字段</param>
 /// <returns></returns>
 public List <TEntity> GetPageData(XPager pager, IPredicateGroup predicate = null, object sortList = null)
 {
     using (var conn = ConnectionFactory.CreateMainSiteConnection())
     {
         IDbTransaction transaction    = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
         int            commandTimeout = 1800;
         IList <ISort>  sort           = null;
         if (sortList != null)
         {
             sort = SortConvert(sortList);//转换排序接口
         }
         var entities = conn.GetPage <TEntity>(predicate, sort, pager.PageIndex, pager.PageSize, transaction).ToList();
         pager.RecordCount = conn.Count <TEntity>(predicate, transaction, commandTimeout);
         return(entities);
     }
 }
Пример #3
0
        /// <summary>
        /// 获取所有活动分页列表
        /// </summary>
        /// <param name="page">第几页</param>
        /// <param name="ps">每页几条(默认15条,最多50条)</param>
        /// <returns></returns>
        public UserListViewModel GetPageListData(int page = 1, int ps = 15)
        {
            UserListViewModel model = new UserListViewModel();

            if (ps > 50)
            {
                ps = 50;
            }
            XPager         pager = new XPager(page, ps, 0);
            UserRepository rep   = new UserRepository();
            List <User>    list  = rep.GetPageData(pager, m => m.Sex == 1, null).ToList();

            model.UserList = list;
            model.Pager    = pager;

            return(model);
        }
Пример #4
0
        /// <summary>
        /// 数据表 分页
        /// </summary>
        /// <param name="pager">页数信息</param>
        /// <param name="fields">要查询是字段对象</param>
        /// <param name="expression">条件 linq表达式 谓词</param>
        /// <param name="sortList">排序字段</param>
        /// <returns></returns>
        public List <TEntity> GetPageData(XPager pager, string[] fields, Expression <Func <TEntity, bool> > expression = null, object sortList = null)
        {
            using (var conn = ConnectionFactory.CreateMainSiteConnection())
            {
                IDbTransaction  transaction    = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
                int             commandTimeout = 1800;
                IPredicateGroup predicate      = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式

                IList <ISort> sort = null;
                if (sortList != null)
                {
                    sort = SortConvert(sortList);//转换排序接口
                }
                var entities = conn.GetPage <TEntity>(fields, predicate, sort, pager.PageIndex, pager.PageSize, transaction).ToList();
                pager.RecordCount = conn.Count <TEntity>(predicate, transaction, commandTimeout);
                return(entities);
            }
        }
        /// <summary>
        /// 数据表 分页
        /// </summary>
        /// <param name="pager">页数信息</param>
        /// <param name="expression">条件 linq表达式 谓词</param>
        /// <param name="sortList">排序字段</param>
        /// <returns></returns>
        public IEnumerable <TEntity> GetPageData(XPager pager, Expression <Func <TEntity, bool> > expression = null, object sortList = null)
        {
            try
            {
                if (_Conn.State == ConnectionState.Closed)
                {
                    _Conn.Open();
                }
                IDbTransaction  transaction    = _Conn.BeginTransaction(IsolationLevel.ReadUncommitted);
                int             commandTimeout = 1800;
                IPredicateGroup predicate      = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式

                IList <ISort> sort     = SortConvert(sortList);                                           //转换排序接口
                var           entities = _Conn.GetPage <TEntity>(predicate, sort, pager.PageIndex, pager.PageSize, transaction);
                var           list     = entities.ToList();
                pager.RecordCount = _Conn.Count <TEntity>(predicate, transaction, commandTimeout);
                return(entities);
            }
            finally
            {
                _Conn.Close();
            }
        }
Пример #6
0
 /// <summary>
 /// 数据表所有字段分页
 /// </summary>
 /// <param name="pager">页数信息</param>
 /// <param name="expression">条件 linq表达式 谓词</param>
 /// <param name="sortList">排序字段</param>
 /// <returns></returns>
 public IEnumerable <TEntity> GetPageData(XPager pager, Expression <Func <TEntity, bool> > expression = null, object sortList = null)
 {
     return(repository.GetPageData(pager, expression, sortList));
 }
Пример #7
0
 /// <summary>
 /// 数据表指定字段分页
 /// </summary>
 /// <param name="pager">页数信息</param>
 /// <param name="fields">要查询是字段对象</param>
 /// <param name="expression">条件 linq表达式 谓词</param>
 /// <param name="sortList">排序字段</param>
 /// <returns></returns>
 public List <TEntity> GetPageData(XPager pager, string[] fields, Expression <Func <TEntity, bool> > expression = null, object sortList = null)
 {
     return(repository.GetPageData(pager, fields, expression, sortList));
 }