Beispiel #1
0
        public ActionResult GetDogs(
            ApiVersion apiVersion,
            [FromQuery] int page    = 1,
            [FromQuery] int perPage = 10)
        {
            perPage = Math.Max(perPage, 1);
            page    = Math.Max(page, 1);

            var data =
                _entityManager.GetAllDogs()
                .Skip((page - 1) * perPage)
                .Take(perPage)
                .Select(dog => _dogMapper.ConvertToDto(dog, Url, apiVersion));

            var paginationData = new PageDataDto(
                page,
                data.Count(),
                perPage,
                _entityManager.GetDogCount());

            PagedDto <DogDto> result = new PagedDto <DogDto>(paginationData, data);

            return(Ok(result.WithLinks <DogDto>(Url, apiVersion, nameof(GetDogs))));
        }
Beispiel #2
0
 public PagedDto(PageDataDto pagingData, IEnumerable <T> data)
 {
     Data = data;
     Page = pagingData;
 }