using System.Text.RegularExpressions;
public static void Main()
dynamic person = new ExpandoObject();
person.PostalAddress = new ExpandoObject();
person.PostalAddress.FullAddressLine = "Blastraat 133, 1234 AB GRONINGEN";
person.HomeAddress = new ExpandoObject();
person.HomeAddress.FullAddressLine = "Blastraat 133, 1234 AB GRONINGEN";
Console.WriteLine(GetAddressLine(null, person));
person.PostalAddress = null;
Console.WriteLine(GetAddressLine(null, person));
public static string GetAddressLine(dynamic unit, dynamic relatedPerson)
string adressLine = string.Empty;
Regex invalidateAdress = new Regex("^[, ]+$");
adressLine = unit.FullAddressLine ?? unit.AddressLine;
else if (relatedPerson != null && relatedPerson.PostalAddress != null)
adressLine = relatedPerson.PostalAddress.FullAddressLine ?? relatedPerson.PostalAddress.AddressLine;
if (relatedPerson != null && invalidateAdress.IsMatch(adressLine) && relatedPerson.HomeAddress != null)
adressLine = relatedPerson.HomeAddress.FullAddressLine ?? relatedPerson.HomeAddress.AddressLine;
if (string.IsNullOrWhiteSpace(adressLine) || invalidateAdress.IsMatch(adressLine))