public virtual async Task <PageData <TEntity> > GetPageListAsync <TEntity>(SearchModel searchModel, PageParam pageParam, bool bIsAscOrder = true, IQueryable <TEntity> queryEntity = null)
            where TEntity : class, new()
        {
            Expression <Func <TEntity, int> > keySelector = PageHelper.GetDefaultKeyExpression <TEntity, int>();
            IQueryable <TEntity> queryList = GetQueryableList(searchModel, queryEntity);

            return(await PageHelper.GetPageDataAsync(queryList, keySelector, pageParam, bIsAscOrder, searchModel?.Sort));
        }
        public virtual PageData <TEntity> GetPageList <TEntity, TSearchModel>(TSearchModel searchModel, PageParam pageParam, bool bIsAscOrder = true, IQueryable <TEntity> queryEntity = null)
            where TEntity : class, new()
            where TSearchModel : ISearchModel
        {
            Expression <Func <TEntity, int> > keySelector = PageHelper.GetDefaultKeyExpression <TEntity, int>();
            IQueryable <TEntity> queryList = GetQueryableList <TEntity, TSearchModel>(searchModel, queryEntity);

            return(PageHelper.GetPageData(queryList, keySelector, pageParam, bIsAscOrder, searchModel?.Sort));
        }