Example #1
0
        public async Task <PagedResource <Currency> > GetAsync(CurrencyRequest request)
        {
            Requires.ArgumentNotNull(request, nameof(request));

            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            return(await _halClient.GetAsync <PagedResource <Currency> >(root.CurrenciesLink, request).ConfigureAwait(_halClient));
        }
Example #2
0
        public async Task <Venue> GetAsync(int venueId, VenueRequest request)
        {
            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            var venueLink = new Link
            {
                HRef = $"{root.VenuesLink.HRef}/{venueId}"
            };

            return(await _halClient.GetAsync <Venue>(venueLink, request).ConfigureAwait(_halClient));
        }
Example #3
0
        public async Task <Event> GetAsync(int eventId, EventRequest request)
        {
            Requires.ArgumentNotNull(request, nameof(request));

            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            var eventsLink = new Link
            {
                HRef = $"{root.SelfLink.HRef}/events/{eventId}"
            };

            return(await _halClient.GetAsync <Event>(eventsLink, request).ConfigureAwait(_halClient));
        }
Example #4
0
        public async Task <Listing> GetAsync(int listingId, ListingRequest request)
        {
            Requires.ArgumentNotNull(request, nameof(request));

            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            var listingLink = new Link
            {
                HRef = $"{root.SelfLink.HRef}/listings/{listingId}"
            };

            return(await _halClient.GetAsync <Listing>(listingLink, request).ConfigureAwait(_halClient));
        }
Example #5
0
        public async Task <IReadOnlyList <Category> > GetAllGenresAsync(CategoryRequest request)
        {
            Requires.ArgumentNotNull(request, nameof(request));

            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            return(await _halClient.GetAllPagesAsync <Category>(root.GenresLink, request).ConfigureAwait(_halClient));
        }
Example #6
0
        public async Task <User> GetAsync(UserRequest request, CancellationToken cancellationToken)
        {
            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            return(await _halClient.GetAsync <User>(
                       root.UserLink,
                       request,
                       cancellationToken).ConfigureAwait(_halClient));
        }
Example #7
0
        private async Task <T> GetInternalAsync <T>(
            string query,
            SearchResultRequest request,
            Func <Link, IRequestParameters, Task <T> > getSearchResultsFunc)
        {
            Requires.ArgumentNotNull(query, nameof(query));
            Requires.ArgumentNotNull(request, nameof(request));
            Requires.ArgumentNotNull(getSearchResultsFunc, nameof(getSearchResultsFunc));

            var root = await _halClient.GetRootAsync().ConfigureAwait(_halClient);

            request.Parameters.Add("query", query);

            return(await getSearchResultsFunc(root.SearchLink, request).ConfigureAwait(_halClient));
        }
Example #8
0
 public static Task <Root> GetRootAsync(this IHalClient client, RootRequest request)
 {
     return(client.GetRootAsync <Root>(request));
 }
Example #9
0
 public static Task <Root> GetRootAsync(this IHalClient client)
 {
     return(client.GetRootAsync(new RootRequest()));
 }