using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SA_LTT.Alarm { public class Alarm { public Alarm() { } AlarmCode _code; string _description; AlarmLevel _level; bool _use; DateTime _occurredTime; public AlarmCode Code { get { return _code; } set { _code = value; } } public string Description { get { return _description; } set { _description = value; } } public bool Heavy { get { return _level == AlarmLevel.Heavy; } set { if (value == true) { _level = AlarmLevel.Heavy; } else { _level = AlarmLevel.Light; } } } public bool Light { get { return _level == AlarmLevel.Light; } set { if (value == true) { _level = AlarmLevel.Light; } else { _level = AlarmLevel.Heavy; } } } public AlarmLevel Level { get { return _level; } set { _level = value; } } public bool Use { get { return _use; } set { _use = value; } } public DateTime OccurredTime { get { return _occurredTime; } set { _occurredTime = value; } } public Alarm Clone() { Alarm clone = new Alarm(); clone.Code = this.Code; clone.Description = this.Description; clone.Level = this.Level; clone.Use = this.Use; clone.OccurredTime = this.OccurredTime; return clone; } public static bool operator == (Alarm alarm1, Alarm alarm2) { bool result = true; result &= alarm1.Code == alarm2.Code; result &= alarm1.Description == alarm2.Description; result &= alarm1.Heavy == alarm2.Heavy; result &= alarm1.Light == alarm2.Light; result &= alarm1.Level == alarm2.Level; result &= alarm1.Use == alarm2.Use; return result; } public static bool operator != (Alarm alarm1, Alarm alarm2) { bool result = true; result &= alarm1.Code == alarm2.Code; result &= alarm1.Description == alarm2.Description; result &= alarm1.Heavy == alarm2.Heavy; result &= alarm1.Light == alarm2.Light; result &= alarm1.Level == alarm2.Level; result &= alarm1.Use == alarm2.Use; return !result; } public override bool Equals(object obj) { return base.Equals(obj); } public override int GetHashCode() { return base.GetHashCode(); } } }