public override PipelinedCrawlDescription Flow(PipelinedCrawlDescription pipelinedCrawlDescription) { LinkedListNode <CrawlDescription> node = pipelinedCrawlDescription.CrawlDescriptions.First; while (node != null) { SearchString searchString = _searchStringRepo.Select( node.Value.SearchEngineID, node.Value.RegionID); if (searchString != null) { string naturalResultParamString = string.Empty; if (node.Value.IsNatural) { naturalResultParamString = searchString.NaturalResultParamString; } string UULE = string.Empty; if (node.Value.CityID > 0) { LocalUULE localUULE = _localUULERepo.Select(node.Value.CityID); if (localUULE != null) { UULE = $"&uule={localUULE.UULE}"; } } node.Value.SearchString = $"{searchString.SearchEngine}{searchString.SearchEngineURL}{naturalResultParamString}{UULE}"; } else { // mark the node for removal, no // search string exists for the // seid, reid tuple pipelinedCrawlDescription.MarkedForRemoval.Add(node); } node = node.Next; } if (_connection != null) { _connection.Flow(pipelinedCrawlDescription); } return(pipelinedCrawlDescription); }
public virtual SearchString Select(int searchStringId) { return(_searchStringRepo.Select(searchStringId)); }