private static string BuildDescription(ParcelSyndicationQueryResult parcel, string naamruimte)
        {
            if (!parcel.ContainsEvent && !parcel.ContainsObject)
            {
                return("No data embedded");
            }

            var content = new SyndicationContent();

            if (parcel.ContainsObject)
            {
                content.Object = new ParcelSyndicationContent(
                    parcel.ParcelId,
                    naamruimte,
                    parcel.CaPaKey,
                    parcel.LastChangedOn.ToBelgianDateTimeOffset(),
                    parcel.Status.MapToPerceelStatus(),
                    parcel.AddressIds,
                    parcel.IsComplete,
                    parcel.Organisation,
                    parcel.Reason);
            }

            if (parcel.ContainsEvent)
            {
                var doc = new XmlDocument();
                doc.LoadXml(parcel.EventDataAsXml);
                content.Event = doc.DocumentElement;
            }

            return(content.ToXml());
        }
        public static async Task WriteParcel(
            this ISyndicationFeedWriter writer,
            IOptions <ResponseOptions> responseOptions,
            AtomFormatter formatter,
            string category,
            ParcelSyndicationQueryResult parcel)
        {
            var item = new SyndicationItem
            {
                Id          = parcel.Position.ToString(CultureInfo.InvariantCulture),
                Title       = $"{parcel.ChangeType}-{parcel.Position}",
                Published   = parcel.RecordCreatedAt.ToBelgianDateTimeOffset(),
                LastUpdated = parcel.LastChangedOn.ToBelgianDateTimeOffset(),
                Description = BuildDescription(parcel, responseOptions.Value.Naamruimte)
            };

            item.AddLink(
                new SyndicationLink(
                    new Uri($"{responseOptions.Value.Naamruimte}/{parcel.CaPaKey}"),
                    AtomLinkTypes.Related));

            item.AddLink(
                new SyndicationLink(
                    new Uri(string.Format(responseOptions.Value.DetailUrl, parcel.CaPaKey)),
                    AtomLinkTypes.Self));

            item.AddLink(
                new SyndicationLink(
                    new Uri(string.Format($"{responseOptions.Value.DetailUrl}.xml", parcel.CaPaKey)),
                    AtomLinkTypes.Alternate)
            {
                MediaType = MediaTypeNames.Application.Xml
            });

            item.AddLink(
                new SyndicationLink(
                    new Uri(string.Format($"{responseOptions.Value.DetailUrl}.json", parcel.CaPaKey)),
                    AtomLinkTypes.Alternate)
            {
                MediaType = MediaTypeNames.Application.Json
            });

            item.AddCategory(
                new SyndicationCategory(category));

            item.AddContributor(
                new SyndicationPerson(
                    "agentschap Informatie Vlaanderen",
                    "*****@*****.**",
                    AtomContributorTypes.Author));

            await writer.Write(item);
        }