Пример #1
0
        public async Task <IActionResult> Get([FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0)
        {
            var result = await _itemService.GetItemsAsync();

            var totalItems = result.Count();

            var itemsOnPage = result.OrderBy(c => c.Name)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize);

            var hateoasResults = new List <ItemHateoasResponse>();

            foreach (var itemResponse in itemsOnPage)
            {
                var hateoasResult = new ItemHateoasResponse {
                    Data = itemResponse
                };
                await _linksService.AddLinksAsync(hateoasResult);

                hateoasResults.Add(hateoasResult);
            }

            var model = new PaginatedItemsResponseModel <ItemHateoasResponse>(
                pageIndex, pageSize, totalItems, hateoasResults);

            return(Ok(model));
        }
        public async Task <IList <ItemResponse> > Handle(PaginatedItemsResponseModel command,
                                                         CancellationToken cancellationToken)
        {
            if (command?.Id == null)
            {
                throw new ArgumentNullException();
            }
            var result = await _itemRepository.GetItemByArtistIdAsync(command.Id);

            return(_mapper.Map <List <ItemResponse> >(result));
        }
Пример #3
0
        public async Task <IActionResult> Get(int pageSize = 10, int pageIndex = 0)
        {
            var result = await _itemService.GetItemsAsync();

            var totalItems  = result.Count();
            var itemsOnPage = result.OrderBy(c => c.Name)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize);

            var model = new PaginatedItemsResponseModel <ItemResponse>(pageIndex, pageSize, totalItems, itemsOnPage);

            return(Ok(model));
        }
        public async Task <IActionResult> Get([FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0)
        {
            var result = await _genreService.GetGenreAsync();

            var totalItems = result.ToList().Count;

            var itemsOnPage = result
                              .OrderBy(c => c.GenreDescription)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize);

            var model = new PaginatedItemsResponseModel <GenreResponse>(
                pageIndex, pageSize, totalItems, itemsOnPage);

            return(Ok(model));
        }
Пример #5
0
        public async Task <IActionResult> Get([FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0)
        {
            var result = await _artistService.GetArtistsAsync();

            var total = result.Count();

            var itemsOnPage = result
                              .OrderBy(a => a.ArtistName)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize);

            var model = new PaginatedItemsResponseModel <ArtistResponse>(
                pageIndex, pageSize, total, itemsOnPage);

            return(Ok(model));
        }