public ReadOnlyCollection <PostalCode> LookupPostalCode(PostalCodeLookup lookup) { if (lookup != null) { lookup.UserName = _userName; } return(_client.LookupPostalCode(lookup)); }
public void GeoNames_LookupPostalCode_ShouldReturnNull_WithoutUserName() { using (var geoNames = new GeoNamesContainer(null)) { var finder = new PostalCodeLookup(); var results = geoNames.LookupPostalCode(finder); results.ShouldBeNull(); } }
public void GeoNames_PostalCodeLookup_ShouldHaveDefaultValues() { var finder = new PostalCodeLookup(); finder.ShouldNotBeNull(); finder.PostalCode.ShouldBeNull(); finder.Country.ShouldBeNull(); finder.UserName.ShouldBeNull(); finder.MaxRows.ShouldEqual(20); finder.Style.ShouldEqual(ResultStyle.Medium); }
/// <summary> /// Lookup a place by postal code. See /// <seealso cref="http://www.geonames.org/export/web-services.html#postalCodeLookupJSON">Official /// GeoNames postalCodeLookup Documentation</seealso> for more information. /// </summary> /// <param name="lookup">Arguments sent to the GeoNames service.</param> /// <returns>The closest populated place for the postal code/country query. The unit of the /// distance element is 'km'.</returns> public ReadOnlyCollection <PostalCode> LookupPostalCode(PostalCodeLookup lookup) { if (lookup == null) { throw new ArgumentNullException("lookup"); } var response = ChannelLookupPostalCode(lookup); var results = response.Items; return(results != null ? new ReadOnlyCollection <PostalCode>(results) : null); }
private PostalCodeResults ChannelLookupPostalCode(PostalCodeLookup lookup, int retry = 0) { try { return(Channel.LookupPostalCode(lookup.PostalCode, lookup.Country, lookup.MaxRows, lookup.Style, lookup.UserName)); } catch (WebException ex) { if (retry < RetryLimit && ex.Message.StartsWith(ClosedConnectionMessage, StringComparison.Ordinal)) { return(ChannelLookupPostalCode(lookup, ++retry)); } throw; } }
public void GeoNames_PostalCodeLookup_ShouldBePublic() { var finder = new PostalCodeLookup { PostalCode = "32819", Country = "US", UserName = "******", MaxRows = 2, Style = ResultStyle.Medium, }; finder.ShouldNotBeNull(); finder.PostalCode.ShouldEqual("32819"); finder.Country.ShouldEqual("US"); finder.UserName.ShouldNotBeNull(); finder.MaxRows.ShouldEqual(2); finder.Style.ShouldEqual(ResultStyle.Medium); }
public void GeoNames_LookupPostalCode_ShouldReturn1Result_ForOrlando() { using (var geoNames = new GeoNamesContainer(UserName)) { var finder = new PostalCodeLookup { PostalCode = "32819", Country = "US", }; var results = geoNames.LookupPostalCode(finder); results.ShouldNotBeNull(); results.Count.ShouldEqual(1); results[0].Latitude.ShouldEqual(28.452157); results[0].Longitude.ShouldEqual(-81.46784); results[0].Name.ShouldEqual("Orlando"); } }
public ReadOnlyCollection<PostalCode> LookupPostalCode(PostalCodeLookup lookup) { if (lookup != null) lookup.UserName = _userName; return _client.LookupPostalCode(lookup); }
public ReadOnlyCollection<PostalCode> FindNearbyPostalCodes(PostalCodeLookup lookup) { if (lookup != null) lookup.UserName = _userName; return _client.FindNearbyPostalCodes(lookup); }