public RequiredLevyAmountFundingSourceService(
     IPaymentProcessor processor,
     IMapper mapper,
     IDataCache <CalculatedRequiredLevyAmount> requiredPaymentsCache,
     ILevyFundingSourceRepository levyFundingSourceRepository,
     ILevyBalanceService levyBalanceService,
     IPaymentLogger paymentLogger,
     IDataCache <bool> monthEndCache,
     IDataCache <LevyAccountModel> levyAccountCache,
     IDataCache <List <EmployerProviderPriorityModel> > employerProviderPriorities,
     IDataCache <List <string> > refundSortKeysCache,
     IDataCache <List <TransferPaymentSortKeyModel> > transferPaymentSortKeysCache,
     IDataCache <List <RequiredPaymentSortKeyModel> > requiredPaymentSortKeysCache,
     IGenerateSortedPaymentKeys generateSortedPaymentKeys)
 {
     this.processor                    = processor ?? throw new ArgumentNullException(nameof(processor));
     this.mapper                       = mapper ?? throw new ArgumentNullException(nameof(mapper));
     this.requiredPaymentsCache        = requiredPaymentsCache ?? throw new ArgumentNullException(nameof(requiredPaymentsCache));
     this.levyFundingSourceRepository  = levyFundingSourceRepository ?? throw new ArgumentNullException(nameof(levyFundingSourceRepository));
     this.levyBalanceService           = levyBalanceService ?? throw new ArgumentNullException(nameof(levyBalanceService));
     this.paymentLogger                = paymentLogger ?? throw new ArgumentNullException(nameof(paymentLogger));
     this.monthEndCache                = monthEndCache ?? throw new ArgumentNullException(nameof(monthEndCache));
     this.levyAccountCache             = levyAccountCache ?? throw new ArgumentNullException(nameof(levyAccountCache));
     this.employerProviderPriorities   = employerProviderPriorities ?? throw new ArgumentNullException(nameof(employerProviderPriorities));
     this.refundSortKeysCache          = refundSortKeysCache ?? throw new ArgumentNullException(nameof(refundSortKeysCache));
     this.transferPaymentSortKeysCache = transferPaymentSortKeysCache ?? throw new ArgumentNullException(nameof(transferPaymentSortKeysCache));
     this.requiredPaymentSortKeysCache = requiredPaymentSortKeysCache ?? throw new ArgumentNullException(nameof(requiredPaymentSortKeysCache));
     this.generateSortedPaymentKeys    = generateSortedPaymentKeys ?? throw new ArgumentNullException(nameof(generateSortedPaymentKeys));
 }
 protected SubmissionEventHandler(IActorProxyFactory proxyFactory, ILevyFundingSourceRepository repository,
                                  IPaymentLogger logger, IExecutionContext executionContext, ILevyMessageRoutingService levyMessageRoutingService)
 {
     this.proxyFactory              = proxyFactory ?? throw new ArgumentNullException(nameof(proxyFactory));
     this.repository                = repository ?? throw new ArgumentNullException(nameof(repository));
     this.logger                    = logger ?? throw new ArgumentNullException(nameof(logger));
     this.executionContext          = executionContext ?? throw new ArgumentNullException(nameof(executionContext));
     this.levyMessageRoutingService = levyMessageRoutingService ?? throw new ArgumentNullException(nameof(levyMessageRoutingService));
 }
Exemple #3
0
 public ManageLevyAccountBalanceService(IAccountApiClient accountApiClient,
                                        IPaymentLogger logger,
                                        ILevyAccountBulkCopyRepository levyAccountBulkWriter,
                                        ILevyFundingSourceRepository levyFundingSourceRepository,
                                        int batchSize,
                                        IEndpointInstanceFactory endpointInstanceFactory)
 {
     this.accountApiClient            = accountApiClient ?? throw new ArgumentNullException(nameof(accountApiClient));
     this.logger                      = logger ?? throw new ArgumentNullException(nameof(logger));
     this.levyAccountBulkWriter       = levyAccountBulkWriter ?? throw new ArgumentNullException(nameof(levyAccountBulkWriter));
     this.levyFundingSourceRepository = levyFundingSourceRepository ?? throw new ArgumentNullException(nameof(levyFundingSourceRepository));
     this.batchSize                   = batchSize;
     this.endpointInstanceFactory     = endpointInstanceFactory ?? throw new ArgumentNullException(nameof(endpointInstanceFactory));
 }
Exemple #4
0
 public LevyFundedService(
     ActorService actorService,
     ActorId actorId,
     IPaymentLogger paymentLogger,
     ITelemetry telemetry,
     ILifetimeScope lifetimeScope,
     ILevyFundingSourceRepository levyFundingSourceRepository)
     : base(actorService, actorId)
 {
     this.paymentLogger = paymentLogger;
     this.telemetry     = telemetry;
     this.lifetimeScope = lifetimeScope;
     this.levyFundingSourceRepository = levyFundingSourceRepository;
 }
        public ManageLevyAccountBalanceService(ILevyFundingSourceRepository repository,
                                               IAccountApiClient accountApiClient,
                                               IPaymentLogger logger,
                                               ILevyAccountBulkCopyRepository levyAccountBulkWriter,
                                               int batchSize,
                                               IEndpointInstanceFactory endpointInstanceFactory)
        {
            this.repository              = repository;
            this.accountApiClient        = accountApiClient;
            this.logger                  = logger;
            this.levyAccountBulkWriter   = levyAccountBulkWriter;
            this.batchSize               = batchSize;
            this.endpointInstanceFactory = endpointInstanceFactory;

            retryPolicy = Policy.Handle <Exception>().WaitAndRetryAsync(5, i => TimeSpan.FromMinutes(1));
        }
 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));
 }
 public SubmissionFailedEventHandler(IActorProxyFactory proxyFactory, ILevyFundingSourceRepository repository,
                                     IPaymentLogger logger, IExecutionContext executionContext, ILevyMessageRoutingService levyMessageRoutingService) : base(proxyFactory, repository, logger, executionContext, levyMessageRoutingService)
 {
 }
Exemple #8
0
 public PeriodEndService(ILevyFundingSourceRepository repository, IPaymentLogger logger)
 {
     this.repository = repository ?? throw new ArgumentNullException(nameof(repository));
     this.logger     = logger ?? throw new ArgumentNullException(nameof(logger));
 }