コード例 #1
0
        void IVXProtocol_SearchItemResultReceived(SearchItemResult obj)
        {
            lock (m_SyncObjSearch)
            {
                SearchSession searchSession = GetSearchSession((int)obj.SearchId);
                if (searchSession == null)
                {
                    return;
                }

                //if (searchSession.SearchPara.DisplayMode != SearchResultDisplayMode.ThumbNailAllSearchItem)
                //{
                //    if (obj.TaskUnitId != searchSession.SearchPara.CurrentSearchItem.TaskUnitId)
                //    {
                //        return;
                //    }
                //}

                SearchResultSingleSummary result = new SearchResultSingleSummary();
                result.IsSimilaritySearch = searchSession.SearchPara.IsSimilaritySearch;
                result.CurrPageIndex      = obj.PageInfo.Index;
                result.CurrPageTotalCount = obj.PageInfo.CountInCurrentPage;
                result.SearchResultList   = obj.ResultRecords;

                if (searchSession.SearchPara.SearchType == SearchType.Vehicle)
                {
                    UpdateSearchResultRecords(result.SearchResultList);
                }

                result.SearchSessionID = obj.SearchId;
                result.TaskUnitID      = obj.TaskUnitId;
                result.TotalCount      = obj.PageInfo.TotalCount;
                result.TotalPage       = obj.PageInfo.TotalPage;

                SearchItem searchItem = searchSession.SearchPara.GetSeachItem(obj.TaskUnitId);
                lock (searchItem)
                {
                    searchItem.IsFinished    = true;
                    searchItem.ResultSummary = result;
                    MyLog4Net.Container.Instance.Log.InfoFormat("Fire SearchFinishedEvent in VideoSearchService, taskUnitID: {0}", result.TaskUnitID);
                    Framework.Container.Instance.EvtAggregator.GetEvent <SearchFinishedEvent>().Publish(result);
                }
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="action">search</param>
        /// <param name="functionType"></param>
        /// <param name="searchText"></param>
        /// <returns></returns>
        public SearchItemResult GetItem(string action, string searchText, string functionType)
        {
            // 检查是否登录
            if (HttpContext.Current.Session[SessionInfo.C_Session_sessioninfo] == null)
            {
                SearchItemResult result = new SearchItemResult();
                result.apiResult           = new ApiResult();
                result.apiResult.errorCode = -1;
                result.apiResult.errorInfo = "尚未登录";
                return(result);
            }

            SessionInfo sessionInfo = (SessionInfo)HttpContext.Current.Session[SessionInfo.C_Session_sessioninfo];

            if (action == "search")
            {
                return(ilovelibraryServer.Instance.SearchItem(sessionInfo, functionType, searchText));
            }

            return(null);
        }