Added reading and sending Value Type data
parent
a7cf60f6a9
commit
95749a5f00
|
@ -1,4 +1,5 @@
|
|||
using Newtonsoft.Json;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
|
||||
namespace Wrapper_Api_SequentMicrosystems.Main
|
||||
|
@ -28,11 +29,43 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
|||
{
|
||||
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>
|
||||
|
@ -46,17 +79,46 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
|||
{
|
||||
StringContent sc = new(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
|
||||
|
||||
try
|
||||
{
|
||||
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>
|
||||
|
@ -66,15 +128,45 @@ namespace Wrapper_Api_SequentMicrosystems.Main
|
|||
/// <exception cref="Exception">Error message</exception>
|
||||
public async void DeleteData(string Endpoint)
|
||||
{
|
||||
HttpResponseMessage response = await _httpClient.DeleteAsync(new Uri(Endpoint));
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
try
|
||||
{
|
||||
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>
|
||||
public async Task<SortedList<byte, float[]>> Get(string address)
|
||||
{
|
||||
//try
|
||||
//{
|
||||
return await _client.GetData<SortedList<byte, float[]>>($"{address}api/RTDDA");
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// throw new Exception(ex.Message);
|
||||
//}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -105,9 +98,9 @@ namespace Wrapper_Api_SequentMicrosystems.RTD8TM
|
|||
/// </summary>
|
||||
/// <param name="address">Base device address (http://1.2.3.4)</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
|
||||
|
@ -167,6 +160,36 @@ namespace Wrapper_Api_SequentMicrosystems.RTD8TM
|
|||
{
|
||||
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.
|
||||
|
||||
#endregion
|
||||
|
|
Loading…
Reference in New Issue