aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Session
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-16 19:35:11 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-16 19:35:11 -0400
commitca3a0c5dc9824844a4591b4b22822bb8351169ae (patch)
treed1fbdd496729dce7ffbfa01573cd3222ed998eea /MediaBrowser.Server.Implementations/Session
parentefeaa59512508b668fe568fcab583c9ea7457e91 (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.cs15
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));
}