using Aitex.Core.UI.MVVM;
using PunkHPX8_MainPages.Model;
using MECF.Framework.Common.Alarm;
using MECF.Framework.Common.CommonData;
using MECF.Framework.Common.DataCenter;
using MECF.Framework.Common.DBCore;
using MECF.Framework.Common.OperationCenter;
using MECF.Framework.Common.SubstrateTrackings;
using MECF.Framework.Common.Utilities;
using Prism.Mvvm;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Threading;
namespace PunkHPX8_MainPages.ViewModels
{
    public class AlarmHomePageViewModel : BindableBase
    {
        #region 变量
        /// 
        /// Description
        /// 
        private string _description;
        /// 
        /// Note
        /// 
        private string _note;
        /// 
        /// Alarm数据
        /// 
        private List _alarmListDatas = new List();
        /// 
        /// Module
        /// 
        private string _module;
        /// 
        /// rt查询key
        /// 
        private List _rtDataKeys = new List();
        /// 
        /// 时钟
        /// 
        DispatcherTimer _timer;
        /// 
        /// rt查询数据
        /// 
        private Dictionary _rtDataValueDic = new Dictionary();
        /// 
        /// 选中的AlarmList数据
        /// 
        private AlarmList _selectedAlarmList;
        /// 
        /// 是否选中AlarmList
        /// 
        private bool _isSelectedAlarmList;
        /// 
        /// 是否选中WarningList
        /// 
        private bool _isSelectedWarningList;
        #endregion
        #region 属性
        /// 
        /// Note
        /// 
        public string Description
        {
            get { return _description; }
            set { SetProperty(ref _description, value); }
        }
        /// 
        /// Note
        /// 
        public string Note
        {
            get { return _note; }
            set { SetProperty(ref _note, value); }
        }
        /// 
        /// Alarm数据
        /// 
        public List AlarmListDatas
        {
            get { return _alarmListDatas; }
            set { SetProperty(ref _alarmListDatas, value); }
        }
        /// 
        ///  选中的AlarmList数据条目
        /// 
        public AlarmList SelectedAlarmList
        {
            get { return _selectedAlarmList; }
            set { SetProperty(ref _selectedAlarmList, value); }
        }
        /// 
        /// 是否选中Error的AlarmList
        /// 
        public bool IsSelectedAlarmList
        {
            get { return _isSelectedAlarmList; }
            set { SetProperty(ref _isSelectedAlarmList, value); }
        }
        /// 
        /// 是否选中Warning的AlarmList
        /// 
        public bool IsSelectedWarningList
        {
            get { return _isSelectedWarningList; }
            set { SetProperty(ref _isSelectedWarningList, value); }
        }
        #endregion
        #region 指令
        public ICommand RetryCommand { get; private set; }
        public ICommand CompleteCommand { get; private set; }
        public ICommand SelectionCommand { get; private set; }
        public ICommand AcknowledgeCommand { get; private set; }
        #endregion
        /// 
        /// 构造函数
        /// 
        public AlarmHomePageViewModel()
        {
            RetryCommand = new DelegateCommand