2020-11-07 14:19:29 +01:00
//----------------------
// <auto-generated>
// Generated using the NSwag toolchain v13.8.2.0 (NJsonSchema v10.2.1.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)
// </auto-generated>
//----------------------
#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
2020-11-12 18:13:23 +01:00
#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type '...' is never equal to 'null' of type '...?'"
2020-11-07 14:19:29 +01:00
namespace Birdmap.BLL.Services
{
using Birdmap.BLL.Interfaces ;
using System = global :: System ;
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.8.2.0 (NJsonSchema v10.2.1.0 (Newtonsoft.Json v12.0.0.0))")]
2020-12-07 23:19:09 +01:00
public partial class LiveDeviceService : IDeviceService
2020-11-07 14:19:29 +01:00
{
private string _baseUrl = "https://birb.k8s.kmlabz.com" ;
private System . Net . Http . HttpClient _httpClient ;
private System . Lazy < Newtonsoft . Json . JsonSerializerSettings > _settings ;
2020-12-07 23:19:09 +01:00
public LiveDeviceService ( string baseUrl , System . Net . Http . HttpClient httpClient )
2020-11-07 14:19:29 +01:00
{
2020-11-23 10:50:10 +01:00
_baseUrl = baseUrl ;
2020-11-07 14:19:29 +01:00
_httpClient = httpClient ;
_settings = new System . Lazy < Newtonsoft . Json . JsonSerializerSettings > ( CreateSerializerSettings ) ;
}
private Newtonsoft . Json . JsonSerializerSettings CreateSerializerSettings ( )
{
var settings = new Newtonsoft . Json . JsonSerializerSettings ( ) ;
UpdateJsonSerializerSettings ( settings ) ;
return settings ;
}
public string BaseUrl
{
get { return _baseUrl ; }
set { _baseUrl = value ; }
}
protected Newtonsoft . Json . JsonSerializerSettings JsonSerializerSettings { get { return _settings . Value ; } }
partial void UpdateJsonSerializerSettings ( Newtonsoft . Json . JsonSerializerSettings settings ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , string url ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , System . Text . StringBuilder urlBuilder ) ;
partial void ProcessResponse ( System . Net . Http . HttpClient client , System . Net . Http . HttpResponseMessage response ) ;
/// <summary>Get all device info</summary>
/// <returns>Array of devices</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task < System . Collections . Generic . ICollection < Device > > GetallAsync ( )
{
return GetallAsync ( System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Get all device info</summary>
/// <returns>Array of devices</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task < System . Collections . Generic . ICollection < Device > > GetallAsync ( System . Threading . CancellationToken cancellationToken )
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices" ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
var objectResponse_ = await ReadObjectResponseAsync < System . Collections . Generic . ICollection < Device > > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
}
else
if ( status_ = = 404 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "No device found" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Shut down all devices</summary>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OfflineallAsync ( )
{
return OfflineallAsync ( System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Shut down all devices</summary>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OfflineallAsync ( System . Threading . CancellationToken cancellationToken )
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/offline" ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Bring all devices online</summary>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OnlineallAsync ( )
{
return OnlineallAsync ( System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Bring all devices online</summary>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OnlineallAsync ( System . Threading . CancellationToken cancellationToken )
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/online" ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Get all device info</summary>
/// <param name="deviceID">ID of device to query</param>
/// <returns>Information about a particular device</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task < Device > GetdeviceAsync ( System . Guid deviceID )
{
return GetdeviceAsync ( deviceID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Get all device info</summary>
/// <param name="deviceID">ID of device to query</param>
/// <returns>Information about a particular device</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task < Device > GetdeviceAsync ( System . Guid deviceID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
var objectResponse_ = await ReadObjectResponseAsync < Device > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
}
else
if ( status_ = = 404 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Device not found" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Shut down device</summary>
/// <param name="deviceID">ID of device to shut down</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OfflinedeviceAsync ( System . Guid deviceID )
{
return OfflinedeviceAsync ( deviceID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Shut down device</summary>
/// <param name="deviceID">ID of device to shut down</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OfflinedeviceAsync ( System . Guid deviceID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}/offline" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Bring device online</summary>
/// <param name="deviceID">ID of device to bring online</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OnlinedeviceAsync ( System . Guid deviceID )
{
return OnlinedeviceAsync ( deviceID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Bring device online</summary>
/// <param name="deviceID">ID of device to bring online</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OnlinedeviceAsync ( System . Guid deviceID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}/online" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Get info about a particular device's sensor</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Information about a sensor</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task < Sensor > GetsensorAsync ( System . Guid deviceID , System . Guid sensorID )
{
return GetsensorAsync ( deviceID , sensorID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Get info about a particular device's sensor</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Information about a sensor</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task < Sensor > GetsensorAsync ( System . Guid deviceID , System . Guid sensorID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
if ( sensorID = = null )
throw new System . ArgumentNullException ( "sensorID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}/{sensorID}" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
urlBuilder_ . Replace ( "{sensorID}" , System . Uri . EscapeDataString ( ConvertToString ( sensorID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
var objectResponse_ = await ReadObjectResponseAsync < Sensor > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
}
else
if ( status_ = = 404 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Device or sensor not found" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Shut down sensor</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OfflinesensorAsync ( System . Guid deviceID , System . Guid sensorID )
{
return OfflinesensorAsync ( deviceID , sensorID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Shut down sensor</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OfflinesensorAsync ( System . Guid deviceID , System . Guid sensorID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
if ( sensorID = = null )
throw new System . ArgumentNullException ( "sensorID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}/{sensorID}/offline" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
urlBuilder_ . Replace ( "{sensorID}" , System . Uri . EscapeDataString ( ConvertToString ( sensorID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
/// <summary>Bring sensor online</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task OnlinesensorAsync ( System . Guid deviceID , System . Guid sensorID )
{
return OnlinesensorAsync ( deviceID , sensorID , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <summary>Bring sensor online</summary>
/// <param name="deviceID">ID of device to query</param>
/// <param name="sensorID">ID of sensor to query</param>
/// <returns>Message sent</returns>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task OnlinesensorAsync ( System . Guid deviceID , System . Guid sensorID , System . Threading . CancellationToken cancellationToken )
{
if ( deviceID = = null )
throw new System . ArgumentNullException ( "deviceID" ) ;
if ( sensorID = = null )
throw new System . ArgumentNullException ( "sensorID" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/devices/{deviceID}/{sensorID}/online" ) ;
urlBuilder_ . Replace ( "{deviceID}" , System . Uri . EscapeDataString ( ConvertToString ( deviceID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
urlBuilder_ . Replace ( "{sensorID}" , System . Uri . EscapeDataString ( ConvertToString ( sensorID , System . Globalization . CultureInfo . InvariantCulture ) ) ) ;
var client_ = _httpClient ;
var disposeClient_ = false ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Content = new System . Net . Http . StringContent ( string . Empty , System . Text . Encoding . UTF8 , "application/json" ) ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
var disposeResponse_ = true ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
if ( status_ = = 500 )
{
string responseText_ = ( response_ . Content = = null ) ? string . Empty : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "Message sending unsuccessful" , status_ , responseText_ , headers_ , null ) ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( disposeResponse_ )
response_ . Dispose ( ) ;
}
}
}
finally
{
if ( disposeClient_ )
client_ . Dispose ( ) ;
}
}
protected struct ObjectResponseResult < T >
{
public ObjectResponseResult ( T responseObject , string responseText )
{
this . Object = responseObject ;
this . Text = responseText ;
}
public T Object { get ; }
public string Text { get ; }
}
public bool ReadResponseAsString { get ; set ; }
protected virtual async System . Threading . Tasks . Task < ObjectResponseResult < T > > ReadObjectResponseAsync < T > ( System . Net . Http . HttpResponseMessage response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers )
{
if ( response = = null | | response . Content = = null )
{
return new ObjectResponseResult < T > ( default ( T ) , string . Empty ) ;
}
if ( ReadResponseAsString )
{
var responseText = await response . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
try
{
var typedBody = Newtonsoft . Json . JsonConvert . DeserializeObject < T > ( responseText , JsonSerializerSettings ) ;
return new ObjectResponseResult < T > ( typedBody , responseText ) ;
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
}
}
else
{
try
{
using ( var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) )
using ( var streamReader = new System . IO . StreamReader ( responseStream ) )
using ( var jsonTextReader = new Newtonsoft . Json . JsonTextReader ( streamReader ) )
{
var serializer = Newtonsoft . Json . JsonSerializer . Create ( JsonSerializerSettings ) ;
var typedBody = serializer . Deserialize < T > ( jsonTextReader ) ;
return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
}
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
}
}
}
private string ConvertToString ( object value , System . Globalization . CultureInfo cultureInfo )
{
if ( value = = null )
{
return null ;
}
if ( value is System . Enum )
{
var name = System . Enum . GetName ( value . GetType ( ) , value ) ;
if ( name ! = null )
{
var field = System . Reflection . IntrospectionExtensions . GetTypeInfo ( value . GetType ( ) ) . GetDeclaredField ( name ) ;
if ( field ! = null )
{
var attribute = System . Reflection . CustomAttributeExtensions . GetCustomAttribute ( field , typeof ( System . Runtime . Serialization . EnumMemberAttribute ) )
as System . Runtime . Serialization . EnumMemberAttribute ;
if ( attribute ! = null )
{
return attribute . Value ! = null ? attribute . Value : name ;
}
}
return System . Convert . ToString ( System . Convert . ChangeType ( value , System . Enum . GetUnderlyingType ( value . GetType ( ) ) , cultureInfo ) ) ;
}
}
else if ( value is bool )
{
return System . Convert . ToString ( ( bool ) value , cultureInfo ) . ToLowerInvariant ( ) ;
}
else if ( value is byte [ ] )
{
return System . Convert . ToBase64String ( ( byte [ ] ) value ) ;
}
else if ( value . GetType ( ) . IsArray )
{
var array = System . Linq . Enumerable . OfType < object > ( ( System . Array ) value ) ;
return string . Join ( "," , System . Linq . Enumerable . Select ( array , o = > ConvertToString ( o , cultureInfo ) ) ) ;
}
var result = System . Convert . ToString ( value , cultureInfo ) ;
return ( result is null ) ? string . Empty : result ;
}
}
}
2020-11-12 18:13:23 +01:00
#pragma warning restore 8703
2020-11-07 14:19:29 +01:00
#pragma warning restore 1591
#pragma warning restore 1573
#pragma warning restore 472
#pragma warning restore 114
#pragma warning restore 108