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;
}
}
}