public CreateAccountHandler(IUserReadRepository userReadRepository, IAccountReadRepository accountReadRepository, IAccountWriteRepository accountWriteRepository, IMapper mapper)
 {
     _userReadRepository     = userReadRepository ?? throw new ArgumentNullException(nameof(userReadRepository));
     _accountReadRepository  = accountReadRepository ?? throw new ArgumentNullException(nameof(accountReadRepository));
     _accountWriteRepository = accountWriteRepository ?? throw new ArgumentNullException(nameof(accountWriteRepository));
     _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
 }
 public DebitAccountCommandHandler(
     IAccountReadRepository accountReadRepository,
     IAccountWriteRepository accountWriteRepository,
     ITransactionWriteRepository transactionWriteRepository)
 {
     _accountReadRepository      = accountReadRepository;
     _accountWriteRepository     = accountWriteRepository;
     _transactionWriteRepository = transactionWriteRepository;
 }
 public GetAccountListHandler(IAccountReadRepository accountRepository, IMapper mapper)
 {
     _accountRepository = accountRepository ?? throw new ArgumentNullException(nameof(accountRepository));
     _mapper            = mapper ?? throw new ArgumentNullException(nameof(mapper));
 }