Esempio n. 1
0
 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);
        }