protected override async Task HandleCore(AddPayeToAccountCommand message)
        {
            await ValidateMessage(message);

            var accountId = _hashingService.DecodeValue(message.HashedAccountId);

            await _payeRepository.AddPayeToAccount(
                new Paye
            {
                AccessToken  = message.AccessToken,
                RefreshToken = message.RefreshToken,
                AccountId    = accountId,
                EmpRef       = message.Empref,
                RefName      = message.EmprefName,
                Aorn         = message.Aorn
            }
                );

            var userResponse = await _mediator.SendAsync(new GetUserByRefQuery { UserRef = message.ExternalUserId });

            await AddAuditEntry(message, accountId);

            await AddPayeScheme(message.Empref, accountId, userResponse.User.FullName, userResponse.User.UserRef, message.Aorn, message.EmprefName, userResponse.User.CorrelationId);

            await NotifyPayeSchemeAdded(message.HashedAccountId, message.Empref);
        }