Sic.Framework/MECF.Framework.UI.Core/View/Common/MonitorViewModel.cs

57 lines
1.8 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2023-04-13 11:51:03 +08:00
using System.Windows.Media;
using Aitex.Core.RT.Event;
using Aitex.Core.UI.MVVM;
namespace Aitex.Core.UI.View.Common
{
public class MonitorViewModel : ViewModelBase
{
public List<AlarmItem> AlarmEvents { get; set; }
public void UpdateAlarmEvent(List<EventItem> evItems)
{
var alarmEvents = new List<AlarmItem>();
foreach (EventItem item in evItems)
{
var it = new AlarmItem()
{
Level = item.Level,
OccuringTime = item.OccuringTime.ToString("yyyy/MM/dd HH:mm:ss"),
Source = item.Source,
2023-04-13 11:51:03 +08:00
Description = item.Description,
EventEnum = item.EventEnum,
EventId = item.Id,
Explaination = item.Explaination,
Solution = item.Solution,
};
2023-04-13 11:51:03 +08:00
alarmEvents.Add(it);
}
if (AlarmEvents == null || (alarmEvents.Count != AlarmEvents.Count))
{
AlarmEvents = alarmEvents;
}
else
{
bool isEqual = true;
if (alarmEvents.Count == AlarmEvents.Count)
{
for (int i = 0; i < alarmEvents.Count; i++)
{
if (!alarmEvents[i].IsEqualTo(AlarmEvents[i]))
{
isEqual = false;
break;
}
}
}
if (!isEqual)
AlarmEvents = alarmEvents;
}
InvokePropertyChanged("AlarmEvents");
}
}
}