private void LoadClientAlarm() { try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); AlarmLine[] alarms = alarmClient.GetAlarmLines(0, 10, new VideoOS.Platform.Proxy.Alarm.AlarmFilter() { Orders = new OrderBy[] { new OrderBy() { Order = Order.Descending, Target = Target.Timestamp } } }); foreach (AlarmLine line in alarms) { Alarm alarm = alarmClient.Get(line.Id); DataGridViewRow row = new DataGridViewRow(); row.Tag = alarm; string alarmDef = alarm.RuleList != null && alarm.RuleList.Count > 0 ? alarm.RuleList[0].Name : ""; row.CreateCells(dataGridViewAlarm, alarm.EventHeader.Source.Name, alarm.EventHeader.Timestamp.ToLocalTime(), alarm.EventHeader.Message, alarm.EventHeader.Priority, alarm.State, alarmDef); dataGridViewAlarm.Rows.Add(row); } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("OnLoad", ex); } }
private async Task UpdateAlarmList(IAlarmClient client) { if (client != null) { await WebAware(async() => { var version = await client.Session.PingAuth(); var serverVersion = new Version(version.version); if (serverVersion < PimpSessionBase.AlarmsSupportingVersion) { FeedbackMessage = MusicPimpOldVersion; } else { var alarms = await client.Alarms(); if (alarms.Count() == 0) { FeedbackMessage = "No alarms have been added."; } AlarmList = new ObservableCollection <AlarmModel>(alarms); } }); } else { FeedbackMessage = AtLeastOneMusicPimpServerRequired; } }
private void loadClientEvent() { try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); EventLine[] events = alarmClient.GetEventLines(0, 10, new VideoOS.Platform.Proxy.Alarm.EventFilter() { }); foreach (EventLine line in events) { BaseEvent baseevent = alarmClient.GetEvent(line.Id); DataGridViewRow row = new DataGridViewRow(); row.Tag = baseevent; row.CreateCells(dataGridViewAlarm, baseevent.EventHeader.Type, baseevent.EventHeader.Message, line.Timestamp.ToLocalTime(), line.SourceName); dataGridViewAlarm.Rows.Add(row); } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("loading Event", ex); } }
private EventLine[] GetAnalyticsEventList(DateTime periodStart, DateTime periodEnd) { AlarmClientManager _alarmClientManager = new AlarmClientManager(); int eventCount = (int)(_startCache + _endCache) / 500; try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); EventLine[] events = alarmClient.GetEventLines(0, eventCount, new VideoOS.Platform.Proxy.Alarm.EventFilter() { Conditions = new Condition[] { new Condition() { Operator = Operator.NotEquals, Target = Target.Type, Value = "System Event" }, new Condition() { Operator = Operator.LessThan, Target = Target.Timestamp, Value = periodEnd }, new Condition() { Operator = Operator.GreaterThan, Target = Target.Timestamp, Value = periodStart } } }); return(events); } catch (Exception ex) { // this will happen if for instance the Event Server cannot be contacted. Showing error each time is quite intrusive, so let's just log. EnvironmentManager.Instance.Log(true, nameof(OverlayGraphOnEventBackgroundPlugin), "Exception thrown: " + ex.Message); return(new EventLine[] { }); } }
private void loadClientAccess() { try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); EventLine[] events = alarmClient.GetEventLines(0, 10, new VideoOS.Platform.Proxy.Alarm.EventFilter() { Conditions = new Condition[] { new Condition() { Operator = Operator.Equals, Target = Target.Type, Value = "Access Control System Event" } } }); foreach (EventLine line in events) { BaseEvent baseevent = alarmClient.GetEvent(line.Id); AccessControlEvent accessControlEvent = baseevent as AccessControlEvent; if (accessControlEvent != null) { DataGridViewRow row = new DataGridViewRow(); row.Tag = baseevent; string credentialHolderId = ""; string systemId = ""; if (accessControlEvent.RelatedAccessControlCredentialHolderIds != null) { if (accessControlEvent.RelatedAccessControlCredentialHolderIds.Length > 0) { credentialHolderId = accessControlEvent.RelatedAccessControlCredentialHolderIds[0]; } } if (accessControlEvent.AccessControlSystemId != null) { systemId = accessControlEvent.AccessControlSystemId.ToString(); } row.CreateCells( dataGridViewAlarm, baseevent.EventHeader.Type, baseevent.EventHeader.Message, line.Timestamp.ToLocalTime(), line.SourceName, credentialHolderId, systemId); dataGridViewAlarm.Rows.Add(row); } } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("loading Acces Control System Event", ex); } }
public AlarmViewModel( IAlarmClient alarmClient, IAlarmNotificationClient alarmNotificationClient, INavigationService navigationService) { this.alarmClient = alarmClient; this.alarmNotificationClient = alarmNotificationClient; _navigationService = navigationService; ArmCommand = new Command(async() => await ExecuteArmCommand()); DisarmCommand = new Command(async() => await ExecuteDisarmCommand()); ConfigureCommand = new Command(async() => await ExecuteConfigureCommand()); }
private void ResetClient(MusicEndpoint endpoint) { Endpoint = endpoint; if (client != null) { Utils.Suppress <Exception>(client.Session.Dispose); client = null; } if (endpoint != null) { client = new SimpleAlarmClient(endpoint, DateTimeHelper.Instance); } }
public AlarmModel(IAlarmClient client) { Client = client; player = provider.PlayerManager.NoUploadsPimpPlayer(Client.Session); EnabledDays.CollectionChanged += (s, e) => { OnPropertyChanged("DaysReadable"); }; NavigateToAlarm = new DelegateCommand <AlarmModel>(alarm => { var queryParams = new Dictionary <string, string>(); queryParams.Add(PageParams.ENDPOINT, Client.Session.Endpoint.Id); queryParams.Add(PageParams.ID, alarm.Id); PageNavigationService.Instance.NavigateWithQuery(PageNames.ALARM_EDIT, queryParams); }); PlayOrStop = new AsyncDelegateCommand <AlarmModel>(alarm => alarm.PlayOrStopAlarm()); SaveAlarm = new AsyncDelegateCommand <AlarmModel>(alarm => alarm.Save()); }
private object ChangedAlarmMessageHandler(VideoOS.Platform.Messaging.Message message, FQID dest, FQID source) { if (_viewMode != ViewMode.Alarm) { return(null); } if (InvokeRequired) { BeginInvoke(new MessageReceiver(ChangedAlarmMessageHandler), message, dest, source); } else { try { ChangedAlarmData changedAlarmData = message.Data as ChangedAlarmData; if (changedAlarmData != null) { switch (changedAlarmData.ChangeHint) { case ChangedAlarmData.ChangeHintSingleAlarm: for (int ix = 0; ix < dataGridViewAlarm.Rows.Count; ix++) { Alarm alarm = dataGridViewAlarm.Rows[ix].Tag as Alarm; if (alarm != null && alarm.EventHeader.ID == changedAlarmData.AlarmId) { IAlarmClient alarmClient = LookupAlarmClient(alarm.EventHeader.Source.FQID); Alarm newAlarm = alarmClient.Get(alarm.EventHeader.ID); dataGridViewAlarm.Rows[ix].Tag = newAlarm; dataGridViewAlarm.Rows[ix].Cells[3].Value = "" + newAlarm.EventHeader.Priority; dataGridViewAlarm.Rows[ix].Cells[4].Value = "" + newAlarm.State; } } break; default: break; } } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("MessageHandler", ex); } } return(null); }
private void buttonCompleted_Click(object sender, EventArgs e) { if (_selectedRow != null) { Alarm alarm = _selectedRow.Tag as Alarm; if (alarm != null) { try { IAlarmClient alarmClient = LookupAlarmClient(alarm.EventHeader.Source.FQID); alarmClient.UpdateAlarm(alarm.EventHeader.ID, "Operator Closed Alarm", 11, alarm.EventHeader.Priority, DateTime.UtcNow, null); } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("MessageHandler", ex); } } } }
private void buttonInprogress_Click(object sender, EventArgs e) { if (_selectedRow != null) { Alarm alarm = _selectedRow.Tag as Alarm; if (alarm != null) { try { IAlarmClient alarmClient = LookupAlarmClient(alarm.EventHeader.Source.FQID); alarmClient.UpdateAlarm(alarm.EventHeader.ID, "Operator changed to InProgress", 4, 1, DateTime.UtcNow, ""); } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("MessageHandler", ex); } } } }
private void loadClientAnalytics() { try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); EventLine[] events = alarmClient.GetEventLines(0, 10, new VideoOS.Platform.Proxy.Alarm.EventFilter() { Conditions = new Condition[] { new Condition() { Operator = Operator.NotEquals, Target = Target.Type, Value = "System Event" } } }); foreach (EventLine line in events) { BaseEvent baseevent = alarmClient.GetEvent(line.Id); DataGridViewRow row = new DataGridViewRow(); row.Tag = baseevent; AnalyticsEvent aEvent = baseevent as AnalyticsEvent; if (aEvent != null) { row.CreateCells( dataGridViewAlarm, baseevent.EventHeader.Type, line.ObjectValue, baseevent.EventHeader.Message, line.CustomTag, line.Timestamp.ToLocalTime(), line.SourceName); dataGridViewAlarm.Rows.Add(row); } } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("loading Analytics", ex); } }
private void loadClientLPR() { try { IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); EventLine[] events = alarmClient.GetEventLines(0, 10, new VideoOS.Platform.Proxy.Alarm.EventFilter() { Conditions = new Condition[] { new Condition() { Operator = Operator.Equals, Target = Target.Type, Value = "LPR Event" } } }); foreach (EventLine line in events) { BaseEvent baseevent = alarmClient.GetEvent(line.Id); DataGridViewRow row = new DataGridViewRow(); row.Tag = baseevent; AnalyticsEvent aEvent = baseevent as AnalyticsEvent; if (aEvent != null) { string oValue = ""; string oConfidence = ""; if (aEvent.ObjectList != null && aEvent.ObjectList.Count > 0) { oValue = aEvent.ObjectList[0].Value ?? ""; oConfidence = aEvent.ObjectList[0].Confidence.ToString("F5"); } row.CreateCells(dataGridViewAlarm, aEvent.EventHeader.Type, oValue, oConfidence, aEvent.EventHeader.CustomTag, aEvent.EventHeader.Timestamp.ToLocalTime(), aEvent.EventHeader.Source.Name); dataGridViewAlarm.Rows.Add(row); } } } catch (Exception ex) { EnvironmentManager.Instance.ExceptionDialog("loading LPR Analytics", ex); } }
private void CreatePlaybackDictionary(ImageViewerAddOn imageViewerAddOn, DateTime videoTime) { CachedOverlayObjects coo; if (!_dicAddOnOverlayObjectsPlayback.TryGetValue(imageViewerAddOn, out coo) || coo.StartTime > videoTime || coo.EndTime < videoTime) { DateTime startDatetime = videoTime.AddMilliseconds(-_startCache); DateTime endDatetime = videoTime.AddMilliseconds(_endCache); if (endDatetime > DateTime.Now) { endDatetime = DateTime.Now; } EventLine[] analyticsEventLines = GetAnalyticsEventList(startDatetime, endDatetime); if (analyticsEventLines.Length == 0) { return; } CachedOverlayObjects overlayObjectList = new CachedOverlayObjects(); overlayObjectList.OverlayObjectList = new List <OverlayObject>(); overlayObjectList.StartTime = startDatetime; overlayObjectList.EndTime = endDatetime; AlarmClientManager _alarmClientManager = new AlarmClientManager(); IAlarmClient alarmClient = _alarmClientManager.GetAlarmClient(EnvironmentManager.Instance.MasterSite.ServerId); foreach (EventLine ev in analyticsEventLines) { BaseEvent baseevent = alarmClient.GetEvent(ev.Id); overlayObjectList.OverlayObjectList.Add(new OverlayObject(baseevent, ev.Timestamp)); } if (_dicAddOnOverlayObjectsPlayback.ContainsKey(imageViewerAddOn)) { _dicAddOnOverlayObjectsPlayback.Remove(imageViewerAddOn); } _dicAddOnOverlayObjectsPlayback.Add(imageViewerAddOn, overlayObjectList); } }