コード例 #1
0
ファイル: BaseService.cs プロジェクト: sonlam2809/WebCore
 protected void SetDefaultPageSize(IPagingFilterDto pagingFilterDto)
 {
     if (pagingFilterDto.PageSize <= 0)
     {
         pagingFilterDto.PageSize = (int)systemConfigService.GetValueNumber(ConstantConfig.SystemConfigName.PageDefaultNumber);
     }
 }
コード例 #2
0
ファイル: IQueryableExtension.cs プロジェクト: nghien/webcore
        private static void InitPagedModel <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto, PagingResultDto <TModel> pagingModel)
        {
            pagingModel.RowCount    = query.Count();
            pagingModel.PageSize    = pagingFilterDto.PageSize;
            pagingModel.CurrentPage = pagingFilterDto.PageNumber;

            var pageCount = (double)pagingModel.RowCount / pagingModel.PageSize;

            pagingModel.PageCount = (int)Math.Ceiling(pageCount);

            IQueryable <TModel> queryResultPage = query
                                                  .Skip((pagingFilterDto.PageNumber - 1) * pagingFilterDto.PageSize)
                                                  .Take(pagingFilterDto.PageSize);

            pagingModel.Items = queryResultPage.ToList();
        }
コード例 #3
0
ファイル: IQueryableExtension.cs プロジェクト: nghien/webcore
        public static PagingResultDto <TModel> PagedQuery <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto)
        {
            if (pagingFilterDto.PageNumber <= 0)
            {
                pagingFilterDto.PageNumber = 1;
            }
            var result = new PagingResultDto <TModel>();

            InitPagedModel(query, pagingFilterDto, result);
            return(result);
        }
コード例 #4
0
        public static PagingResultDto <TModel> PagedQuery <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto)
        {
            if (pagingFilterDto.PageNumber <= 0)
            {
                pagingFilterDto.PageNumber = 1;
            }
            var result = new PagingResultDto <TModel>();

            result.RowCount    = query.Count();
            result.PageSize    = pagingFilterDto.PageSize;
            result.CurrentPage = pagingFilterDto.PageNumber;

            var pageCount = (double)result.RowCount / result.PageSize;

            result.PageCount = (int)Math.Ceiling(pageCount);

            IQueryable <TModel> queryResultPage = query
                                                  .Skip((pagingFilterDto.PageNumber - 1) * pagingFilterDto.PageSize)
                                                  .Take(pagingFilterDto.PageSize);

            result.Items = queryResultPage.ToList();

            return(result);
        }