// TODO :this should be done by DI framework and cleaned up from this class public OrderProcessor( ICommissionHandler commissionHandler, IPackageSlipPrinter packageSlipPrinter, IEmailClient emailClient, IMembershipRepository membershipRepository, ISpecialRuleRepository specialRuleRepository) { this.commissionHandler = commissionHandler; this.packageSlipPrinter = packageSlipPrinter; this.emailClient = emailClient; this.membershipRepository = membershipRepository; this.specialRuleRepository = specialRuleRepository; }
public DigitalProductPurchaseHandler(ISpecialRuleRepository specialRulesRepository) { this.specialRulesRepository = specialRulesRepository ?? throw new ArgumentNullException(nameof(specialRulesRepository)); }