Skip to content

Instantly share code, notes, and snippets.

@Morodar
Last active September 30, 2020 18:11
namespace Morodar.TS3.Service.Handlers.Notification
{
// Code simplified for demonstration
public class ApplicationStartedHandler : INotificationHandler<ApplicationStartedNotification>
{
private readonly IRepository<ServerConfig> serverConfigRepository;
private readonly ITeamSpeakClientRepository teamSpeakClientRepository;
public ApplicationStartedHandler(
IRepository<ServerConfig> serverConfigRepository,
ITeamSpeakClientRepository teamSpeakClientRepository)
{
this.serverConfigRepository = serverConfigRepository;
this.teamSpeakClientRepository = teamSpeakClientRepository;
}
public async Task Handle(
ApplicationStartedNotification notification,
CancellationToken cancellationToken)
{
var allConfigs = await serverConfigRepository.GetAllAsync();
await Task.WhenAll(
allConfigs.Select(
config => teamSpeakClientRepository.CreateClientAsync(config)));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment