private static GeografischeNaam GetHomoniemToevoegingByTaal(StreetNameListItem item, Language?taal)
        {
            switch (taal)
            {
            case null when !string.IsNullOrEmpty(item.HomonymAdditionDutch):
            case Language.Dutch when !string.IsNullOrEmpty(item.HomonymAdditionDutch):
                return(new GeografischeNaam(
                           item.HomonymAdditionDutch,
                           Taal.NL));

            case Language.French when !string.IsNullOrEmpty(item.HomonymAdditionFrench):
                return(new GeografischeNaam(
                           item.HomonymAdditionFrench,
                           Taal.FR));

            case Language.German when !string.IsNullOrEmpty(item.HomonymAdditionGerman):
                return(new GeografischeNaam(
                           item.HomonymAdditionGerman,
                           Taal.DE));

            case Language.English when !string.IsNullOrEmpty(item.HomonymAdditionEnglish):
                return(new GeografischeNaam(
                           item.HomonymAdditionEnglish,
                           Taal.EN));

            default:
                return(null);
            }
        }
        private static GeografischeNaam GetGeografischeNaamByTaal(StreetNameListItem item, Language?taal)
        {
            switch (taal)
            {
            case null when !string.IsNullOrEmpty(item.NameDutch):
            case Language.Dutch when !string.IsNullOrEmpty(item.NameDutch):
                return(new GeografischeNaam(
                           item.NameDutch,
                           Taal.NL));

            case Language.French when !string.IsNullOrEmpty(item.NameFrench):
                return(new GeografischeNaam(
                           item.NameFrench,
                           Taal.FR));

            case Language.German when !string.IsNullOrEmpty(item.NameGerman):
                return(new GeografischeNaam(
                           item.NameGerman,
                           Taal.DE));

            case Language.English when !string.IsNullOrEmpty(item.NameEnglish):
                return(new GeografischeNaam(
                           item.NameEnglish,
                           Taal.EN));

            default:
                return(null);
            }
        }
        private static void UpdateHomonymAdditionByLanguage(StreetNameListItem entity, Language?language, string homonymAddition)
        {
            switch (language)
            {
            case Language.Dutch:
                entity.HomonymAdditionDutch = homonymAddition;
                break;

            case Language.French:
                entity.HomonymAdditionFrench = homonymAddition;
                break;

            case Language.German:
                entity.HomonymAdditionGerman = homonymAddition;
                break;

            case Language.English:
                entity.HomonymAdditionEnglish = homonymAddition;
                break;
            }
        }
 private static void UpdateVersionTimestamp(StreetNameListItem streetNameListItem, Instant timestamp)
 => streetNameListItem.VersionTimestamp = timestamp;