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 PaginatedItemResponseModel <ItemHateoasResponse>( pageIndex, pageSize, totalItems, hateoasResults); return(Ok(model)); }
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 PaginatedItemResponseModel <ItemResponse>(pageIndex, pageSize, totalItems, itemsOnPage); return(Ok(model)); }
public async Task <IActionResult> Get([FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0) { var result = await _mediator.Send(new GetArtistsCommand()); int totalItems = result.Count; var itemsOnPage = result .OrderBy(c => c.ArtistName) .Skip(pageSize * pageIndex) .Take(pageSize); var model = new PaginatedItemResponseModel <ArtistResponse>( pageIndex, pageSize, totalItems, itemsOnPage); return(Ok(model)); }
public async Task <IActionResult> Get([FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0) { var result = await _artistService.GetArtistsAsync(); var totalItems = result.ToList().Count; var itemsOnPage = result .OrderBy(c => c.ArtistName) .Skip(pageSize * pageIndex) .Take(pageSize); var model = new PaginatedItemResponseModel <ArtistResponse>( pageIndex, pageSize, totalItems, itemsOnPage); return(Ok(model)); }