Page tree
Skip to end of metadata
Go to start of metadata

.NET Client

The NZOR.Web.Service.Client is a light weight readonly .NET client wrapper designed to make access to the NZOR Web API simpler.

It is available as a NuGet package so that it can be easily incorporated into an application.

PM> Install-Package NZOR.Web.Service.Client

Example Usage

Note: In the following examples an API key is not currently required.

Be sure to include the following namespace

using NZOR.Web.Service.Client;

The ServiceClient class is the main class for interacting with the API.

Retrieve a single name record

The following code is a small snippet that demonstrates how to display the result of retrieving a name.

var serviceClient = new ServiceClient("mykey", "http://data.nzor.org.nz");

var name = serviceClient.GetName(new Guid("61ccb72c-d60f-4cc0-a124-863869a2e2f4"));

Console.WriteLine(name.FullName);

More details about the structure of a name can be found on the API pages describing the name resource. 

To use the search functionality of the client it is necessary to include the following namespace

using NZOR.Publish.Model.Search;

The following code shows the basics for querying a name and iterating through the results.

var serviceClient = new ServiceClient("mykey", "http://data.nzor.org.nz");
   
var searchRequest = new SearchRequest();

searchRequest.Query = "lich*";
searchRequest.PageSize = 10;

var searchResponse = serviceClient.Search(searchRequest);

foreach (var result in searchResponse.Results)
{
    Console.WriteLine(result.Name.FullName);
}

Show the classification hierarchy for a name record

The following code enumerates the classification hierarchy for a name. The name information for each ancestor only includes the basic details for display so it may be necessary to make a separate call for each record using the name Id to obtain more details information.

var serviceClient = new ServiceClient("mykey", "http://data.nzor.org.nz");
var name = serviceClient.GetName(new Guid("000018af-1183-46f7-8d80-0729ae07401f"));

Console.WriteLine(name.FullName);

Console.WriteLine();

foreach (var ancestorName in name.ClassificationHierarchy)
{
    Console.WriteLine(String.Format("{0}: {1}", ancestorName.Rank, ancestorName.FullName));
}
Console.ReadKey();

 

 

 

  • No labels