示例#1
0
        public async Task <PagedList <Bet> > SelectBets(BetQueryFilter filters)
        {
            var bets = await _unitOfwork.BetRepository.SelectBets();

            filters.pageNumber = filters.pageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.pageNumber;
            filters.pageSize   = filters.pageSize == 0 ? _paginationOptions.DefaultPageSize : filters.pageSize;
            if (filters.id_roulette != null)
            {
                bets = bets.Where(e => e.id_roulette == filters.id_roulette);
            }
            if (filters.id_user != null)
            {
                bets = bets.Where(e => e.id_user == filters.id_user);
            }

            var pagedBets = PagedList <Bet> .Create(bets, filters.pageNumber, filters.pageSize);

            return(pagedBets);
        }
        public async Task <IActionResult> SelectBets([FromQuery] BetQueryFilter filters)
        {
            var bets = await _betService.SelectBets(filters);

            var betDto = _mapper.Map <IEnumerable <BetDto> >(bets);

            var metaData = new MetaData {
                TotalCount      = bets.TotalCount,
                PageSize        = bets.PageSize,
                CurrentPage     = bets.CurrentPage,
                TotalPages      = bets.TotalPages,
                HasNextPage     = bets.HasNextPage,
                HasPreviousPage = bets.HasPreviousPage,
                NextPageUrl     = _urlService.getPostPaginationUrl(filters, Url.RouteUrl(nameof(SelectBets))).ToString(),
                PreviousPageUrl = _urlService.getPostPaginationUrl(filters, Url.RouteUrl(nameof(SelectBets))).ToString()
            };
            var response = new ApiResponses <IEnumerable <BetDto> >(betDto)
            {
                Meta = metaData
            };

            Response.Headers.Add("x-Pagination", JsonConvert.SerializeObject(metaData));
            return(Ok(response));
        }
示例#3
0
        public Uri getPostPaginationUrl(BetQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_baseUrl}{actionUrl}";

            return(new Uri(baseUrl));
        }