using System; using Scraping.Rules; using Scraping.Selectors; using DTO = DTOs.BookDetailDTO; namespace Scraping.BookDetail { /// not the same as LocatedRuleSet. IRuleClass only acts upon 1 product item at a time. RuleFamily returns many product items internal class RuleFamilyBD : RuleFamily { } internal interface IRuleClassBD : IRuleClass { } internal class BasicRuleBD : BasicRule, IRuleClassBD { public BasicRuleBD() : base() { } public BasicRuleBD(Action action) : base(action) { } } internal class RuleSetBD : RuleSet, IRuleClassBD { } /// LocatedRuleSet loops through found items. When it's 0 or 1, LocatedRuleSet is an easy way to parse only if exists internal class LocatedRuleSetBD : LocatedRuleSet, IRuleClassBD { public LocatedRuleSetBD(By elementsLocator) : base(elementsLocator) { } } }