Sic.Framework-Nanjing-Baishi/MECF.Framework.Common/Aitex/Core/RT/Event/EventItem.cs

237 lines
6.6 KiB
C#
Raw Normal View History

2023-04-13 11:51:03 +08:00
using System;
using System.Runtime.Serialization;
using Aitex.Core.Util;
namespace Aitex.Core.RT.Event
{
[Serializable]
[DataContract]
public class EventItem
{
#region Constructors
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
public EventItem()
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
public EventItem(string name)
: this(0, "System", name, "", EventLevel.Information, EventType.EventUI_Notify)
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
/// <param name="description"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
public EventItem(string name, string description)
: this(0, "System", name, description, EventLevel.Information, EventType.EventUI_Notify)
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="source"><3E>¼<EFBFBD><C2BC><EFBFBD>Դ<EFBFBD><D4B4></param>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
/// <param name="description"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
public EventItem(string source, string name, string description)
: this(0, source, name, description, EventLevel.Information, EventType.EventUI_Notify)
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
/// <param name="type"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventType"/><3E><></param>
/// <param name="level"><3E>¼<EFBFBD><C2BC>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventLevel"/><3E><></param>
public EventItem(string name, EventType type, EventLevel level)
: this(0, "System", name, "", level, type)
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="source"><3E>¼<EFBFBD><C2BC><EFBFBD>Դ<EFBFBD><D4B4></param>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
/// <param name="description"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="level"><3E>¼<EFBFBD><C2BC>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventLevel"/><3E><></param>
/// <param name="type"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventType"/><3E><></param>
public EventItem(string source, string name, string description, EventLevel level, EventType type)
: this(0, source, name, description, level, type)
{
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
/// </summary>
/// <param name="id"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>š<EFBFBD></param>
/// <param name="source"><3E>¼<EFBFBD><C2BC><EFBFBD>Դ<EFBFBD><D4B4></param>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD></param>
/// <param name="description"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="level"><3E>¼<EFBFBD><C2BC>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventLevel"/><3E><></param>
/// <param name="type"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ο<EFBFBD><see cref="EventType"/><3E><></param>
public EventItem(int id, string source, string name, string description, EventLevel level, EventType type)
{
EventEnum = name;
Type = type;
Level = level;
Source = source;
Description = description;
Id = id;
}
#endregion
#region Properties
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>š<EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public int Id { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ơ<EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string EventEnum { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>͡<EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public EventType Type { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC>ȼ<EFBFBD><C8BC><EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public EventLevel Level { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD>Դ<EFBFBD><D4B4>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string Source { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string Description { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public DateTime OccuringTime { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC>Ƿ<EFBFBD><C7B7>ѱ<EFBFBD><D1B1><EFBFBD>Ӧ<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public bool IsAcknowledged { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>͡<EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string Explaination { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string Solution { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ汾<C4B0><E6B1BE>
/// </summary>
2023-04-13 11:51:03 +08:00
[DataMember]
public string GlobalDescription_en { get; set; }
/// <summary>
/// <20><><EFBFBD>û򷵻<C3BB><F2B7B5BB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<C4B0><E6B1BE>
/// </summary>
[DataMember]
2023-04-13 11:51:03 +08:00
public string GlobalDescription_zh { get; set; }
[DataMember]
public SerializableDictionary<string, string> DVID { get; set; }
public SerializableDictionary<string, object> ObjDVID { get; set; }
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ƿ񴥷<C7B7><F1B4A5B7><EFBFBD>
/// </summary>
2023-04-13 11:51:03 +08:00
public bool IsTriggered => !IsAcknowledged;
#endregion
#region Methods
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <returns></returns>
public EventItem Clone()
2023-04-13 11:51:03 +08:00
{
var eventItem = new EventItem();
2023-04-13 11:51:03 +08:00
eventItem.Description = Description;
eventItem.EventEnum = EventEnum;
eventItem.Explaination = Explaination;
eventItem.Id = Id;
eventItem.IsAcknowledged = IsAcknowledged;
eventItem.Level = Level;
eventItem.OccuringTime = OccuringTime;
eventItem.Solution = Solution;
eventItem.Source = Source;
eventItem.Type = Type;
eventItem.GlobalDescription_en = GlobalDescription_en;
eventItem.GlobalDescription_zh = GlobalDescription_zh;
eventItem.DVID = DVID;
eventItem.ObjDVID = ObjDVID;
return eventItem;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="objDvid"></param>
/// <returns></returns>
2023-04-13 11:51:03 +08:00
public EventItem Clone(SerializableDictionary<string, object> objDvid)
{
var eventItem = new EventItem();
2023-04-13 11:51:03 +08:00
eventItem.Description = Description;
eventItem.EventEnum = EventEnum;
eventItem.Explaination = Explaination;
eventItem.Id = Id;
eventItem.IsAcknowledged = IsAcknowledged;
eventItem.Level = Level;
eventItem.OccuringTime = OccuringTime;
eventItem.Solution = Solution;
eventItem.Source = Source;
eventItem.Type = Type;
eventItem.GlobalDescription_en = GlobalDescription_en;
eventItem.GlobalDescription_zh = GlobalDescription_zh;
eventItem.DVID = DVID;
eventItem.ObjDVID = objDvid;
return eventItem;
}
#endregion
}
2023-04-13 11:51:03 +08:00
}