namespace EEMSServerCore.HubSender; internal class UICaller : IUIProvider { Task IUIProvider.UpdateDevice(DeviceInfo device) { return this.SendAsync("UpdateDevice", device); } Task IUIProvider.UpdateDeviceList(IEnumerable device) { return this.SendAsync("UpdateDeviceList", device); } Task IUIProvider.InsertNewDevice(DeviceInfo deviceInfo) { return this.SendAsync("InsertNewDevice", deviceInfo); } Task IUIProvider.UpdateRealtimeData(Guid guid, Dictionary data) { return this.SendAsync("UpdateRealtimeData", guid, data); } Task IUIProvider.OnlineStatusNotify(Guid guid, bool onlineStatus) { return this.SendAsync("OnlineStatusNotify", guid, onlineStatus); } #region Internal Send private Task SendAsync(string name) { if (string.IsNullOrEmpty(name)) return Task.FromResult(false); if (ClientManager.UIClient is null) return Task.FromResult(false); try { ClientManager.UIClient.SendAsync("test"); } catch { return Task.FromResult(false); } return Task.FromResult(true); } private Task SendAsync(string name, T para) { if (string.IsNullOrEmpty(name)) return Task.FromResult(false); if (ClientManager.UIClient is null) return Task.FromResult(false); try { ClientManager.UIClient.SendAsync(name, para); } catch { return Task.FromResult(false); } return Task.FromResult(true); } private Task SendAsync(string name, T1 para1, T2 para2) { if (string.IsNullOrEmpty(name)) return Task.FromResult(false); if (ClientManager.UIClient is null) return Task.FromResult(false); try { ClientManager.UIClient.SendAsync(name, para1, para2); } catch { return Task.FromResult(false); } return Task.FromResult(true); } private Task SendAsync(string name, T1 para1, T2 para2, T3 para3) { if (string.IsNullOrEmpty(name)) return Task.FromResult(false); if (ClientManager.UIClient is null) return Task.FromResult(false); try { ClientManager.UIClient.SendAsync(name, para1, para2, para3); } catch { return Task.FromResult(false); } return Task.FromResult(true); } private Task SendAsync(string name, T1 para1, T2 para2, T3 para3, T4 para4) { if (string.IsNullOrEmpty(name)) return Task.FromResult(false); if (ClientManager.UIClient is null) return Task.FromResult(false); try { ClientManager.UIClient.SendAsync(name, para1, para2, para3, para4); } catch { return Task.FromResult(false); } return Task.FromResult(true); } #endregion }