public SearchListResultModel ListPagination(SearchListResultModel model, int page, int pageSize) { int startRow = 0; PaginationResult paginationResult = null; if (pageSize > 0) { //分頁 startRow = (page - 1) * pageSize; paginationResult = new PaginationResult() { CurrentPage = page, DataCount = model.Data.Count(), PageSize = pageSize, FirstPage = 1, LastPage = model.Data.Count() == 0 ? 1 : Convert.ToInt32(Math.Ceiling((decimal)model.Data.Count() / pageSize)) }; //若搜尋頁數超過最大頁數,則強制變為搜索最大頁數 if (page > paginationResult.LastPage) { paginationResult.CurrentPage = paginationResult.LastPage; startRow = (paginationResult.CurrentPage - 1) * pageSize; } } model.Data = model.Data.Skip(startRow).Take(pageSize).ToList(); model.Pagination = paginationResult; return(model); }
public SearchListResultModel SearchSite(SearchListFilterModel filter) { PublicMethodRepository.FilterXss(filter); string str = filter.QueryString; SearchListResultModel result = new SearchListResultModel(); List <SearchListDataModel> data = new List <SearchListDataModel>(); SearchAbout(filter.QueryString, filter.LangCode, ref data); SearchEducation(filter.QueryString, filter.LangCode, ref data); SearchJoinUs(filter.QueryString, filter.LangCode, ref data); SearchEventLatest(filter.QueryString, filter.LangCode, ref data); SearchStates(filter.QueryString, filter.LangCode, ref data); SearchAnnouncement(filter.QueryString, filter.LangCode, ref data); SearchFocus(filter.QueryString, filter.LangCode, ref data); //result.Data = data.OrderByDescending(o => o.UpDateTime).ToList(); result.Data = data.OrderByDescending(o => o.Sort).ThenByDescending(x => x.BD_DTString).ToList(); result = ListPagination(result, (int)filter.CurrentPage, (int)PageSizeConfig.SIZE10); return(result); }