示例#1
0
        public override void Execute()
        {
            IEnumerator iEnumerator = NextSteps.GetEnumerator();

            foreach (var depend in _dependData)
            {
                // Create Temp Data to store
                var scrapingResult = new List <Dictionary <string, string> >();
                // Execute Child Step
                while (iEnumerator.MoveNext())
                {
                    ScrapingConfigBase config = (ScrapingConfigBase)iEnumerator.Current;
                    var dependData            = new List <string> {
                        depend
                    };
                    config.SetDepentData(dependData);
                    config.SetStoreData(scrapingResult);
                    config.Execute();
                }
                iEnumerator.Reset();
                // Store to Memmory

                StoreData(scrapingResult);
            }
        }
 protected virtual void ExcuteChildConfig(IEnumerator iEnumerator)
 {
     while (iEnumerator.MoveNext())
     {
         ScrapingConfigBase config = (ScrapingConfigBase)iEnumerator.Current;
         config.SetDepentData(_tempData);
         config.SetStoreData(_storeData);
         config.Execute();
     }
 }
        /// <summary>
        /// Sets the response data.
        /// </summary>
        /// <param name="data">The data.</param>
        public virtual void SetResponseData(Dictionary <string, List <Dictionary <string, string> > > data)
        {
            _responseData = data;
            IEnumerator childs = NextSteps.GetEnumerator();

            while (childs.MoveNext())
            {
                ScrapingConfigBase config = (ScrapingConfigBase)childs.Current;
                config.SetResponseData(data);
            }
        }
        protected void SetStepTypeOfChilds(List <StepType> stepTypes)
        {
            IEnumerator iEnumerator = NextSteps.GetEnumerator();

            while (iEnumerator.MoveNext())
            {
                ScrapingConfigBase config = (ScrapingConfigBase)iEnumerator.Current;
                var currentType           = config.StepType;
                stepTypes.Add(currentType);
                config.SetStepTypeOfChilds(stepTypes);
            }
        }
示例#5
0
        protected override void ExcuteChildConfig(IEnumerator iEnumerator)
        {
            // Quit Webdriver If WebDriver  use in childs step
            var childTypes = new List <StepType>();

            SetStepTypeOfChilds(childTypes);
            while (iEnumerator.MoveNext())
            {
                ScrapingConfigBase config = (ScrapingConfigBase)iEnumerator.Current;
                config.SetDepentData(_tempData);
                config.SetStoreData(_storeData);
                if (childTypes.Any(x => x == StepType.WebDriver))
                {
                    config.SetWebDriver(_webDrive);
                }
                config.Execute();
            }
            iEnumerator.Reset();
        }
        private void ProcessData(string document, IEnumerator iEnumerator)
        {
            var collectData = ScrapeData(document);

            foreach (var data in collectData)
            {
                _tempData = new List <string>();
                var catchdata = new Dictionary <string, string>
                {
                    { data.Key, data.Value }
                };
                this.StoreToTempData(catchdata);
                // Execute Child Step
                while (iEnumerator.MoveNext())
                {
                    ScrapingConfigBase config = (ScrapingConfigBase)iEnumerator.Current;
                    config.SetDepentData(_tempData);
                    config.SetStoreData(_storeData);
                    config.Execute();
                }
                iEnumerator.Reset();
            }
        }
 public override void Add(ScrapingConfigBase ScrapingConfig)
 {
     NextSteps.Add(ScrapingConfig);
 }
 /// <summary>
 /// Adds the specified scrap configuration.
 /// </summary>
 /// <param name="ScrapConfig">The scrap configuration.</param>
 public abstract void Add(ScrapingConfigBase ScrapingConfig);