EventItem.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.Serialization;
  6. using Aitex.Core.Util;
  7. using Aitex.Core.RT.Log;
  8. namespace Aitex.Core.RT.Event
  9. {
  10. [DataContract]
  11. [Serializable]
  12. public enum EventLevel
  13. {
  14. [EnumMember]
  15. Information = 0,
  16. [EnumMember]
  17. InformationNoDelay = 1,
  18. [EnumMember]
  19. Warning,
  20. [EnumMember]
  21. Alarm
  22. }
  23. [DataContract]
  24. [Serializable]
  25. public enum EventType
  26. {
  27. /// <summary>
  28. /// 在TopView显示一条记录
  29. /// </summary>
  30. [EnumMember]
  31. EventUI_Notify,
  32. /// <summary>
  33. /// 弹出对话框
  34. /// </summary>
  35. [EnumMember]
  36. Dialog_Nofity,
  37. /// <summary>
  38. ///
  39. /// </summary>
  40. [EnumMember]
  41. KickOut_Notify,
  42. /// <summary>
  43. ///
  44. /// </summary>
  45. [EnumMember]
  46. Sound_Notify,
  47. /// <summary>
  48. /// 在屏幕左下角弹出一个提醒的悬浮窗口,自动消失
  49. /// </summary>
  50. [EnumMember]
  51. UIMessage_Notify,
  52. [EnumMember]
  53. OperationLog,
  54. [EnumMember]
  55. HostNotification,
  56. }
  57. [DataContract]
  58. [Serializable]
  59. public class EventItem
  60. {
  61. [DataMember]
  62. public int Id { get; set; }
  63. [DataMember]
  64. public string EventEnum { get; set; } //
  65. [DataMember]
  66. public EventType Type { get; set; }
  67. [DataMember]
  68. public EventLevel Level { get; set; }
  69. [DataMember]
  70. public string Source { get; set; } //Which module send out this event
  71. [DataMember]
  72. public string Description { get; set; } //detail text
  73. [DataMember]
  74. public DateTime OccuringTime { get; set; } //
  75. [DataMember]
  76. public bool IsAcknowledged { get; set; }
  77. [DataMember]
  78. public string Explaination { get; set; }
  79. [DataMember]
  80. public string Solution { get; set; }
  81. [DataMember]
  82. public string GlobalDescription_en
  83. {
  84. get;
  85. set;
  86. }
  87. [DataMember]
  88. public string GlobalDescription_zh
  89. {
  90. get;
  91. set;
  92. }
  93. [DataMember]
  94. public SerializableDictionary<string, string> DVID
  95. {
  96. get;
  97. set;
  98. }
  99. public SerializableDictionary<string, object> ObjDVID
  100. {
  101. get;
  102. set;
  103. }
  104. public EventItem Clone()
  105. {
  106. EventItem result = new EventItem();
  107. result.Description = Description;
  108. result.EventEnum = EventEnum;
  109. result.Explaination = Explaination;
  110. result.Id = Id;
  111. result.IsAcknowledged = IsAcknowledged;
  112. result.Level = Level;
  113. result.OccuringTime = OccuringTime;
  114. result.Solution = Solution;
  115. result.Source = Source;
  116. result.Type = Type;
  117. result.GlobalDescription_en = GlobalDescription_en;
  118. result.GlobalDescription_zh = GlobalDescription_zh;
  119. result.DVID = DVID;
  120. result.ObjDVID = ObjDVID;
  121. return result;
  122. }
  123. public EventItem Clone(SerializableDictionary<string, object> objDvid)
  124. {
  125. EventItem result = new EventItem();
  126. result.Description = Description;
  127. result.EventEnum = EventEnum;
  128. result.Explaination = Explaination;
  129. result.Id = Id;
  130. result.IsAcknowledged = IsAcknowledged;
  131. result.Level = Level;
  132. result.OccuringTime = OccuringTime;
  133. result.Solution = Solution;
  134. result.Source = Source;
  135. result.Type = Type;
  136. result.GlobalDescription_en = GlobalDescription_en;
  137. result.GlobalDescription_zh = GlobalDescription_zh;
  138. result.DVID = DVID;
  139. result.ObjDVID = objDvid;
  140. return result;
  141. }
  142. public EventItem()
  143. {
  144. }
  145. public EventItem (string name )
  146. : this(0, "System", name, "", EventLevel.Information, EventType.EventUI_Notify)
  147. {
  148. }
  149. public EventItem(string name, string description)
  150. : this(0, "System", name, description, EventLevel.Information, EventType.EventUI_Notify)
  151. {
  152. }
  153. public EventItem(string source, string name, string description)
  154. :this((int)eEvent.INFO_FA, source,name,description, EventLevel.Information, EventType.EventUI_Notify)
  155. {
  156. }
  157. public EventItem(string name, EventType type, EventLevel level)
  158. : this(0,"System", name, "", level, type)
  159. {
  160. }
  161. public EventItem(string source, string name, string description, EventLevel level, EventType type)
  162. : this (0, source,name, description, level, type)
  163. {
  164. }
  165. public EventItem(int id, string source, string name, string description, EventLevel level, EventType type)
  166. {
  167. EventEnum = name;
  168. Type = type;
  169. Level = level;
  170. Source = source;
  171. Description = description;
  172. Id = id;
  173. }
  174. }
  175. }