public async Task <IActionResult> Sync(
            [FromServices] IConfiguration configuration,
            [FromServices] LegacyContext context,
            [FromServices] IOptions <ResponseOptions> responseOptions,
            CancellationToken cancellationToken = default)
        {
            var filtering  = Request.ExtractFilteringRequest <PostalInformationSyndicationFilter>();
            var sorting    = Request.ExtractSortingRequest();
            var pagination = Request.ExtractPaginationRequest();

            var pagedPostalInformationSet = new PostalInformationSyndicationQuery(
                context,
                filtering.Filter?.ContainsEvent ?? false,
                filtering.Filter?.ContainsObject ?? false)
                                            .Fetch(filtering, sorting, pagination);

            Response.AddPagedQueryResultHeaders(pagedPostalInformationSet);

            return(new ContentResult
            {
                Content = await BuildAtomFeed(pagedPostalInformationSet, responseOptions, configuration),
                ContentType = MediaTypeNames.Text.Xml,
                StatusCode = StatusCodes.Status200OK
            });
        }
        public async Task <IActionResult> Sync(
            [FromServices] IConfiguration configuration,
            [FromServices] LegacyContext context,
            [FromServices] IOptions <ResponseOptions> responseOptions,
            CancellationToken cancellationToken = default)
        {
            var filtering  = Request.ExtractFilteringRequest <PostalInformationSyndicationFilter>();
            var sorting    = Request.ExtractSortingRequest();
            var pagination = Request.ExtractPaginationRequest();

            var lastFeedUpdate = await context
                                 .PostalInformationSyndication
                                 .AsNoTracking()
                                 .OrderByDescending(item => item.Position)
                                 .Select(item => item.SyndicationItemCreatedAt)
                                 .FirstOrDefaultAsync(cancellationToken);

            if (lastFeedUpdate == default)
            {
                lastFeedUpdate = new DateTimeOffset(2020, 1, 1, 0, 0, 0, TimeSpan.Zero);
            }

            var pagedPostalInformationSet =
                new PostalInformationSyndicationQuery(
                    context,
                    filtering.Filter?.Embed)
                .Fetch(filtering, sorting, pagination);

            return(new ContentResult
            {
                Content = await BuildAtomFeed(lastFeedUpdate, pagedPostalInformationSet, responseOptions, configuration),
                ContentType = MediaTypeNames.Text.Xml,
                StatusCode = StatusCodes.Status200OK
            });
        }