public async Task HandleAsync(AddMemberToOrganization command)
 => await _handler
 .Run(async() => await _organizationService.AddMemberAsync(command.OrganizationId,
                                                           command.MemberId, command.Role))
 .OnSuccess(async() =>
 {
     await _bus.PublishAsync(new MemberAddedToOrganization(command.Request.Id,
                                                           command.UserId, command.OrganizationId, command.MemberId, command.Role));
 })
 .OnCustomError(async ex => await _bus.PublishAsync(
                    new AddMemberToOrganizationRejected(command.Request.Id, command.UserId,
                                                        command.OrganizationId, command.MemberId, command.Role, ex.Code, ex.Message)))
 .OnError(async(ex, logger) =>
 {
     var message = $"Error when trying to add member: '{command.MemberId}' to the organization: '{command.OrganizationId}'.";
     logger.Error(ex, message);
     await _bus.PublishAsync(new AddMemberToOrganizationRejected(command.Request.Id, command.UserId,
                                                                 command.OrganizationId, command.MemberId, command.Role, OperationCodes.Error, message));
 })
 .ExecuteAsync();