public List <TypeOfActionAgainstRule> ExcuteRule(TypeOfRuleEnum rule) { var video = new VideoRule(null, rule); var newMemberShip = new NewMemberShip(video, rule); var upgradeMemberShip = new UpgradeMemberShip(newMemberShip, rule); var book = new BookRule(upgradeMemberShip, rule); var ruleChain = new PhysicalProductRule(book, rule); return(ruleChain.VerifyRuleAndProcess()); }
public ProcessOrder(ProcessOrder nextRule, TypeOfRuleEnum typeOfRule) { TypeofProduct = typeOfRule; NextRule = nextRule; }
public UpgradeMemberShip(ProcessOrder processOrder, TypeOfRuleEnum typeOfRule) : base(processOrder, typeOfRule) { }
public VideoRule(ProcessOrder processOrder, TypeOfRuleEnum typeOfRule) : base(processOrder, typeOfRule) { }
internal BookRule(ProcessOrder processOrder, TypeOfRuleEnum typeOfRule) : base(processOrder, typeOfRule) { }
internal PhysicalProductRule(ProcessOrder processOrder, TypeOfRuleEnum typeOfRule) : base(processOrder, typeOfRule) { }