.NET client for 2hire.io solution to manage a fleet of connected vehicles.
Package | Version | Type |
---|---|---|
Devpro.Twohire.Abstractions |
.NET Standard 2.1 | |
Devpro.Twohire.Client |
.NET Standard 2.1 |
- Have the NuGet package in your csproj file (can be done manually, with Visual Studio or through nuget command)
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="Devpro.Twohire.Client" Version="X.Y.Z" />
</ItemGroup>
</Project>
- Make the code changes to be able to use the library (config & service provider)
// implement the configuration interface (for instance in a configuration class in your app project) or use DefaultTwohireClientConfiguration
using Devpro.Twohire.Client;
public class AppConfiguration : ITwohireClientConfiguration
{
// explicitely choose where to take the configuration for 2hire REST API (this is the responibility of the app, not the library)
}
// configure your service provider (for instance in your app Startup class)
using Devpro.Twohire.Client.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection()
.AddLogging()
.AddTwohireClient(Configuration);
- Use the repositories (enjoy a simple, yet optimized, HTTP client)
using Devpro.Twohire.Abstractions.Repositories;
private readonly IPersonalVehicleRepository _personalVehicleRepository;
public MyService(IPersonalVehicleRepository personalVehicleRepository)
{
_personalVehicleRepository = personalVehicleRepository;
}
public async Task GetVehicles()
{
var vehicles = await _personalVehicleRepository.FindAllAsync();
}
dotnet restore
dotnet build
For integration tests, to manage the configuration (secrets) you can create a file at the root directory called Local.runsettings
or define them as environment variables:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<RunConfiguration>
<EnvironmentVariables>
<TwoHire__Sandbox__BaseUrl>xxx</TwoHire__Sandbox__BaseUrl>
<TwoHire__Sandbox__ApiVersion>xxx</TwoHire__Sandbox__ApiVersion>
<TwoHire__Sandbox__ServiceToken>xxx</TwoHire__Sandbox__ServiceToken>
<TwoHire__Sandbox__Username>xxx</TwoHire__Sandbox__Username>
<TwoHire__Sandbox__Password>xxx</TwoHire__Sandbox__Password>
</EnvironmentVariables>
</RunConfiguration>
</RunSettings>
And execute all tests (unit and integration ones):
dotnet test --settings Local.runsettings