Example #1
0
        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);
        }
Example #2
0
 public ExtendedRule(Action <Action> claimAction, IWarrantyRuleSet nextHandler)
     : base(nextHandler) => (_claimAction) = (claimAction);
Example #3
0
 public WarrantyRuleSet(IWarrantyRuleSet nextHandler)
 => (_nextHandler, Claim) = (nextHandler, Forward);
 public ConstructorRule(Action <Action> claimAction, IWarrantyRuleSet nextHandler)
     : base(nextHandler) => (_claimAction) = (claimAction);