AmazonScrape.PageManager.PageManager C# (CSharp) Method

PageManager() public method

Creates and dispatches a PageManager to load a search page, parse, extract, validate and return results using the parameter callback EventHandlers
public PageManager ( int pageNumber, SearchCriteria criteria, Func pageLoadMethod, ProgressChangedEventHandler updateProgressMethod, RunWorkerCompletedEventHandler workerCompleteMethod ) : System
pageNumber int Which search page number to load
criteria SearchCriteria The user's search criteria
pageLoadMethod Func Supply the method to retrieve html
updateProgressMethod ProgressChangedEventHandler Callback for progress updates
workerCompleteMethod RunWorkerCompletedEventHandler Callback when work complete
return System
        public PageManager(int pageNumber,
            SearchCriteria criteria,
            Func<int, string, string> pageLoadMethod, // see explanation above
            ProgressChangedEventHandler updateProgressMethod,
            RunWorkerCompletedEventHandler workerCompleteMethod)
        {
            if (pageNumber < 1)
            {
                string msg = "Supplied page number ({0}) was < 0!";
                msg = string.Format(msg,pageNumber);
                throw new ArgumentOutOfRangeException(msg);
            }

            if (pageLoadMethod == null)
            {
                string msg = "Provided a null method to obtain page HTML!";
                throw new InvalidOperationException(msg);
            }

            ProgressChanged += updateProgressMethod; // Callback
            RunWorkerCompleted += workerCompleteMethod;  // Callback
            DoWork += Work;

            _pageLoadMethod = pageLoadMethod;
            _searchCriteria = criteria;
            _pageNumber = pageNumber;

            WorkerReportsProgress = true;
            WorkerSupportsCancellation = true;
        }