diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-16 19:35:11 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-16 19:35:11 -0400 |
| commit | ca3a0c5dc9824844a4591b4b22822bb8351169ae (patch) | |
| tree | d1fbdd496729dce7ffbfa01573cd3222ed998eea /MediaBrowser.Server.Implementations/Session | |
| parent | efeaa59512508b668fe568fcab583c9ea7457e91 (diff) | |
fixes #592 - Add options to import missing and future episodes
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Session/SessionManager.cs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 3cbd54c7b..265cab1e7 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -473,14 +473,17 @@ namespace MediaBrowser.Server.Implementations.Session { var session = GetSessionForRemoteControl(sessionId); + var items = command.ItemIds.Select(i => _libraryManager.GetItemById(new Guid(i))) + .ToList(); + + if (items.Any(i => i.LocationType == LocationType.Virtual)) + { + throw new ArgumentException("Virtual items are not playable."); + } + if (command.PlayCommand != PlayCommand.PlayNow) { - if (command.ItemIds.Any(i => - { - var item = _libraryManager.GetItemById(new Guid(i)); - - return !session.QueueableMediaTypes.Contains(item.MediaType, StringComparer.OrdinalIgnoreCase); - })) + if (items.Any(i => !session.QueueableMediaTypes.Contains(i.MediaType, StringComparer.OrdinalIgnoreCase))) { throw new ArgumentException(string.Format("Session {0} is unable to queue the requested media type.", session.Id)); } |
