public void Start(SearchItemV3_1 cameraItem) { /* * 订阅 CrowdRealTimeEvent 事件 * start */ string cameraId = ""; if (cameraItem != null) { cameraId = cameraItem.CameraID; } if (m_vm == null) { var info = Framework.Container.Instance.CommService.GET_RESULT_STORE_LIST(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD); if (info == null) { // notify UI if (RealSearchFinished != null) { CrowdInfo crowdInfo = new CrowdInfo(); crowdInfo.CameraID = "SDKError"; crowdInfo.DirectionImageURL = "大客流实时-查询错误:无结果数据"; RealSearchFinished((object)crowdInfo, null); } return; } string ip = info.StoreIP; uint port = info.StortPort; m_vm = new SearchViewModelBase(ip, port); WinFormAppUtil.AppContainer.Instance.EvtAggregator.GetEvent <CrowdRealTimeEvent>().Subscribe(OnSearchResultReturned, Microsoft.Practices.Prism.Events.ThreadOption.WinFormUIThread); } curTask = Framework.Container.Instance.CommService.GET_TASK(cameraItem.TaskId); m_vm.StartCrowdRealtime(cameraId); }
private void advTreeSel_NodeDoubleClick(object sender, TreeNodeMouseEventArgs e) { foreach (Node item in advTreeSel.SelectedNodes) { SearchItemV3_1 si = item.Tag as SearchItemV3_1; if (si != null) { m_viewModel.RemoveSelectedItem(si); } } InitTree(advTreeUnSel, m_viewModel.UnSelectedItems); InitTree(advTreeSel, m_viewModel.SelectedItems); labelSelectedCount.Text = "已经选择" + m_viewModel.SelectedItems.Count + "项"; }
private void advTreeSel_AfterNodeDrop(object sender, TreeDragDropEventArgs e) { foreach (Node item in e.Nodes) { SearchItemV3_1 si = item.Tag as SearchItemV3_1; if (si != null) { m_viewModel.AddSelectedItem(si); } } InitTree(advTreeUnSel, m_viewModel.UnSelectedItems); InitTree(advTreeSel, m_viewModel.SelectedItems); labelSelectedCount.Text = "已经选择" + m_viewModel.SelectedItems.Count + "项"; }
public void Start(UInt32 startTime, UInt32 endTime, SearchItemV3_1 item, UInt32 timeInterVel) { /* * 订阅 CrowdReportEvent 事件 * * start */ string cameraId = item.CameraID; var info = Framework.Container.Instance.CommService.GET_RESULT_STORE_LIST(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD); if (info == null) { List <CrowdStatistic> crowdInfoList = new List <CrowdStatistic> { }; //notify UI if (ReportSearchFinished != null) { ReportSearchFinished((object)crowdInfoList, null); } return; } string ip = info.StoreIP; uint port = info.StortPort; m_vm = new SearchViewModelBase(ip, port); curTask = Framework.Container.Instance.CommService.GET_TASK(item.TaskId); if (curTask.TaskType == TaskType.History) { uint beginTime = DataModel.Common.ConvertLinuxTime(curTask.StartTime); if (startTime <= beginTime) { startTime = 0; } else { startTime -= beginTime; } if (endTime <= beginTime) { endTime = 0; } else { endTime -= beginTime; } } WinFormAppUtil.AppContainer.Instance.EvtAggregator.GetEvent <CrowdReportEvent>().Subscribe(OnSearchResultReturned, Microsoft.Practices.Prism.Events.ThreadOption.WinFormUIThread); m_vm.StartCrowdReport(startTime, endTime, cameraId, timeInterVel); }
public void RemoveSelectedItem(SearchItemV3_1 item) { var sel = SelectedItems.FirstOrDefault(it => it.CameraID == item.CameraID); if (sel != null) { SelectedItems.Remove(sel); } var unsel = UnSelectedItems.FirstOrDefault(it => it.CameraID == item.CameraID); if (unsel == null) { UnSelectedItems.Add(item); } }
private void searchBtn_Click(object sender, EventArgs e) { StopThread(); if (!m_crowdCamerTree.IsHasChecked) { MessageBoxEx.Show("请选择一个查询目标"); return; } // 根据选中的个数 添加 tableItem var serList = m_crowdCamerTree.GetCheckTSearchList(); if (serList.Count > 0) { cameraItem = serList[0]; Start(); } }
void ucTaskFileSystem1_SelectedTask(SearchItemV3_1 obj) { if (m_currTask != null) m_viewModel.Unsubscribe(m_currTask.TaskId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROSSROAD); if (obj != null) { m_viewModel.Subscribe(obj.TaskId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROSSROAD); m_currTask = obj; buttonItem1.Text = "报警数据源:" + obj.CameraID; } else { m_currTask = null; buttonItem1.Text = ""; } }
public void StartWithTaskAction(SearchItemV3_1 item) { StopThread(); cameraItem = item; Start(); }
internal void StartWithTaskAction(SearchItemV3_1 searchItemV3_1) { ucTaskFileSystem1.SetSelectedTask(searchItemV3_1); ucTaskFileSystem1_SelectedTask(searchItemV3_1); }
public SearchResultSummaryV3_1 StartSearch(string serverIp, uint serverPort, SearchItemV3_1 searchItem, SearchParaV3_1 param) { SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl"); m_SearchService.Init(serverIp, serverPort); m_SearchService.SearchFinished += SearchService_SearchFinished; param.CameraID = searchItem.CameraID; if (searchItem.IsHistoryTask) { if (param.StartTime != DataModel.Common.ZEROTIME) { if (param.StartTime < searchItem.AdjustTime) { param.StartTime = Common.ZEROTIME; } else { param.StartTime = Common.ZEROTIME.AddSeconds(param.StartTime.Subtract(searchItem.AdjustTime).TotalSeconds); } } if (param.EndTime != DataModel.Common.MAXTIME) { if (param.EndTime < searchItem.AdjustTime) { param.EndTime = Common.ZEROTIME; } else { param.EndTime = Common.ZEROTIME.AddSeconds(param.EndTime.Subtract(searchItem.AdjustTime).TotalSeconds); } } param.ResultNumRange = int.MaxValue; } var comparesort = (E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PASSLINE); param.SortType = (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & comparesort) > 0) ? SortType.SimilarityDes : SortType.TimeAsc; if (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL) > 0 && ((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL) > 0) { param[SDKConstant.FeatureType] = (E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] ^ E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL; } uint m_searchHandle = m_SearchService.ADD_TASK(param, searchItem); searchlist.Add(new Tuple <uint, string>(m_searchHandle, serverIp), new SearchResultSummaryV3_1() { SearchPara = param, SearchSessionID = m_searchHandle, SearchResultSingleSummaryList = null, SearchVM = this, SearchItem = searchItem, SearchStatus = E_VDA_SEARCH_STATUS.E_VDA_SEARCH_STATUS_RUNING, ObjectRect = "", }); DateTime st = DateTime.Now; while (true) { if (searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)].SearchResultSingleSummaryList != null) { break; } if (DateTime.Now.Subtract(st).TotalSeconds > 60) { break; } } return(searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)]); }