public async Task <IActionResult> Post(
            [FromServices] LegacyContext context,
            [FromServices] IOptions <ResponseOptions> reponseOptions,
            [FromBody] BosaMunicipalityRequest request,
            CancellationToken cancellationToken = default)
        {
            if (Request.ContentLength.HasValue && Request.ContentLength > 0 && request == null)
            {
                return(Ok(new MunicipalityBosaResponse()));
            }

            var filtering  = new MunicipalityBosaFilter(request);
            var sorting    = new SortingHeader(string.Empty, SortOrder.Ascending);
            var pagination = new PaginationRequest(0, 1000);

            var filteredMunicipalities = new MunicipalityBosaQuery(context).Fetch(
                new FilteringHeader <MunicipalityBosaFilter>(filtering),
                sorting,
                pagination);

            return(Ok(
                       new MunicipalityBosaResponse
            {
                Gemeenten = await filteredMunicipalities
                            .Items
                            .Select(m =>
                                    new MunicipalityBosaItemResponse(
                                        m.NisCode,
                                        reponseOptions.Value.Naamruimte,
                                        m.Version,
                                        GetGemeentenamenByLanguage(m, filtering.Language)))
                            .ToListAsync(cancellationToken),
            }));
        }
Exemplo n.º 2
0
 public MunicipalityBosaFilter(BosaMunicipalityRequest request)
 {
     NisCode          = request?.GemeenteCode?.ObjectId;
     Version          = request?.GemeenteCode?.VersieId;
     Name             = request?.Gemeentenaam?.Spelling;
     Language         = (Language?)request?.Gemeentenaam?.Taal;
     IsContainsFilter = (request?.Gemeentenaam?.SearchType ?? BosaSearchType.Bevat) == BosaSearchType.Bevat;
 }
Exemplo n.º 3
0
 public async Task <IActionResult> SearchBestAddMunicipality(
     [FromServices] IActionContextAccessor actionContextAccessor,
     [FromServices] IOptions <MunicipalityOptions> responseOptions,
     [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
     [FromBody] BosaMunicipalityRequest searchBody,
     CancellationToken cancellationToken = default)
 => await SearchBestAddMunicipalityWithFormat(
     null,
     actionContextAccessor,
     responseOptions,
     ifNoneMatch,
     searchBody,
     cancellationToken);
Exemplo n.º 4
0
        public async Task <IActionResult> SearchBestAddMunicipality(
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <MunicipalityOptions> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            [FromBody] BosaMunicipalityRequest 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));
        }
Exemplo n.º 5
0
 private static IRestRequest CreateBackendSearchBestAddRequest(BosaMunicipalityRequest searchBody)
 => new RestRequest("gemeenten/bosa", Method.POST).AddJsonBodyOrEmpty(searchBody);