private static void UpdateNamesByGemeentenamen(MunicipalityBosaItem syndicationItem, IReadOnlyCollection <GeografischeNaam> gemeentenamen) { if (gemeentenamen == null || !gemeentenamen.Any()) { return; } foreach (var naam in gemeentenamen) { switch (naam.Taal) { default: case Taal.NL: syndicationItem.NameDutch = naam.Spelling; syndicationItem.NameDutchSearch = naam.Spelling.SanitizeForBosaSearch(); break; case Taal.FR: syndicationItem.NameFrench = naam.Spelling; syndicationItem.NameFrenchSearch = naam.Spelling.SanitizeForBosaSearch(); break; case Taal.DE: syndicationItem.NameGerman = naam.Spelling; syndicationItem.NameGermanSearch = naam.Spelling.SanitizeForBosaSearch(); break; case Taal.EN: syndicationItem.NameEnglish = naam.Spelling; syndicationItem.NameEnglishSearch = naam.Spelling.SanitizeForBosaSearch(); break; } } }
private static async Task AddSyndicationItemEntry(AtomEntry <SyndicationItem <Municipality> > entry, SyndicationContext context, CancellationToken ct) { var municipalityItem = await context .MunicipalityBosaItems .FindAsync(entry.Content.Object.Id); if (municipalityItem == null) { municipalityItem = new MunicipalityBosaItem { MunicipalityId = entry.Content.Object.Id, NisCode = entry.Content.Object.Identificator?.ObjectId, Version = entry.Content.Object.Identificator?.Versie, Position = long.Parse(entry.FeedEntry.Id), PrimaryLanguage = entry.Content.Object.OfficialLanguages.FirstOrDefault(), IsFlemishRegion = RegionFilter.IsFlemishRegion(entry.Content.Object.Identificator?.ObjectId) }; UpdateNamesByGemeentenamen(municipalityItem, entry.Content.Object.MunicipalityNames); await context .MunicipalityBosaItems .AddAsync(municipalityItem, ct); } else { municipalityItem.NisCode = entry.Content.Object.Identificator?.ObjectId; municipalityItem.Version = entry.Content.Object.Identificator?.Versie; municipalityItem.Position = long.Parse(entry.FeedEntry.Id); municipalityItem.PrimaryLanguage = entry.Content.Object.OfficialLanguages.FirstOrDefault(); municipalityItem.IsFlemishRegion = RegionFilter.IsFlemishRegion(entry.Content.Object.Identificator?.ObjectId); UpdateNamesByGemeentenamen(municipalityItem, entry.Content.Object.MunicipalityNames); } }