private void BuildStreetAddress(StringBuilder builder, bool includeSiteName = true) { // street_address = name_part number_part street_part // name_part = (address_site_name SP / building_part) // building_part = ( / building_name SP) // street_part = street_name ( / SP street_type) ( / SP street_suffix) // name_part if (includeSiteName && SiteName.HasValue()) { builder.Append(SiteName); builder.Append(Sp); // need building_name from datasets } number_part(builder); // street_part builder.Append(StreetName); if (StreetType.HasValue()) { builder.Append(Sp); builder.Append(StreetType); } if (StreetSuffix.HasValue()) { builder.Append(Sp); builder.Append(StreetSuffix); } }
public string[] GenerateCompletionAddresses(string locality, List <string> addresses) { addresses.Add(GenerateCompletionAddress(locality, true)); if (SiteName.HasValue()) { addresses.Add(GenerateCompletionAddress(locality, false)); } if (ComplexUnitType.HasValue()) { var addressWithoutUnitType = DeepCopyAttributes(); addressWithoutUnitType.ComplexUnitType = null; addresses.Add(addressWithoutUnitType.GenerateCompletionAddress(locality, true)); if (SiteName.HasValue()) { addresses.Add(addressWithoutUnitType.GenerateCompletionAddress(locality, false)); } } return(addresses.ToArray()); }