public async Task <ChangedResources <SellerListing> > GetAllChangesAsync( Link nextLink, SellerListingRequest request, CancellationToken cancellationToken) { var changedResources = await _halClient.GetChangedResourcesAsync <SellerListing>(nextLink, request, cancellationToken); return(new ChangedResources <SellerListing>( changedResources.NewOrUpdatedResources.GroupBy(l => l.Id).Select(l => l.OrderByDescending(o => o.UpdatedAt).First()).ToList(), changedResources.DeletedResources.GroupBy(l => l.Id).Select(l => l.First()).ToList(), changedResources.NextLink)); }
/// <summary> /// Gets the <typeparamref name="T"/> resources that have changed since /// your application's last request. /// </summary> /// <param name="nextLink">The <see cref="Link"/> that was stored from /// your last request.</param> public static Task <ChangedResources <T> > GetChangedResourcesAsync <T>( this IHalClient client, Link nextLink, IRequestParameters request, CancellationToken cancellationToken) where T : Resource { return(client.GetChangedResourcesAsync <T>( nextLink, request?.Parameters, request?.Headers, cancellationToken)); }