コード例 #1
0
        public GetPagesOutput GetPages(GetPagesInput input)
        {
            // GetAll() 返回 IQueryable<TEntity>
            var pages = string.IsNullOrEmpty(input.SearchKey) ?
                        _repository.GetAll() :
                        GetPagesForSearchKey(input.SearchKey);

            if (input.IsStaticPage())
            {
                pages = pages.OfType <StaticPage>();
            }
            else if (input.IsContentPage())
            {
                pages = pages.OfType <ContentPage>();
            }

            int pageNum = pages.Count();

            var pageResults = pages.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize).ToList();

            List <PageDto> pageDtos = new List <PageDto>();

            foreach (var page in pageResults)
            {
                pageDtos.Add(CreatePageDtos(page));
            }

            return(new GetPagesOutput()
            {
                ResourceNum = pageNum,
                PageIndex = input.PageIndex,
                Pages = pageDtos,
            });
        }
コード例 #2
0
        public GetPagesOutput GetPages(GetPagesInput input)
        {
            IEnumerable <PageBase> pages = string.IsNullOrEmpty(input.SearchKey) ?
                                           _repository.GetAll() :
                                           GetPagesForSearchKey(input.SearchKey);

            int pageNum = pages.Count();

            pages = pages.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize);

            return(new GetPagesOutput()
            {
                PageNum = pageNum,
                Pages = CreatePageDtos(pages.ToList())
            });
        }
コード例 #3
0
        public GetPagesOutput GetPages(GetPagesInput input)
        {
            IEnumerable <Page> pages = _pageManager.GetPagesForCache();

            // GetAll() 返回 IQueryable<TEntity>
            if (!string.IsNullOrEmpty(input.SearchKey))
            {
                pages = pages.Where(e => e.DisplayName.Contains(input.SearchKey));
            }

            if (input.IsStaticPage())
            {
                pages = pages.Where(e => e.Discriminator == Page.StaticPageDiscriminatorName);
            }
            else if (input.IsContentPage())
            {
                pages = pages.Where(e => e.Discriminator == Page.ContentPageDiscriminatorName);
            }

            int pageNum = pages.Count();

            var pageResults = pages.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize).ToList();

            List <PageDto> pageDtos = new List <PageDto>();

            foreach (var page in pageResults)
            {
                pageDtos.Add(_objectMapper.Map <PageDto>(page));
            }

            return(new GetPagesOutput()
            {
                ResourceNum = pageNum,
                PageIndex = input.PageIndex,
                Pages = pageDtos,
            });
        }
コード例 #4
0
        public GetPagesOutput GetPages(GetPagesInput input)
        {
            IEnumerable <PageBase> pages = string.IsNullOrEmpty(input.SearchKey) ?
                                           _repository.GetAll() :
                                           GetPagesForSearchKey(input.SearchKey);

            int pageNum = pages.Count();

            pages = pages.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize);

            List <PageDto> pageDtos = new List <PageDto>();

            foreach (var page in pages)
            {
                pageDtos.Add(CreatePageDtos(page));
            }

            return(new GetPagesOutput()
            {
                ResourceNum = pageNum,
                PageIndex = input.PageIndex,
                Pages = pageDtos,
            });
        }