public async Task <GetTransferRequestsResponse> Handle(GetTransferRequestsQuery message)
        {
            var transferRequests = await _employerCommitmentApi.GetTransferRequests(message.AccountHashedId);

            var accountIds = transferRequests
                             .SelectMany(r => new[] { r.HashedSendingEmployerAccountId, r.HashedReceivingEmployerAccountId })
                             .Select(h => _hashingService.DecodeValue(h))
                             .ToList();

            var accounts = await _db.Value.Accounts
                           .Where(a => accountIds.Contains(a.Id))
                           .ProjectTo <AccountDto>(_configurationProvider)
                           .ToDictionaryAsync(a => a.HashedId);

            var transferRequestsData = transferRequests
                                       .Select(r => new TransferRequestDto
            {
                CreatedDate             = r.CreatedOn,
                ReceiverAccount         = accounts[r.HashedReceivingEmployerAccountId],
                SenderAccount           = accounts[r.HashedSendingEmployerAccountId],
                Status                  = r.Status,
                TransferCost            = r.TransferCost,
                TransferRequestHashedId = r.HashedTransferRequestId
            })
                                       .OrderBy(r => r.ReceiverAccount.Id == message.AccountId.Value ? r.SenderAccount.Name : r.ReceiverAccount.Name)
                                       .ThenBy(r => r.CreatedDate)
                                       .ToList();

            return(new GetTransferRequestsResponse
            {
                TransferRequests = transferRequestsData
            });
        }