Sic.Framework-Nanjing-Baishi/MECF.Framework.Common/Aitex/Core/RT/EMS/MaintainerItem.cs

96 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Aitex.Core.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.Common.Aitex.Core.RT.EMS
{
/// <summary>
/// Maintainer内置的维护项
/// </summary>
[Serializable]
[DataContract]
public class MaintainerItem : ICloneable
{
#region Constructors
/// <summary>
/// 此构造函数无法添加子项Add函数不可用
/// </summary>
public MaintainerItem()
{
}
/// <summary>
/// 此构造函数用于构造有子项的维护项
/// </summary>
public MaintainerItem(string mname,int id, bool enable, DateTime latest)
{
Name = mname;
Id = id;
_maintaineddate = latest;
Enable = enable;
}
#endregion
#region Properties
DateTime _maintaineddate;
bool _ismaintained = false;
[DataMember]
public string Name { get; set; }
/// <summary>
/// 确认唯一性
/// </summary>
[DataMember]
public int Id { get; set; } = 0;
[DataMember]
public bool Enable { get; set; }
[Subscription("IsMaintained")]
public bool IsMaintained => _ismaintained;
[Subscription("MaintainedDate")]
public DateTime MaintainedDate => _maintaineddate;
#endregion
#region Methods
/// <summary>
/// 更新项目及子项目的维护时间
/// </summary>
public bool Maintained(DateTime date)
{
if (Enable)
{
_maintaineddate = date;
return true;
}
return false;
}
public bool CheckMaintained(DateTime date)
{
_ismaintained = _maintaineddate.CompareTo(date) > 0;//晚于起始时间即为已保养
return IsMaintained;
}
public object Clone()
{
return new MaintainerItem(Name,Id, Enable, MaintainedDate);
}
#endregion
}
}