/// <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); } }