public SoldedProduct(IWarranty constructorWarranty, IWarranty extendedWarranty, IWarrantyRuleSetFactory warrantyRuleSetFactory) { _constructorWarranty = constructorWarranty ?? throw new ArgumentNullException(nameof(constructorWarranty)); _extendedWarranty = extendedWarranty ?? WarrantyExpired.Instance; _ = warrantyRuleSetFactory ?? throw new ArgumentNullException(nameof(warrantyRuleSetFactory)); _warrantyRuleSet = warrantyRuleSetFactory.Create (ClaimConstructorWarranty, ClaimExtendedWarranty); }
public ExtendedRule(Action <Action> claimAction, IWarrantyRuleSet nextHandler) : base(nextHandler) => (_claimAction) = (claimAction);
public WarrantyRuleSet(IWarrantyRuleSet nextHandler) => (_nextHandler, Claim) = (nextHandler, Forward);
public ConstructorRule(Action <Action> claimAction, IWarrantyRuleSet nextHandler) : base(nextHandler) => (_claimAction) = (claimAction);