public RegisterWireTransferCommandHandler(IWireTransferRepository repository, IAccountUniquenessChecker accountUniquenessChecker, IBeneficiaryAccountBalance beneficiaryAccountBalance, IMediator mediator) { _repository = repository; _mediator = mediator; _accountUniquenessChecker = accountUniquenessChecker; _beneficiaryAccountBalance = beneficiaryAccountBalance; }
public static async Task <WireTransfer> AddAmountTransferOnBeneficiaryBalanceAsync(WireTransfer wireTransfer, IBeneficiaryAccountBalance beneficiaryAccountBalance, IAccountUniquenessChecker accountUniquenessChecker) { wireTransfer.BeneficiaryBankAccount = await BankAccount.BeneficiaryUniquenessChecker( wireTransfer.BeneficiaryBankAccount, accountUniquenessChecker); wireTransfer.TransactionId = new TransactionId(await beneficiaryAccountBalance.AddAmountToBeneficiaryBalanceAsync(wireTransfer)); return(wireTransfer); }