Exemplo n.º 1
0
        public async Task <SearchResourceSetResponse> ExecuteAsync(string url, SearchResourceSet parameter, string authorizationHeaderValue = null)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException(nameof(url));
            }

            var httpClient = _httpClientFactory.GetHttpClient();
            var serializedPostPermission = JsonConvert.SerializeObject(parameter);
            var body    = new StringContent(serializedPostPermission, Encoding.UTF8, "application/json");
            var request = new HttpRequestMessage
            {
                Method     = HttpMethod.Post,
                RequestUri = new Uri(url),
                Content    = body
            };

            if (!string.IsNullOrWhiteSpace(authorizationHeaderValue))
            {
                request.Headers.Add("Authorization", "Bearer " + authorizationHeaderValue);
            }

            var httpResult = await httpClient.SendAsync(request);

            httpResult.EnsureSuccessStatusCode();
            var content = await httpResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <SearchResourceSetResponse>(content));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> SearchResourceSets([FromBody] SearchResourceSet searchResourceSet)
        {
            if (searchResourceSet == null)
            {
                throw new ArgumentNullException(nameof(searchResourceSet));
            }

            var parameter = searchResourceSet.ToParameter();
            var result    = await _resourceSetActions.Search(parameter);

            return(new OkObjectResult(result.ToResponse()));
        }
        public async Task <IActionResult> SearchResourceSets([FromBody] SearchResourceSet searchResourceSet)
        {
            if (searchResourceSet == null)
            {
                return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest));
            }

            var parameter = searchResourceSet.ToParameter();
            var result    = await _resourceSetActions.Search(parameter);

            return(new OkObjectResult(result.ToResponse()));
        }
Exemplo n.º 4
0
        public static SearchResourceSetParameter ToParameter(this SearchResourceSet searchResourceSet)
        {
            if (searchResourceSet == null)
            {
                throw new ArgumentNullException(nameof(searchResourceSet));
            }

            return(new SearchResourceSetParameter
            {
                Count = searchResourceSet.TotalResults,
                Ids = searchResourceSet.Ids,
                Names = searchResourceSet.Names,
                StartIndex = searchResourceSet.StartIndex,
                Types = searchResourceSet.Types
            });
        }
        /// <inheritdoc />
        public async Task <PagedResult <ResourceSet> > Search(
            SearchResourceSet parameter,
            CancellationToken cancellationToken)
        {
            await using var session = _sessionFactory();

            var parameterIds   = parameter.Ids;
            var parameterNames = parameter.Names;
            var results        = await session.Query <OwnedResourceSet>()
                                 .Where(x => x.Name.IsOneOf(parameterIds) && x.Type.IsOneOf(parameterNames))
                                 .ToPagedListAsync(parameter.StartIndex + 1, parameter.TotalResults, cancellationToken)
                                 .ConfigureAwait(false);

            return(new PagedResult <ResourceSet>
            {
                Content = results.Select(x => x.AsResourceSet()).ToArray(),
                StartIndex = parameter.StartIndex,
                TotalResults = results.TotalItemCount
            });
        }
Exemplo n.º 6
0
        public async Task <SearchResourceSetResponse> ResolveSearch(string url, SearchResourceSet parameter, string authorizationHeaderValue = null)
        {
            var configuration = await _getConfigurationOperation.ExecuteAsync(UriHelpers.GetUri(url));

            return(await _searchResourcesOperation.ExecuteAsync(configuration.ResourceRegistrationEndpoint + "/.search", parameter, authorizationHeaderValue));
        }