コード例 #1
0
ファイル: UserService.cs プロジェクト: siszoey/CrmWebApi
        public async Task <BasePageModel <User> > GetListPage(string name)
        {
            var pageInfo = new SqlSugarPageInfo()
            {
                PageIndex = 1, PageSize = 5
            };

            var result = await baseDal.QueryConditionPageAsync(null, pageInfo);

            return(new BasePageModel <User>
            {
                Models = result,
                Total = pageInfo.TotalCount
            });
        }
コード例 #2
0
ファイル: BaseRepository.cs プロジェクト: siszoey/CrmWebApi
        /// <summary>
        /// 多表分页查询
        /// 根据自定义的实体对象,返回实体对象集合分页数据
        /// </summary>
        /// <typeparam name="T1">实体1</typeparam>
        /// <typeparam name="T2">实体2</typeparam>
        /// <typeparam name="T3">实体3</typeparam>
        /// <typeparam name="T4">实体4</typeparam>
        /// <typeparam name="T5">实体5</typeparam>
        /// <typeparam name="T6">实体6</typeparam>
        /// <typeparam name="T7">实体7</typeparam>
        /// <typeparam name="T8">实体8</typeparam>
        /// <typeparam name="TResult">返回实体对象集合分页数据</typeparam>
        /// <param name="joinExpression"></param>
        /// <param name="selectExpression"></param>
        /// <param name="pageInfo"></param>
        /// <param name="whereExpression"></param>
        /// <param name="orderMuch"></param>
        /// <returns></returns>
        public async Task <List <TResult> > QueryPageMuchEntityAsync <T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, JoinQueryInfos> > joinExpression, TResult selectExpression, SqlSugarPageInfo pageInfo, Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, bool> > whereExpression = null, List <OrderByClause> orderMuch = null) where T1 : class, new()
        {
            var query = db.Queryable(joinExpression).WhereIF(whereExpression != null, whereExpression).OrderByIF(orderMuch != null, ParseOrderBy(orderMuch)).Select <TResult>();

            RefAsync <int> totalCount = 0;

            var result = await query.ToPageListAsync(pageInfo.PageIndex, pageInfo.PageSize, totalCount);

            pageInfo.TotalCount = totalCount;

            return(result);
        }
コード例 #3
0
ファイル: BaseRepository.cs プロジェクト: siszoey/CrmWebApi
        /// <summary>
        /// 条件分页查询,单表
        /// </summary>
        /// <param name="where">查询条件</param>
        /// <param name="pageInfo">分页信息</param>
        /// <param name="orders">排序条件</param>
        /// <returns></returns>
        public async Task <List <T> > QueryConditionPageAsync(Expression <Func <T, bool> > where, SqlSugarPageInfo pageInfo, List <SqlSugarOrder <T> > orders = null, bool isClearFilter = false)
        {
            var query = db.Queryable <T>();

            if (isClearFilter)
            {
                query = query.Filter(null, true);
            }

            query = query.WhereIF(where != null, where);

            if (orders != null)
            {
                query = orders.Aggregate(query, (current, item) => current.OrderBy(item.OrderExpn, item.IsDesc ? OrderByType.Desc : OrderByType.Asc));
            }

            RefAsync <int> totalCount = 0;

            var result = await query.ToPageListAsync(pageInfo.PageIndex, pageInfo.PageSize, totalCount);

            pageInfo.TotalCount = totalCount;

            return(result);
        }
コード例 #4
0
ファイル: BaseService.cs プロジェクト: siszoey/CrmWebApi
 /// <summary>
 /// 多表分页查询
 /// 根据自定义的实体对象,返回实体对象集合分页数据
 /// </summary>
 /// <typeparam name="T1">实体1</typeparam>
 /// <typeparam name="T2">实体2</typeparam>
 /// <typeparam name="T3">实体3</typeparam>
 /// <typeparam name="T4">实体4</typeparam>
 /// <typeparam name="T5">实体5</typeparam>
 /// <typeparam name="T6">实体6</typeparam>
 /// <typeparam name="T7">实体7</typeparam>
 /// <typeparam name="T8">实体8</typeparam>
 /// <typeparam name="TResult">返回实体对象集合分页数据</typeparam>
 /// <param name="joinExpression"></param>
 /// <param name="selectExpression"></param>
 /// <param name="pageInfo"></param>
 /// <param name="whereExpression"></param>
 /// <param name="orderMuch"></param>
 /// <returns></returns>
 public async Task <List <TResult> > QueryPageMuchEntityAsync <T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, JoinQueryInfos> > joinExpression, TResult selectExpression, SqlSugarPageInfo pageInfo, Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, bool> > whereExpression = null, List <OrderByClause> orderMuch = null) where T1 : class, new()
 => await baseDal.QueryPageMuchEntityAsync(joinExpression, selectExpression, pageInfo, whereExpression, orderMuch);
コード例 #5
0
ファイル: BaseService.cs プロジェクト: siszoey/CrmWebApi
 /// <summary>
 /// 条件分页查询,单表
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <param name="pageInfo">分页信息</param>
 /// <param name="orders">排序条件</param>
 /// <param name="isClearFilter">是否关闭全局过滤器</param>
 /// <returns></returns>
 public async Task <List <T> > QueryConditionPageAsync(Expression <Func <T, bool> > where, SqlSugarPageInfo pageInfo, List <SqlSugarOrder <T> > orders = null, bool isClearFilter = false)
 => await baseDal.QueryConditionPageAsync(where, pageInfo, orders, isClearFilter);