UISender.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. namespace EEMSService.HubSender;
  2. internal class UISender(ClientManager clientManager)
  3. {
  4. private Task<bool> SendAsync(string name)
  5. {
  6. if (string.IsNullOrEmpty(name))
  7. return Task.FromResult(false);
  8. if (clientManager.UIClient is null)
  9. return Task.FromResult(false);
  10. try
  11. {
  12. clientManager.UIClient.SendAsync("test");
  13. }
  14. catch
  15. {
  16. return Task.FromResult(false);
  17. }
  18. return Task.FromResult(true);
  19. }
  20. private Task<bool> SendAsync<T>(string name, T para)
  21. {
  22. if (string.IsNullOrEmpty(name))
  23. return Task.FromResult(false);
  24. if (clientManager.UIClient is null)
  25. return Task.FromResult(false);
  26. try
  27. {
  28. clientManager.UIClient.SendAsync(name, para);
  29. }
  30. catch
  31. {
  32. return Task.FromResult(false);
  33. }
  34. return Task.FromResult(true);
  35. }
  36. private Task<bool> SendAsync<T1, T2>(string name, T1 para1, T2 para2)
  37. {
  38. if (string.IsNullOrEmpty(name))
  39. return Task.FromResult(false);
  40. if (clientManager.UIClient is null)
  41. return Task.FromResult(false);
  42. try
  43. {
  44. clientManager.UIClient.SendAsync(name, para1, para2);
  45. }
  46. catch
  47. {
  48. return Task.FromResult(false);
  49. }
  50. return Task.FromResult(true);
  51. }
  52. private Task<bool> SendAsync<T1, T2, T3>(string name, T1 para1, T2 para2, T3 para3)
  53. {
  54. if (string.IsNullOrEmpty(name))
  55. return Task.FromResult(false);
  56. if (clientManager.UIClient is null)
  57. return Task.FromResult(false);
  58. try
  59. {
  60. clientManager.UIClient.SendAsync(name, para1, para2, para3);
  61. }
  62. catch
  63. {
  64. return Task.FromResult(false);
  65. }
  66. return Task.FromResult(true);
  67. }
  68. private Task<bool> SendAsync<T1, T2, T3, T4>(string name, T1 para1, T2 para2, T3 para3, T4 para4)
  69. {
  70. if (string.IsNullOrEmpty(name))
  71. return Task.FromResult(false);
  72. if (clientManager.UIClient is null)
  73. return Task.FromResult(false);
  74. try
  75. {
  76. clientManager.UIClient.SendAsync(name, para1, para2, para3, para4);
  77. }
  78. catch
  79. {
  80. return Task.FromResult(false);
  81. }
  82. return Task.FromResult(true);
  83. }
  84. public async Task<bool> TestSend()
  85. {
  86. if (clientManager.UIClient is null)
  87. return false;
  88. return await this.SendAsync("Test");
  89. }
  90. }