forked from BAPostma/PostcodeAPI.Net
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPostcodeApiClient.cs
More file actions
37 lines (29 loc) · 1.23 KB
/
Copy pathPostcodeApiClient.cs
File metadata and controls
37 lines (29 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System.Text.RegularExpressions;
using PostcodeAPI.V1.Wrappers;
using RestSharp;
namespace PostcodeAPI.V1
{
public sealed class PostcodeApiClient : PostcodeApiClientBase
{
public PostcodeApiClient(string apiKey) : base(apiKey, Constants.APIBaseUrls.V1, Constants.APIHeaderKeys.AuthKeyV1)
{
InitialiseClient();
}
public ApiResultWrapper GetAddress(string postcode)
{
postcode = postcode.Replace(" ", string.Empty);
RestRequest request = new RestRequest(postcode, Method.GET);
request.AddParameter("type", FindPostcodeType(postcode), ParameterType.QueryString);
return Client.Execute<ApiResultWrapper>(request).Data;
}
public ApiResultWrapper GetAddress(string postcode, int number)
{
postcode = postcode.Replace(" ", string.Empty);
RestRequest request = new RestRequest("{postcode}/{number}", Method.GET);
request.AddParameter("view", "bag", ParameterType.QueryString);
request.AddUrlSegment("postcode", postcode);
request.AddUrlSegment("number", number.ToString());
return Client.Execute<ApiResultWrapper>(request).Data;
}
}
}