using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using Aitex.Core.Util; namespace Aitex.Core.RT.Event { [DataContract] [Serializable] public enum EventLevel { [EnumMember] Information = 0, [EnumMember] InformationNoDelay = 1, [EnumMember] Warning = 2, [EnumMember] Alarm } [DataContract] [Serializable] public enum EventType { /// /// 在TopView显示一条记录 /// [EnumMember] EventUI_Notify, /// /// 弹出对话框 /// [EnumMember] Dialog_Nofity, /// /// /// [EnumMember] KickOut_Notify, /// /// /// [EnumMember] Sound_Notify, /// /// 在屏幕左下角弹出一个提醒的悬浮窗口,自动消失 /// [EnumMember] UIMessage_Notify, [EnumMember] OperationLog, } [DataContract] [Serializable] public class EventItem { [DataMember] public int Id { get; set; } [DataMember] public string EventEnum { get; set; } // [DataMember] public EventType Type { get; set; } [DataMember] public EventLevel Level { get; set; } [DataMember] public string Source { get; set; } //Which module send out this event [DataMember] public string Description { get; set; } //detail text [DataMember] public DateTime OccuringTime { get; set; } // [DataMember] public bool IsAcknowledged { get; set; } [DataMember] public string Explaination { get; set; } [DataMember] public string Solution { get; set; } [DataMember] public string GlobalDescription_en { get; set; } [DataMember] public string GlobalDescription_zh { get; set; } [DataMember] public SerializableDictionary dvid { get; set; } public EventItem Clone() { EventItem result = new EventItem(); result.Description = Description; result.EventEnum = EventEnum; result.Explaination = Explaination; result.Id = Id; result.IsAcknowledged = IsAcknowledged; result.Level = Level; result.OccuringTime = OccuringTime; result.Solution = Solution; result.Source = Source; result.Type = Type; result.GlobalDescription_en = GlobalDescription_en; result.GlobalDescription_zh = GlobalDescription_zh; return result; } public EventItem() { } public EventItem (string name ) : this("System", name, "", EventLevel.Information, EventType.EventUI_Notify) { } public EventItem(string name, string description) : this("System", name, description, EventLevel.Information, EventType.EventUI_Notify) { } public EventItem(string source, string name, string description) :this(source,name,description, EventLevel.Information, EventType.EventUI_Notify) { } public EventItem(string name, EventType type, EventLevel level) : this("System", name, "", level, type) { } public EventItem(string source, string name, string description, EventLevel level, EventType type) { EventEnum = name; Type = type; Level = level; Source = source; Description = description; } } }