public YPTool(DirectoryProviderSetting dirProviderSetting, Action <Handlers.EventHandlers.FrameworkExceptionEventArgs> frameworkExceptionInvoke) { this.directoryProviderSetting = dirProviderSetting; if (frameworkExceptionInvoke != null) { this.frameworkExceptionInvoke = frameworkExceptionInvoke; } }
/// <summary> /// /// </summary> /// <param name="args"></param> static void Main(string[] args) { //Define the directorySettings to be used DirectoryProviderSetting.DirectoryProviderSettings _dirSettings = new DirectoryProviderSetting.DirectoryProviderSettings(); DirectoryProviderSetting _dirSet = _dirSettings.Where(p => p.ServicedCountry == ServicedCountryEnum.Australia).FirstOrDefault(); //Proceed if setting for Canada exist if (_dirSet != null) { //Define the item to be searched... SearchItem _searchItem = new SearchItem() { /* * searchItem = "lawyers", * searchLocation = "sydney", */ searchItem = "software company", searchLocation = "sydney", pagesToProcess = 2 }; Console.WriteLine(string.Format("Initializing search parameters for YP {0}: \r\nSearching {1} in {2}\r\nProcessing {3}.", _dirSet.ServicedCountry.ToString(), _searchItem.searchItem, _searchItem.searchLocation, !_searchItem.pagesToProcess.HasValue ? "all of the pages" : _searchItem.pagesToProcess.ToString() + " pages only.")); //Select the provider to execute this search IDirectoryProvider _dirProvider = null; switch (_dirSet.ServicedCountry) { case ServicedCountryEnum.Canada: _dirProvider = new DirectoryProviderCanada(_dirSet); break; case ServicedCountryEnum.Australia: _dirProvider = new DirectoryProviderAustralia(_dirSet); break; } _dirProvider.SearchItem = _searchItem; _dirProvider.OnSearchAnalysisStarting += new Core.Handlers.EventHandlers.SearchAnalysisStartingEventHandler(_dirProvider_OnSearchAnalysisStarting); _dirProvider.OnSearchAnalysisFinished += new Core.Handlers.EventHandlers.SearchAnalysisFinishedEventHandler(_dirProvider_OnSearchAnalysisFinished); //Start or Invoke method StartSearchResultProcess() when OnSearchAnalysisFinished _dirProvider.OnProcessStarting += new Core.Handlers.EventHandlers.ProcessStartingEventHandler(_dirProvider_OnProcessStarting); _dirProvider.OnProcessFinished += new Core.Handlers.EventHandlers.ProcessFinishedEventHandler(_dirProvider_OnProcessFinished); _dirProvider.OnUrlPointerProcessed += new Core.Handlers.EventHandlers.UrlPointerProcessedEventHandler(_dirProvider_OnUrlPointerProcessed); _dirProvider.OnAdExtracted += new Core.Handlers.EventHandlers.AdExtractedEventHandler(_dirProvider_OnAdExtracted); _dirProvider.OnFrameworkException += new Core.Handlers.EventHandlers.FrameworkExceptionEventHandler(_dirProvider_OnFrameworkException); _dirProvider.AnalyzeSearch(); new Thread(() => { lock (typeof(Program)) { while (true) { Thread.Sleep(1000); Console.Write(@"."); if (_finished) { Console.WriteLine("Press ENTER to exit!"); break; } } } }) { IsBackground = true } .Start(); Console.ReadLine(); _finished = true; } }
public YPTool(DirectoryProviderSetting dirProviderSetting) : this(dirProviderSetting, null) { }
public YPTool(DirectoryProviderSetting dirProviderSetting, Action<Handlers.EventHandlers.FrameworkExceptionEventArgs> frameworkExceptionInvoke) { this.directoryProviderSetting = dirProviderSetting; if(frameworkExceptionInvoke != null) this.frameworkExceptionInvoke = frameworkExceptionInvoke; }
/// <summary> /// /// </summary> /// <param name="DirectoryProviderSetting"></param> public DirectoryProviderBase(DirectoryProviderSetting DirectoryProviderSetting) { this._DirectoryProviderSetting = DirectoryProviderSetting; }