public async Task <IActionResult> Post( [FromServices] LegacyContext legacyContext, [FromServices] SyndicationContext syndicationContext, [FromServices] IOptions <ResponseOptions> responseOptions, [FromBody] BosaStreetNameRequest request, CancellationToken cancellationToken = default) { if (Request.ContentLength.HasValue && Request.ContentLength > 0 && request == null) { return(Ok(new StreetNameBosaResponse())); } var filter = new StreetNameNameFilter(request); if (_useProjectionsV2Toggle.FeatureEnabled) { var streetNameBosaResponseV2 = await new StreetNameBosaQueryV2( legacyContext, syndicationContext, responseOptions) .FilterAsync(filter, cancellationToken); return(Ok(streetNameBosaResponseV2)); } var streetNameBosaResponse = await new StreetNameBosaQuery( legacyContext, syndicationContext, responseOptions) .FilterAsync(filter, cancellationToken); return(Ok(streetNameBosaResponse)); }
public StreetNameNameFilter(BosaStreetNameRequest request) { ObjectId = request?.StraatnaamCode?.ObjectId; StreetNameVersion = request?.StraatnaamCode?.VersieId; StreetName = request?.Straatnaam?.Spelling; Language = request?.Straatnaam?.Taal?.ConvertFromTaal(); Status = request?.StraatnaamStatus?.ConvertFromStraatnaamStatus(); MunicipalityObjectId = request?.GemeenteCode?.ObjectId; MunicipalityVersion = request?.GemeenteCode?.VersieId != null ? new Rfc3339SerializableDateTimeOffset(request.GemeenteCode.VersieId.Value).ToString() : string.Empty; IsContainsFilter = (request?.Straatnaam?.SearchType ?? BosaSearchType.Bevat) == BosaSearchType.Bevat; }
public async Task <IActionResult> SearchBestAddStreetName( [FromServices] IActionContextAccessor actionContextAccessor, [FromServices] IOptions <MunicipalityOptions> responseOptions, [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch, [FromBody] BosaStreetNameRequest searchBody, CancellationToken cancellationToken = default) => await SearchBestAddStreetNameWithFormat( null, actionContextAccessor, responseOptions, ifNoneMatch, searchBody, cancellationToken);
public async Task <IActionResult> SearchBestAddStreetName( [FromServices] IActionContextAccessor actionContextAccessor, [FromServices] IOptions <MunicipalityOptions> responseOptions, [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch, [FromBody] BosaStreetNameRequest searchBody, CancellationToken cancellationToken = default) { var contentFormat = DetermineFormat(actionContextAccessor.ActionContext); IRestRequest BackendRequest() => CreateBackendSearchBestAddRequest(searchBody); var value = await GetFromBackendAsync( contentFormat.ContentType, BackendRequest, CreateDefaultHandleBadRequest(), cancellationToken); return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.VolgendeUrl)); }
private static IRestRequest CreateBackendSearchBestAddRequest(BosaStreetNameRequest searchBody) => new RestRequest("straatnamen/bosa", Method.POST).AddJsonBodyOrEmpty(searchBody);