コード例 #1
0
        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);
            }
        }
コード例 #2
0
        private object NewEventMessageHandler(VideoOS.Platform.Messaging.Message message, FQID destination, FQID sender)
        {
            if (InvokeRequired)
            {
                Invoke(new MessageReceiver(NewEventMessageHandler), message, destination, sender);
            }
            else
            {
                DataGridViewRow row    = new DataGridViewRow();
                var             events = message.Data as System.Collections.Generic.IEnumerable <BaseEvent>;
                if (events == null)
                {
                    return(null);
                }
                foreach (BaseEvent ev in events)
                {
                    switch (_viewMode)
                    {
                    case ViewMode.Analytics:
                    {
                        AnalyticsEvent analyticsevent = ev as AnalyticsEvent;
                        if (analyticsevent != null)
                        {
                            row.Tag = analyticsevent;
                            String strObjectValue = "";
                            if (analyticsevent.ObjectList != null && analyticsevent.ObjectList.Count > 0)
                            {
                                strObjectValue = (analyticsevent.ObjectList[0].Name ?? "") + "=" + (analyticsevent.ObjectList[0].Value ?? "");
                            }
                            row.CreateCells(dataGridViewAlarm,
                                            analyticsevent.EventHeader.Type,
                                            strObjectValue,
                                            analyticsevent.EventHeader.Message,
                                            analyticsevent.EventHeader.CustomTag,
                                            analyticsevent.EventHeader.Timestamp,
                                            analyticsevent.EventHeader.Source.Name);
                            dataGridViewAlarm.Rows.Insert(0, row);
                        }
                    }
                    break;

                    case ViewMode.Event:
                    {
                        row.Tag = ev;
                        row.CreateCells(dataGridViewAlarm,
                                        ev.EventHeader.Type,
                                        ev.EventHeader.Message,
                                        ev.EventHeader.Timestamp,
                                        ev.EventHeader.Source.Name);
                        dataGridViewAlarm.Rows.Insert(0, row);
                    }
                    break;

                    case ViewMode.Access:
                    {
                        AccessControlEvent accessControlEvent = ev as AccessControlEvent;
                        if (accessControlEvent != null)
                        {
                            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.Tag = ev;
                            row.CreateCells(dataGridViewAlarm,
                                            ev.EventHeader.Type,
                                            ev.EventHeader.Message,
                                            ev.EventHeader.Timestamp,
                                            ev.EventHeader.Source.Name,
                                            credentialHolderId,
                                            systemId);
                            dataGridViewAlarm.Rows.Insert(0, row);
                        }
                    }
                    break;

                    case ViewMode.LPR:
                    {
                        AnalyticsEvent analyticsevent = ev as AnalyticsEvent;
                        if (analyticsevent != null)
                        {
                            row.Tag = analyticsevent;
                            row.CreateCells(dataGridViewAlarm,
                                            analyticsevent.EventHeader.Type,
                                            analyticsevent.ObjectList[0].Value,
                                            analyticsevent.ObjectList[0].Confidence.ToString("F5"),
                                            analyticsevent.EventHeader.CustomTag,
                                            analyticsevent.EventHeader.Timestamp,
                                            analyticsevent.EventHeader.Source.Name);
                            dataGridViewAlarm.Rows.Insert(0, row);
                        }
                    }
                    break;
                    }
                }
            }
            return(null);
        }