EventItem.cs 5.2 KB

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