protected override async Task HandleCore(RemovePayeFromAccountCommand message) { await ValidateMessage(message); var accountId = _hashingService.DecodeValue(message.HashedAccountId); await AddAuditEntry(message.UserId, message.PayeRef, accountId.ToString()); await _payeRepository.RemovePayeFromAccount(accountId, message.PayeRef); var loggedInPerson = await _membershipRepository.GetCaller(accountId, message.UserId); await QueuePayeRemovedMessage(message.PayeRef, accountId, message.CompanyName, loggedInPerson.FullName(), loggedInPerson.UserRef); await NotifyPayeSchemeRemoved(message.HashedAccountId, message.PayeRef); }