diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-27 23:04:26 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-27 23:04:26 -0500 |
| commit | 5880b34fbab464a3d70afa31267c2b3b05d27327 (patch) | |
| tree | d2d6bd2a661ec39f7c5fd600d23140ca7c75cf7e /MediaBrowser.Server.Implementations/Sync | |
| parent | 782fe92cf766c09c84200e9e2228e555e6644add (diff) | |
add SyncJobCreated event
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sync/SyncManager.cs | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index 71bc0e46b..5ead8f02b 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -49,7 +49,7 @@ namespace MediaBrowser.Server.Implementations.Sync private ISyncProvider[] _providers = { }; - public event EventHandler<GenericEventArgs<SyncJob>> SyncJobCreated; + public event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated; public event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled; public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config) @@ -103,14 +103,14 @@ namespace MediaBrowser.Server.Implementations.Sync var target = GetSyncTargets(request.UserId) .FirstOrDefault(i => string.Equals(request.TargetId, i.Id)); - + if (target == null) { throw new ArgumentException("Sync target not found."); } var jobId = Guid.NewGuid().ToString("N"); - + var job = new SyncJob { Id = jobId, @@ -149,26 +149,28 @@ namespace MediaBrowser.Server.Implementations.Sync await processor.SyncJobItems(jobItemsResult.Items, false, new Progress<double>(), CancellationToken.None) .ConfigureAwait(false); - if (SyncJobCreated != null) - { - EventHelper.FireEventIfNotNull(SyncJobCreated, this, new GenericEventArgs<SyncJob> - { - Argument = job - - }, _logger); - } - jobItemsResult = _repo.GetJobItems(new SyncJobItemQuery { Statuses = new List<SyncJobItemStatus> { SyncJobItemStatus.Queued, SyncJobItemStatus.Converting }, JobId = jobId }); - return new SyncJobCreationResult + var returnResult = new SyncJobCreationResult { Job = GetJob(jobId), JobItems = jobItemsResult.Items.ToList() }; + + if (SyncJobCreated != null) + { + EventHelper.FireEventIfNotNull(SyncJobCreated, this, new GenericEventArgs<SyncJobCreationResult> + { + Argument = returnResult + + }, _logger); + } + + return returnResult; } public Task UpdateJob(SyncJob job) |
