public AdresseType ToAddressType(String addressString) { try { addressString = HttpUtility.UrlEncode(addressString, Encoding.UTF8); String urlString = "http://dawa.aws.dk/adresser?q=" + addressString; var url = new Uri(urlString); var responseBytes = new System.Net.WebClient().DownloadData(url); var charset = Encoding.UTF8; String response = charset.GetString(responseBytes); JArray adresses = JArray.Parse(response); if (adresses.Count > 0) { String streetName = null, houseNumber = null, floor = null, door = null, districtSubdivision = null, postCode = null, postDistrict = null; streetName = GetString(adresses[0], "adgangsadresse/vejstykke/navn"); houseNumber = GetString(adresses[0], "adgangsadresse/husnr"); floor = GetString(adresses[0], "etage"); door = GetString(adresses[0], "dør"); districtSubdivision = GetString(adresses[0], "adgangsadresse/supplerendebynavn"); postCode = GetString(adresses[0], "adgangsadresse/postnummer/nr"); postDistrict = GetString(adresses[0], "adgangsadresse/postnummer/navn"); AdresseType ret = new AdresseType(); DanskAdresseType danskAdresse = new DanskAdresseType(); danskAdresse.PostDistriktTekst = postDistrict; ret.Item = danskAdresse; AddressCompleteType addressComplete = new AddressCompleteType(); danskAdresse.AddressComplete = addressComplete; AddressAccessType addressAccess = new AddressAccessType(); addressAccess.StreetBuildingIdentifier = houseNumber; addressComplete.AddressAccess = addressAccess; AddressPostalType addressPostal = new AddressPostalType(); addressPostal.StreetName = streetName; addressPostal.FloorIdentifier = floor; addressPostal.SuiteIdentifier = door; addressPostal.DistrictSubdivisionIdentifier = districtSubdivision; addressPostal.PostCodeIdentifier = postCode; addressPostal.DistrictName = postDistrict; addressComplete.AddressPostal = addressPostal; return(ret); } } catch (Exception ex) { cpreader.Logger.error(ex); } return(null); }
public AdresseType ToAddressType(String addressString) { String comma = "((\\s+)|(\\s*[,;\\.]{1,2}\\s*))"; String pat = "(?<streetName>[^0-9]+)" + comma + "(?<houseNumber>[0-9]+[a-zA-Z]*)" + comma + "(" + "(?<floor>([0-9]{1,2})|st)?(\\.)?(sal)?" + comma + ")?" + "(" + "(?<door>[a-zA-Z]+)" + comma + ")?" + "(?<postCode>[0-9]{4})" + comma + "(?<postDistrict>\\p{L}+(\\s+\\p{L}+)*)\\Z"; Match m = Regex.Match(addressString, pat); if (m.Success) { String streetName = null, houseNumber = null, floor = null, door = null, postCode = null, postDistrict = null; streetName = m.Groups["streetName"].Value; houseNumber = m.Groups["houseNumber"].Value; floor = m.Groups["floor"].Value; door = m.Groups["door"].Value; postCode = m.Groups["postCode"].Value; postDistrict = m.Groups["postDistrict"].Value; AdresseType ret = new AdresseType(); DanskAdresseType danskAdresse = new DanskAdresseType(); danskAdresse.PostDistriktTekst = postDistrict; ret.Item = danskAdresse; AddressCompleteType addressComplete = new AddressCompleteType(); danskAdresse.AddressComplete = addressComplete; AddressAccessType addressAccess = new AddressAccessType(); addressAccess.StreetBuildingIdentifier = houseNumber; addressComplete.AddressAccess = addressAccess; AddressPostalType addressPostal = new AddressPostalType(); addressPostal.StreetName = streetName; addressPostal.FloorIdentifier = floor; addressPostal.SuiteIdentifier = door; addressPostal.PostCodeIdentifier = postCode; addressPostal.DistrictName = postDistrict; addressComplete.AddressPostal = addressPostal; return(ret); } return(null); }
private AdresseType getAdresseType(IDanishAddress address) { String streetName = null, houseNumber = null, floor = null, door = null, districtSubdivision = null, postCode = null, postDistrict = null; streetName = address.streetName(); houseNumber = address.streetBuilding(); floor = address.floor(); door = address.suite(); districtSubdivision = address.districtSubdivision(); postCode = address.postCode(); postDistrict = address.postDistrikt(); AdresseType ret = new AdresseType(); DanskAdresseType danskAdresse = new DanskAdresseType(); danskAdresse.PostDistriktTekst = postDistrict; ret.Item = danskAdresse; AddressCompleteType addressComplete = new AddressCompleteType(); danskAdresse.AddressComplete = addressComplete; AddressAccessType addressAccess = new AddressAccessType(); addressAccess.StreetBuildingIdentifier = houseNumber; addressComplete.AddressAccess = addressAccess; AddressPostalType addressPostal = new AddressPostalType(); addressPostal.StreetName = streetName; addressPostal.FloorIdentifier = floor; addressPostal.SuiteIdentifier = door; addressPostal.DistrictSubdivisionIdentifier = districtSubdivision; addressPostal.PostCodeIdentifier = postCode; addressPostal.DistrictName = postDistrict; addressComplete.AddressPostal = addressPostal; return(ret); }