public async Task <PagedResultDto <BookmarkDto> > GetPagedAsync(GetPagedBookmarkInputDto input) { _logger.LogInformation("=============================试测试测试测试测试测试测试测试测试测试测试"); //初步过滤 var query = _bookmarkRepository.GetAll() .WhereIf(!input.Keyword.IsNullOrEmpty(), t => t.Content.Contains(input.Keyword) || t.Summary.Contains(input.Keyword) || t.Title.Contains(input.Keyword)) .WhereIf(input.CategoryId.HasValue, t => t.Categorys.Any(c => c.CategoryId == input.CategoryId)).OrderByDescending(t => t.CreationTime); //排序 //query = !string.IsNullOrEmpty(input.Sorting) ? query.OrderBy(input.Sorting) : query.OrderByDescending(t => t.CreationTime); //获取总数 var totalCount = query.Count(); //默认的分页方式 //var bookmarks = query.Skip(input.SkipCount).Take(input.MaxResultCount).ToList(); //ABP提供了扩展方法PageBy分页方式 var bookmarks = query.PageBy(input).ToList(); IReadOnlyList <BookmarkDto> list = new List <BookmarkDto>( ObjectMapper.Map <List <Bookmark>, List <BookmarkDto> >(bookmarks)); return(new PagedResultDto <BookmarkDto>(totalCount, list)); }
public async Task <IActionResult> GetBookmarks(PagingInfo pagingInfo) { var bookmark = await _BookmarkRepository.GetAll(pagingInfo); IEnumerable <BookmarkListModel> model = bookmark.Select(que => CreateBookmarkListModel(que)); var total = _BookmarkRepository.Count(); var pages = (int)Math.Ceiling(total / (double)pagingInfo.PageSize); var prev = pagingInfo.Page > 0 ? Url.Link(nameof(GetBookmark), new { page = pagingInfo.Page - 1, pagingInfo.PageSize }) : null; var next = pagingInfo.Page < pages - 1 ? Url.Link(nameof(GetBookmark), new { page = pagingInfo.Page + 1, pagingInfo.PageSize }) : null; var result = new { Prev = prev, Next = next, Total = total, Pages = pages, Bookmarks = model }; return(Ok(result)); }
public BookmarkService(IBookmarkRepository repository) { _repository = repository; if (HttpContext.Current.Cache[CACHE_KEY] == null) { CacheInit(Enumerable.ToList <Bookmark>(_repository.GetAll())); } }
public BookmarkService(IBookmarkRepository repository) { _repository = repository; if (HttpContext.Current.Cache[CACHE_KEY] == null) CacheInit(Enumerable.ToList<Bookmark>(_repository.GetAll())); }
public IEnumerable <Bookmark> GetUserBookmarks(string userId) { return(_bookmarkRepository.GetAll(userId)); }