Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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()));
 }
Exemplo n.º 5
0
 public IEnumerable <Bookmark> GetUserBookmarks(string userId)
 {
     return(_bookmarkRepository.GetAll(userId));
 }