New: Missing/Cutoff Unmet will update when an episode is grabbed

This commit is contained in:
Mark McDowall 2014-06-25 01:31:37 -07:00
parent 83207a0baf
commit cb291d30b3
8 changed files with 65 additions and 42 deletions

View file

@ -0,0 +1,46 @@
using NzbDrone.Api.Mapping;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Download;
using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.Messaging.Commands;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Tv;
namespace NzbDrone.Api.Episodes
{
public abstract class EpisodeModuleWithSignalR<TResource, TModel> : NzbDroneRestModuleWithSignalR<TResource, TModel>,
IHandle<EpisodeGrabbedEvent>,
IHandle<EpisodeDownloadedEvent>
where TResource : EpisodeResource, new()
where TModel : Episode
{
protected EpisodeModuleWithSignalR(ICommandExecutor commandExecutor)
: base(commandExecutor)
{
}
protected EpisodeModuleWithSignalR(ICommandExecutor commandExecutor, string resource)
: base(commandExecutor, resource)
{
}
public void Handle(EpisodeGrabbedEvent message)
{
foreach (var episode in message.Episode.Episodes)
{
var resource = episode.InjectTo<TResource>();
resource.Grabbed = true;
BroadcastResourceChange(ModelAction.Updated, resource);
}
}
public void Handle(EpisodeDownloadedEvent message)
{
foreach (var episode in message.Episode.Episodes)
{
BroadcastResourceChange(ModelAction.Updated, episode.Id);
}
}
}
}