EventItem.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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 = 2,
  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. }
  54. [DataContract]
  55. [Serializable]
  56. public class EventItem
  57. {
  58. [DataMember]
  59. public int Id { get; set; }
  60. [DataMember]
  61. public string EventEnum { get; set; } //
  62. [DataMember]
  63. public EventType Type { get; set; }
  64. [DataMember]
  65. public EventLevel Level { get; set; }
  66. [DataMember]
  67. public string Source { get; set; } //Which module send out this event
  68. [DataMember]
  69. public string Description { get; set; } //detail text
  70. [DataMember]
  71. public DateTime OccuringTime { get; set; } //
  72. [DataMember]
  73. public bool IsAcknowledged { get; set; }
  74. [DataMember]
  75. public string Explaination { get; set; }
  76. [DataMember]
  77. public string Solution { get; set; }
  78. [DataMember]
  79. public string GlobalDescription_en
  80. {
  81. get;
  82. set;
  83. }
  84. [DataMember]
  85. public string GlobalDescription_zh
  86. {
  87. get;
  88. set;
  89. }
  90. [DataMember]
  91. public SerializableDictionary<string, string> dvid
  92. {
  93. get;
  94. set;
  95. }
  96. public EventItem Clone()
  97. {
  98. EventItem result = new EventItem();
  99. result.Description = Description;
  100. result.EventEnum = EventEnum;
  101. result.Explaination = Explaination;
  102. result.Id = Id;
  103. result.IsAcknowledged = IsAcknowledged;
  104. result.Level = Level;
  105. result.OccuringTime = OccuringTime;
  106. result.Solution = Solution;
  107. result.Source = Source;
  108. result.Type = Type;
  109. result.GlobalDescription_en = GlobalDescription_en;
  110. result.GlobalDescription_zh = GlobalDescription_zh;
  111. return result;
  112. }
  113. public EventItem()
  114. {
  115. }
  116. public EventItem (string name )
  117. : this("System", name, "", EventLevel.Information, EventType.EventUI_Notify)
  118. {
  119. }
  120. public EventItem(string name, string description)
  121. : this("System", name, description, EventLevel.Information, EventType.EventUI_Notify)
  122. {
  123. }
  124. public EventItem(string source, string name, string description)
  125. :this(source,name,description, EventLevel.Information, EventType.EventUI_Notify)
  126. {
  127. }
  128. public EventItem(string name, EventType type, EventLevel level)
  129. : this("System", name, "", level, type)
  130. {
  131. }
  132. public EventItem(string source, string name, string description, EventLevel level, EventType type)
  133. {
  134. EventEnum = name;
  135. Type = type;
  136. Level = level;
  137. Source = source;
  138. Description = description;
  139. }
  140. }
  141. }