public TransferFundingSourceEventGenerationService( IPaymentLogger paymentLogger, IMapper mapper, IDataCache <bool> monthEndCache, IDataCache <LevyAccountModel> levyAccountCache, ILevyBalanceService levyBalanceService, IFundingSourcePaymentEventBuilder fundingSourcePaymentEventBuilder, ILevyTransactionBatchStorageService levyTransactionBatchStorageService ) { this.paymentLogger = paymentLogger ?? throw new ArgumentNullException(nameof(paymentLogger)); this.mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); this.monthEndCache = monthEndCache ?? throw new ArgumentNullException(nameof(monthEndCache)); this.levyAccountCache = levyAccountCache ?? throw new ArgumentNullException(nameof(levyAccountCache)); this.levyBalanceService = levyBalanceService ?? throw new ArgumentNullException(nameof(levyBalanceService)); this.fundingSourcePaymentEventBuilder = fundingSourcePaymentEventBuilder ?? throw new ArgumentNullException(nameof(fundingSourcePaymentEventBuilder)); this.levyTransactionBatchStorageService = levyTransactionBatchStorageService ?? throw new ArgumentNullException(nameof(levyTransactionBatchStorageService)); }
public FundingSourceEventGenerationService( IPaymentLogger logger, IFundingSourceDataContext dataContext, ILevyBalanceService levyBalanceService, ILevyFundingSourceRepository levyFundingSourceRepository, IDataCache <LevyAccountModel> levyAccountCache, ICalculatedRequiredLevyAmountPrioritisationService calculatedRequiredLevyAmountPrioritisationService, IFundingSourcePaymentEventBuilder fundingSourcePaymentEventBuilder ) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.dataContext = dataContext ?? throw new ArgumentNullException(nameof(dataContext)); this.levyBalanceService = levyBalanceService ?? throw new ArgumentNullException(nameof(levyBalanceService)); this.levyFundingSourceRepository = levyFundingSourceRepository ?? throw new ArgumentNullException(nameof(levyFundingSourceRepository)); this.levyAccountCache = levyAccountCache ?? throw new ArgumentNullException(nameof(levyAccountCache)); this.calculatedRequiredLevyAmountPrioritisationService = calculatedRequiredLevyAmountPrioritisationService ?? throw new ArgumentNullException(nameof(calculatedRequiredLevyAmountPrioritisationService)); this.fundingSourcePaymentEventBuilder = fundingSourcePaymentEventBuilder ?? throw new ArgumentNullException(nameof(fundingSourcePaymentEventBuilder)); }