public async Task <Either <BaseError, List <EmbyMediaSource> > > Handle( SynchronizeEmbyMediaSources request, CancellationToken cancellationToken) { List <EmbyMediaSource> mediaSources = await _mediaSourceRepository.GetAllEmby(); foreach (EmbyMediaSource mediaSource in mediaSources) { // await _channel.WriteAsync(new SynchronizeEmbyAdminUserId(mediaSource.Id), cancellationToken); await _channel.WriteAsync(new SynchronizeEmbyLibraries(mediaSource.Id), cancellationToken); } return(mediaSources); }
private async Task SynchronizeSources( SynchronizeEmbyMediaSources request, CancellationToken cancellationToken) { using IServiceScope scope = _serviceScopeFactory.CreateScope(); IMediator mediator = scope.ServiceProvider.GetRequiredService <IMediator>(); Either <BaseError, List <EmbyMediaSource> > result = await mediator.Send(request, cancellationToken); result.Match( sources => { if (sources.Any()) { _logger.LogInformation("Successfully synchronized emby media sources"); } }, error => { _logger.LogWarning( "Unable to synchronize emby media sources: {Error}", error.Value); }); }