Added reading and sending Value Type data
parent
a7cf60f6a9
commit
95749a5f00
|
@ -1,4 +1,5 @@
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using System.Net;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Wrapper_Api_SequentMicrosystems.Main
|
namespace Wrapper_Api_SequentMicrosystems.Main
|
||||||
|
@ -28,11 +29,43 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
||||||
{
|
{
|
||||||
return JsonConvert.DeserializeObject<Type>(response);//await response.Content.ReadAsStringAsync());
|
return JsonConvert.DeserializeObject<Type>(response);//await response.Content.ReadAsStringAsync());
|
||||||
}
|
}
|
||||||
catch (Exception ex) { }
|
catch (WebException exc)
|
||||||
{
|
{
|
||||||
throw new Exception("GetData deserialize error");
|
Console.WriteLine("Network Error: " + exc.Message + "\nStatus code: " + exc.Status);
|
||||||
}
|
}
|
||||||
|
catch (ProtocolViolationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Protocol Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (UriFormatException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("URI Format Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (NotSupportedException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Unknown Protocol: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (IOException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("I/O Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (System.Security.SecurityException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Security Exception: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (InvalidOperationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (HttpRequestException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
return default(Type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -46,17 +79,46 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
||||||
{
|
{
|
||||||
StringContent sc = new(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
|
StringContent sc = new(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
HttpResponseMessage response = await _httpClient.PostAsync(new Uri(Endpoint), sc);
|
HttpResponseMessage response = await _httpClient.PostAsync(new Uri(Endpoint), sc);
|
||||||
|
|
||||||
if (response.IsSuccessStatusCode)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else
|
catch (WebException exc)
|
||||||
{
|
{
|
||||||
throw new Exception(response.EnsureSuccessStatusCode().Content.ToString());
|
Console.WriteLine("Network Error: " + exc.Message + "\nStatus code: " + exc.Status);
|
||||||
|
}
|
||||||
|
catch (ProtocolViolationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Protocol Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (UriFormatException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("URI Format Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (NotSupportedException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Unknown Protocol: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (IOException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("I/O Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (System.Security.SecurityException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Security Exception: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (InvalidOperationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (HttpRequestException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -66,15 +128,45 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
||||||
/// <exception cref="Exception">Error message</exception>
|
/// <exception cref="Exception">Error message</exception>
|
||||||
public async void DeleteData(string Endpoint)
|
public async void DeleteData(string Endpoint)
|
||||||
{
|
{
|
||||||
HttpResponseMessage response = await _httpClient.DeleteAsync(new Uri(Endpoint));
|
try
|
||||||
|
|
||||||
if (response.IsSuccessStatusCode)
|
|
||||||
{
|
{
|
||||||
return;
|
await _httpClient.DeleteAsync(new Uri(Endpoint));
|
||||||
}
|
}
|
||||||
else
|
catch (WebException exc)
|
||||||
{
|
{
|
||||||
throw new Exception(response.EnsureSuccessStatusCode().Content.ToString());
|
Console.WriteLine("Network Error: " + exc.Message + "\nStatus code: " + exc.Status);
|
||||||
|
}
|
||||||
|
catch (ProtocolViolationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Protocol Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (UriFormatException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("URI Format Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (NotSupportedException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Unknown Protocol: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (IOException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("I/O Error: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (System.Security.SecurityException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Security Exception: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (InvalidOperationException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (HttpRequestException exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid Operation: " + exc.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,14 +31,7 @@ namespace Wrapper_Api_SequentMicrosystems.RTD8TM
|
||||||
/// <returns>Deserialized data from API</returns>
|
/// <returns>Deserialized data from API</returns>
|
||||||
public async Task<SortedList<byte, float[]>> Get(string address)
|
public async Task<SortedList<byte, float[]>> Get(string address)
|
||||||
{
|
{
|
||||||
//try
|
|
||||||
//{
|
|
||||||
return await _client.GetData<SortedList<byte, float[]>>($"{address}api/RTDDA");
|
return await _client.GetData<SortedList<byte, float[]>>($"{address}api/RTDDA");
|
||||||
//}
|
|
||||||
//catch (Exception ex)
|
|
||||||
//{
|
|
||||||
// throw new Exception(ex.Message);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -105,9 +98,9 @@ namespace Wrapper_Api_SequentMicrosystems.RTD8TM
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="address">Base device address (http://1.2.3.4)</param>
|
/// <param name="address">Base device address (http://1.2.3.4)</param>
|
||||||
/// <param name="data">Data object with data for Post to API</param>
|
/// <param name="data">Data object with data for Post to API</param>
|
||||||
public async void PostNames(string address, SortedList<byte, string[]> data)
|
public void PostNames(string address, SortedList<byte, string[]> data)
|
||||||
{
|
{
|
||||||
await Task.Run(() => _client.PostData<SortedList<byte, string[]>>($"{address}api/RTDDA/Names", data));
|
_client.PostData<SortedList<byte, string[]>>($"{address}api/RTDDA/Names", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Preconfigured Names
|
//Preconfigured Names
|
||||||
|
@ -167,6 +160,36 @@ namespace Wrapper_Api_SequentMicrosystems.RTD8TM
|
||||||
{
|
{
|
||||||
await Task.Run(() => _client.PostData<SortedList<byte, float[]>>($"{address}api/RTDDA/Calibration", data));
|
await Task.Run(() => _client.PostData<SortedList<byte, float[]>>($"{address}api/RTDDA/Calibration", data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Value Types
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Value Types settings
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="address">Base device address (http://1.2.3.4)</param>
|
||||||
|
/// <returns>Deserialized Value Types from API</returns>
|
||||||
|
public async Task<SortedList<byte, byte[]>> GetValueTypes(string address)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return await _client.GetData<SortedList<byte, byte[]>>($"{address}api/RTDDA/ValueTypes");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Post Value Types data to API
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="address">Base device address (http://1.2.3.4)</param>
|
||||||
|
/// <param name="data">Data object for Post to API</param>
|
||||||
|
public async void PostValueTypes(string address, SortedList<byte, byte[]> data)
|
||||||
|
{
|
||||||
|
await Task.Run(() => _client.PostData<SortedList<byte, byte[]>>($"{address}api/RTDDA/ValueTypes", data));
|
||||||
|
}
|
||||||
|
|
||||||
#pragma warning restore CS8603 // Může jít o vrácený odkaz null.
|
#pragma warning restore CS8603 // Může jít o vrácený odkaz null.
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
Loading…
Reference in New Issue