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, }); }
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()) }); }
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, }); }
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, }); }