/// <summary> /// /// </summary> /// <param name="searchItem"></param> private Models.SearchItem StartAnalyzeSearchCallback(string htmlDocument, Models.SearchItem searchItem) { Models.SearchItem _searchItem = (Models.SearchItem)searchItem; if(_searchItem.searchResult == null) _searchItem.searchResult = new Models.SearchItem.SearchResult(); string _errMsg = string.Empty; _searchItem.searchResult.PageOnError = this.ypTool.CheckPageIfError(htmlDocument, ref _errMsg); if(base.ForceStopSearchAnalysis) return null; if(_searchItem.searchResult.PageOnError) { _searchItem.searchResult.PageErrorMessage = _errMsg; } else { _searchItem.searchResult.ResultsPerPage = this.ypTool.GetResultsPerPage(htmlDocument); _searchItem.searchResult.TotalPages = this.ypTool.GetTotalPages(htmlDocument); _searchItem.searchResult.TotalResults = _searchItem.searchResult.TotalPages * _searchItem.searchResult.ResultsPerPage; if(_searchItem.searchResult.pointers == null) _searchItem.searchResult.pointers = new List<Models.SearchItem.SearchResult.UrlPointer>(); for(int _ctr = 0; _ctr < _searchItem.searchResult.TotalPages; _ctr++) { if(base.ForceStopSearchAnalysis) return null; string _searchUrl = Models.DirectoryProviderSetting.BuildSearchUrl(base.DirectoryProviderSetting , _searchItem.searchItem , _searchItem.searchLocation , _ctr + 1); ; Models.SearchItem.SearchResult.UrlPointer _ptrItem = new Models.SearchItem.SearchResult.UrlPointer() { PageNo = _ctr + 1, SearchUrl = new Uri(_searchUrl), SearchHtml = (_ctr == 0 ? htmlDocument : string.Empty) }; _searchItem.searchResult.pointers.Add(_ptrItem); if(base.ForceStopSearchAnalysis) return null; } } return _searchItem; }
/// <summary> /// /// </summary> /// <param name="searchItem"></param> private Models.SearchItem StartAnalyzeSearchCallback(string htmlDocument, Models.SearchItem searchItem) { Models.SearchItem _searchItem = (Models.SearchItem)searchItem; if (_searchItem.searchResult == null) { _searchItem.searchResult = new Models.SearchItem.SearchResult(); } string _errMsg = string.Empty; _searchItem.searchResult.PageOnError = this.ypTool.CheckPageIfError(htmlDocument, ref _errMsg); if (base.ForceStopSearchAnalysis) { return(null); } if (_searchItem.searchResult.PageOnError) { _searchItem.searchResult.PageErrorMessage = _errMsg; } else { _searchItem.searchResult.ResultsPerPage = this.ypTool.GetResultsPerPage(htmlDocument); _searchItem.searchResult.TotalResults = this.ypTool.GetTotalResults(htmlDocument); int _totPgs = (int)(_searchItem.searchResult.TotalResults % _searchItem.searchResult.ResultsPerPage); _searchItem.searchResult.TotalPages = (int)(_searchItem.searchResult.TotalResults / _searchItem.searchResult.ResultsPerPage) + (_totPgs > 0 ? 1 : 0); if (_searchItem.searchResult.pointers == null) { _searchItem.searchResult.pointers = new List <Models.SearchItem.SearchResult.UrlPointer>(); } for (int _ctr = 0; _ctr < _searchItem.searchResult.TotalPages; _ctr++) { if (base.ForceStopSearchAnalysis) { return(null); } string _searchUrl = Models.DirectoryProviderSetting.BuildSearchUrl(base.DirectoryProviderSetting , _searchItem.searchItem , _searchItem.searchLocation , _ctr + 1);; Models.SearchItem.SearchResult.UrlPointer _ptrItem = new Models.SearchItem.SearchResult.UrlPointer() { PageNo = _ctr + 1, SearchUrl = new Uri(_searchUrl), SearchHtml = (_ctr == 0 ? htmlDocument : string.Empty), IsValid = false, /* is to be decided T/F when processing */ }; _searchItem.searchResult.pointers.Add(_ptrItem); if (base.ForceStopSearchAnalysis) { return(null); } } } return(_searchItem); }
public UrlPointerProcessedEventArgs(Models.SearchItem.SearchResult.UrlPointer UrlPointer, TimeSpan Elapsed) { this.UrlPointer = UrlPointer; this.Elapsed = Elapsed; }