public async Task <IActionResult> GetHistory(PagingInfo pagingInfo)
        {
            var history = await _SearchHistoryRepository.GetAll(pagingInfo);

            IEnumerable <SearchHistoryListModel> model = history.Select(search => SearchHistoryListModel(search));

            var total = _SearchHistoryRepository.Count();
            var pages = (int)Math.Ceiling(total / (double)pagingInfo.PageSize);

            var prev = pagingInfo.Page > 0
                ? Url.Link(nameof(GetHistory),
                           new { page = pagingInfo.Page - 1, pagingInfo.PageSize })
                : null;

            var next = pagingInfo.Page < pages - 1
                ? Url.Link(nameof(GetHistory),
                           new { page = pagingInfo.Page + 1, pagingInfo.PageSize })
                : null;

            var result = new
            {
                Prev    = prev,
                Next    = next,
                Total   = total,
                Pages   = pages,
                History = model
            };

            return(Ok(result));
        }
示例#2
0
        public async Task <IActionResult> GetHistory(int userid, PagingInfo pagingInfo)
        {
            var history = await _SearchHistoryRepository.GetSearchHistory(userid, pagingInfo);

            var model = history.Select(search => SearchHistoryListModel(search));

            var total = _SearchHistoryRepository.Count();
            var prev  = Url.Link(nameof(GetHistory), new { page = pagingInfo.Page - 1, pagingInfo.PageSize }).ToLower();
            var next  = Url.Link(nameof(GetHistory), new { page = pagingInfo.Page + 1, pagingInfo.PageSize }).ToLower();

            var returnType = new ReturnTypeConstants("searchhistory");
            var result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }