Collaboration diagram for C# Health Deepsy API:
Modules | |
Enumerations | |
Classes | |
interface | IHealthManager |
Health Manager interface for interacting with Deepsy health service More... | |
Detailed Description
To work with Deepsy Health service it is necessary to use HealthManager located in GMV.ITS.HAL.DEEPSY.Health.Facade for getting the initial HealthManager object.
HealthManager healthManager = new HealthManager("");
HealthManager has an optional parameter indicating the ip address of remote service. For instance:
HealthManager healthManager = new HealthManager("172.22.198.103");
HealthManager implements IDisposable. It can hold resources (such as socket handles) until it is disposed. The Dispose method is automatically called when existing a using or try / catch block, for which the object has been declared. This construction ensures prompt release, avoiding resource exhaustion exceptions and errors that may otherwise occur.
- * HealthManager healthManager= null;try{healthManager = new HealthManager("172.22.198.103");healthManager.GetPendingStatusList();} catch (Exception e) {throw e;}healthManager.Dispose();
Examples
-
Report new status to health service and retrieve list of pending status
using System;using System.Collections.Generic;using System.Threading;{class ReportNewStatus{static void Main(string[] args){using (HealthManager healthManager = new HealthManager("172.22.198.103")){healthManager.ReportNewStatus("PROJECT_ROUTE_NUMBER", "146", HealthStatusPriority.Priority.NORMAL);healthManager.ReportNewStatus("PROJECT_PASSENGER_QTY", "35", HealthStatusPriority.Priority.NORMAL);Console.WriteLine("Project status reported correctly to Health system");Thread.Sleep(2000);IEnumerable<IHealthStatus> currentStatusList = healthManager.GetCurrentStatusList();Console.WriteLine("Current status list is:");foreach (IHealthStatus currentStatus in currentStatusList){Console.WriteLine($"Status Key: {currentStatus.Key}. Value: {currentStatus.Value}");}IEnumerable<IHealthStatus> pendingStatusList = healthManager.GetPendingStatusList();Console.WriteLine("Pending status to report are:");foreach (IHealthStatus pendingStatus in pendingStatusList){Console.WriteLine($"Status Key: {pendingStatus.Key}. Value: {pendingStatus.Value}");}}Console.WriteLine($"Press any key for exit");Console.ReadKey();}}}
-
Request information for all peripherals, including their parent-child relationships
using System;using System.Collections.Generic;using System.Threading;using System.Linq;{class GetDeviceInformation{static void Main(string[] args){using (HealthManager healthManager = new HealthManager("192.168.1.140")) //172.22.198.103{Console.WriteLine("Getting the information of all the peripherals...");IEnumerable<IDeviceInformation> deviceInfoList = healthManager.GetDeviceInfoList();if (deviceInfoList.Any()){const int width = 50;Console.WriteLine("Parent ID".PadRight(width) + "Serial Number".PadRight(width) + "Firmware Version".PadRight(width) + "Others".PadRight(width));Console.WriteLine(new string('-', width * 4));foreach (IDeviceInformation deviceInfo in deviceInfoList){Console.WriteLine(deviceInfo.ParentId.PadRight(width) +deviceInfo.SerialNumber.PadRight(width) +deviceInfo.FwVersion.PadRight(width) +deviceInfo.Others.PadRight(width));}}else{Console.WriteLine("There are not devices available");}}Console.WriteLine($"Press any key for exit");Console.ReadKey();}}}