예제 #1
0
        /// <summary>
        /// 过滤设备列表,获取摄像机和目录列表
        /// </summary>
        /// <param name="deviceList">输入设备列表</param>
        /// <param name="cameraListTemp">返回摄像机列表</param>
        /// <param name="groupListTemp">返回组列表</param>
        private void FilterDeviceList(List<DeviceItem> deviceList, ref List<Camera> cameraListTemp, ref List<CameraGroup> groupListTemp)
        {
            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            logEx.Trace("Enter: T28181VideoMonitor.FilterDeviceList().");

            try
            {

                foreach (DeviceItem item in deviceList)
                {
                    //根据设备ID获取设备类型
                    string devType = GetResourceType(item.DeviceID);
                    //共享摄像机类型、共享主设备类型,需要通过主设备来查找设备的父节点
                    if (devType == "01" || devType == "00")
                    {
                        Camera camera = new Camera(item.DeviceID, item.Name);
                        camera.Status = item.Status == "ON" ? CameraStatus.Online : CameraStatus.Offline;
                        camera.ParentID = item.ParentID;
                        camera.DeviceType = devType;
                        cameraListTemp.Add(camera);
                    }
                    //共享目录类型
                    else if (devType == "99")
                    {
                        CameraGroup group = new CameraGroup(item.DeviceID, item.Name);
                        group.ParentID = item.ParentID;
                        groupListTemp.Add(group);
                    }
                }
            }
            catch (System.Exception ex)
            {
                logEx.Error("FilterDeviceList failed. {0} ", ex.Message);
            }
        }