Exemplo n.º 1
0
    /// <inheritdoc />
    public async Task <EventHandlerId> ResolveId(MicroserviceAddress runtime, EventHandlerIdOrAlias idOrAlias)
    {
        if (!idOrAlias.IsAlias)
        {
            return(idOrAlias.Id);
        }
        var statuses = await _managementClient.GetAll(runtime).ConfigureAwait(false);

        var status = statuses.FirstOrDefault(_ => WithAlias(_, idOrAlias));

        if (status == default)
        {
            throw new NoEventHandlerWithId(idOrAlias.Alias);
        }
        return(status.Id);
    }
Exemplo n.º 2
0
 static bool WithAlias(EventHandlerStatus status, EventHandlerIdOrAlias idOrAlias)
 => status.HasAlias && status.Alias.Equals(idOrAlias.Alias);
Exemplo n.º 3
0
 /// <summary>
 /// Gets the <see cref="EventHandlerId"/>.
 /// </summary>
 /// <param name="runtime">The Runtime microservice address.</param>
 /// <param name="idOrAlias">The Event Handler Id or Alias.</param>
 /// <returns>A <see cref="Task{TResult}"/> that, when resolved, returns the <see cref="EventHandlerId"/>.</returns>
 protected Task <EventHandlerId> GetEventHandlerId(MicroserviceAddress runtime, EventHandlerIdOrAlias idOrAlias)
 => _eventHandlerIdResolver.ResolveId(runtime, idOrAlias);