public DialogEditAlarm(eventwarn alarm)
        {
            InitializeComponent();

            this.DataContext = new AlarmViewModel(
                ServiceLocator.Current.GetInstance <IValidator <AlarmViewModel> >(),
                ServiceLocator.Current.GetInstance <ICollectionModel <eventwarn> >(),
                alarm);
        }
示例#2
0
        public void ShowEditAlarmDialog(eventwarn alarmToBeEdited)
        {
            if (alarmToBeEdited == null)
            {
                return;
            }

            new DialogEditAlarm(alarmToBeEdited).ShowDialog();
        }
        private bool FilterByProcessState(object obj)
        {
            eventwarn alarm = obj as eventwarn;

            if (alarm != null && (alarm.handlestatus == ProcessStateFilterValue))
            {
                return(true);
            }
            return(false);
        }
        private bool FilterByEndDate(object obj)
        {
            eventwarn alarm = obj as eventwarn;

            if (alarm != null && (alarm.time.Date <= EndDateFilterValue.Value.Date))
            {
                return(true);
            }
            return(false);
        }
        private void AddAlarms(string DeviceId, IEnumerable <XElement> events, List <eventwarn> newAlarms)
        {
            //int trig = 0;
            if (events.Count() == 0)
            {
                return;
            }

            using (var db = new ICMDBContext())
            {
                foreach (var e in events)
                {
                    eventwarn alarm = new eventwarn
                    {
                        channel      = int.Parse(e.Attribute("chanel").Value),
                        type         = e.Attribute("type").Value,
                        handlestatus = 0,
                        Action       = e.Attribute("action").Value,
                        time         = DateTime.Parse(e.Attribute("time").Value),
                        srcaddr      = DeviceId
                    };

                    eventwarn alarmInDB = (from a in db.Eventwarns
                                           where a.srcaddr == alarm.srcaddr &&
                                           a.channel == alarm.channel &&
                                           a.Action == alarm.Action &&
                                           a.time == alarm.time
                                           select a).FirstOrDefault();
                    if (alarmInDB != null)
                    {
                        continue;   // redudency data
                    }
                    if (alarm.Action == "trig")
                    {
                        newAlarms.Add(alarm);
                    }
                    db.Eventwarns.Add(alarm);

                    //DebugLog.TraceMessage(string.Format("{0}: {1} - {2}",
                    //    alarm.srcaddr, alarm.type, alarm.action));
                }

                try
                {
                    db.SaveChangesAsync();
                }
                catch (Exception) { }
                // TODO: Send message to UI.
                //if (trig > 0)
                //{
                //    //DialogEventWarn dlgWarn = new DialogEventWarn();
                //    //dlgWarn.ShowDialog();
                //}
            }
        }
 public DialogAlarmViewModel(
     ICollectionModel <eventwarn> dataModel)
 //List<eventwarn> alarms)
 {
     this._dataModel = dataModel;
     //this.Alarms = (ListCollectionView)new ListCollectionView((IList)alarms);
     this.Alarms = (ListCollectionView) new ListCollectionView((IList)_dataModel.Data);
     using (Alarms.DeferRefresh())
     {
         Alarms.Filter = delegate(object obj)
         {
             eventwarn alarm = obj as eventwarn;
             if (alarm != null && (!alarm.handlestatus.HasValue || alarm.handlestatus == 0) && alarm.action == "trig")
             {
                 return(true);
             }
             return(false);
         };
         Alarms.SortDescriptions.Add(new SortDescription("time", ListSortDirection.Descending));
     }
 }
 public DialogHandleAlarm(eventwarn alarm)
 {
     InitializeComponent();
     m_Alarm = alarm;
 }