예제 #1
0
        /// <summary>
        /// Enumerable page
        /// </summary>
        /// <param name="enumerable"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        /// <param name="sourceIsFull"></param>
        public EnumerablePage(IEnumerable <T> enumerable, int currentPageNumber, int pageSize, int totalMemberCount, bool sourceIsFull = true) : base(sourceIsFull)
        {
            var skip = (currentPageNumber - 1) * pageSize;

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            _initializeAction = InitializeMemberList()(enumerable)(CurrentPageSize)(skip);
        }
예제 #2
0
        /// <summary>
        /// Dos.ORM page
        /// </summary>
        /// <param name="query"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        /// <param name="additionalQueryFunc"></param>
        public DosPage(FromSection <T> query, int currentPageNumber, int pageSize, int totalMemberCount, Func <FromSection <T>, FromSection <T> > additionalQueryFunc = null) : base()
        {
            var skip  = (currentPageNumber - 1) * pageSize;
            var state = new DosQueryState <T>(query, currentPageNumber, pageSize, additionalQueryFunc);

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            base._initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);
        }
예제 #3
0
        /// <summary>
        /// NHibernate page
        /// </summary>
        /// <param name="queryOver"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        public NhCorePage(IQueryOver <T> queryOver, int currentPageNumber, int pageSize, int totalMemberCount) : base()
        {
            var skip  = (currentPageNumber - 1) * pageSize;
            var state = new NhCoreQueryState <T>(queryOver, skip, pageSize);

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            base._initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);
        }
예제 #4
0
        /// <summary>
        /// Queryable page
        /// </summary>
        /// <param name="queryable"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        /// <param name="sourceIsFull"></param>
        public QueryablePage(IQueryable <T> queryable, int currentPageNumber, int pageSize, int totalMemberCount, bool sourceIsFull = true) : base(sourceIsFull)
        {
            var skip  = (currentPageNumber - 1) * pageSize;
            var state = new QueryEntryState <T>(queryable, skip, pageSize);

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            base._initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);
        }
예제 #5
0
        /// <summary>
        /// FreeSql page
        /// </summary>
        /// <param name="select"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        /// <param name="includeNestedMembers"></param>
        public FreeSqlPage(ISelect <T> select, int currentPageNumber, int pageSize, int totalMemberCount, bool includeNestedMembers) : base()
        {
            var skip  = (currentPageNumber - 1) * pageSize;
            var state = new FreeSqlQueryState <T>(select, currentPageNumber, pageSize, includeNestedMembers);

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            base._initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);
        }
예제 #6
0
        /// <summary>
        /// SqlSugar page
        /// </summary>
        /// <param name="query"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalMemberCount"></param>
        public SqlSugarPage(ISugarQueryable <T> query, int currentPageNumber, int pageSize, int totalMemberCount) : base()
        {
            var skip  = (currentPageNumber - 1) * pageSize;
            var state = new SqlSugarQueryState <T>(query, currentPageNumber, pageSize);

            InitializeMetaInfo()(currentPageNumber)(pageSize)(totalMemberCount)(skip)();
            base._initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);
        }
예제 #7
0
        public EnumerablePage(IEnumerable <T> enumerable, int currentPageNumber, int pageSize, int totalMemberCount) : base()
        {
            var skip = (currentPageNumber - 1) * pageSize;

            base.TotalPageCount    = (int)Math.Ceiling((double)totalMemberCount / (double)pageSize);
            base.TotalMemberCount  = totalMemberCount;
            base.CurrentPageNumber = currentPageNumber;
            base.PageSize          = pageSize;
            base.CurrentPageSize   = currentPageNumber == TotalPageCount
                ? totalMemberCount % skip
                : pageSize;

            base.HasPrevious = currentPageNumber > 1;
            base.HasNext     = currentPageNumber < totalMemberCount;

            base.m_initializeAction = InitializeMemberList()(enumerable)(CurrentPageSize)(skip);

            base.m_initializeAction();
        }
예제 #8
0
        public QueryablePage(IQueryable <T> queryable, int currentPageNumber, int pageSize, int totalMembersCount) : base()
        {
            var skip = (currentPageNumber - 1) * pageSize;

            var state = new QueryEntryState <T>(queryable, skip, pageSize);

            base.TotalPageCount    = (int)Math.Ceiling((double)totalMembersCount / (double)pageSize);
            base.TotalMemberCount  = totalMembersCount;
            base.CurrentPageNumber = currentPageNumber;
            base.PageSize          = pageSize;
            base.CurrentPageSize   = currentPageNumber == TotalPageCount
                ? totalMembersCount % skip
                : pageSize;

            base.HasPrevious = currentPageNumber > 1;
            base.HasNext     = currentPageNumber < totalMembersCount;

            base.m_initializeAction = InitializeMemberList()(state)(CurrentPageSize)(skip);

            base.m_initializeAction();
        }