diff --git a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
index c5e5d2c86e..845b7bcfec 100644
--- a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
@@ -168,19 +168,15 @@ namespace MediaBrowser.Api.HttpHandlers
string id = QueryString["id"];
string personName = QueryString["personname"];
- string imageIndex = QueryString["index"];
-
- BaseItem item;
if (!string.IsNullOrEmpty(personName))
{
- item = Kernel.Instance.ItemController.GetPerson(personName);
- }
- else
- {
- item = ApiService.GetItemById(QueryString["id"]);
+ return Kernel.Instance.ItemController.GetPerson(personName).PrimaryImagePath;
}
+ BaseItem item = ApiService.GetItemById(QueryString["id"]);
+
+ string imageIndex = QueryString["index"];
int index = string.IsNullOrEmpty(imageIndex) ? 0 : int.Parse(imageIndex);
return GetImagePathFromTypes(item, ImageType, index);
diff --git a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
index 3c1a0ecf3a..c70ad39ca6 100644
--- a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
@@ -1,11 +1,10 @@
using MediaBrowser.Controller;
-using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class PersonHandler : ItemHandler
+ public class PersonHandler : JsonHandler
{
- protected override BaseItem ItemToSerialize
+ protected sealed override object ObjectToSerialize
{
get
{
diff --git a/MediaBrowser.Model/Entities/BaseEntity.cs b/MediaBrowser.Model/Entities/BaseEntity.cs
new file mode 100644
index 0000000000..3d1f6952b1
--- /dev/null
+++ b/MediaBrowser.Model/Entities/BaseEntity.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace MediaBrowser.Model.Entities
+{
+ ///
+ /// Provides a base entity for all of our types
+ ///
+ public abstract class BaseEntity
+ {
+ public string Name { get; set; }
+
+ public Guid Id { get; set; }
+
+ public string PrimaryImagePath { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Entities/BaseItem.cs b/MediaBrowser.Model/Entities/BaseItem.cs
index ebcb16fd70..69dcec2a33 100644
--- a/MediaBrowser.Model/Entities/BaseItem.cs
+++ b/MediaBrowser.Model/Entities/BaseItem.cs
@@ -4,13 +4,10 @@ using System.Runtime.Serialization;
namespace MediaBrowser.Model.Entities
{
- public abstract class BaseItem
+ public abstract class BaseItem : BaseEntity
{
- public string Name { get; set; }
public string SortName { get; set; }
- public Guid Id { get; set; }
-
public DateTime DateCreated { get; set; }
public DateTime DateModified { get; set; }
@@ -25,7 +22,6 @@ namespace MediaBrowser.Model.Entities
[IgnoreDataMember]
public Folder Parent { get; set; }
- public string PrimaryImagePath { get; set; }
public string LogoImagePath { get; set; }
public string ArtImagePath { get; set; }
public string ThumbnailImagePath { get; set; }
diff --git a/MediaBrowser.Model/Entities/Genre.cs b/MediaBrowser.Model/Entities/Genre.cs
index 79dea52be3..0ac6c9e38c 100644
--- a/MediaBrowser.Model/Entities/Genre.cs
+++ b/MediaBrowser.Model/Entities/Genre.cs
@@ -1,7 +1,7 @@
namespace MediaBrowser.Model.Entities
{
- public class Genre : BaseItem
+ public class Genre : BaseEntity
{
}
}
diff --git a/MediaBrowser.Model/Entities/Person.cs b/MediaBrowser.Model/Entities/Person.cs
index 93f541a18e..831da4f658 100644
--- a/MediaBrowser.Model/Entities/Person.cs
+++ b/MediaBrowser.Model/Entities/Person.cs
@@ -4,7 +4,7 @@ namespace MediaBrowser.Model.Entities
///
/// This is the full Person object that can be retrieved with all of it's data.
///
- public class Person : BaseItem
+ public class Person : BaseEntity
{
public PersonType PersonType { get; set; }
}
diff --git a/MediaBrowser.Model/Entities/Studio.cs b/MediaBrowser.Model/Entities/Studio.cs
index da9582aeda..16b0bc5373 100644
--- a/MediaBrowser.Model/Entities/Studio.cs
+++ b/MediaBrowser.Model/Entities/Studio.cs
@@ -1,7 +1,7 @@
namespace MediaBrowser.Model.Entities
{
- public class Studio : BaseItem
+ public class Studio : BaseEntity
{
}
}
diff --git a/MediaBrowser.Model/Entities/Year.cs b/MediaBrowser.Model/Entities/Year.cs
index 6c25f2ac5e..359bb6aaf8 100644
--- a/MediaBrowser.Model/Entities/Year.cs
+++ b/MediaBrowser.Model/Entities/Year.cs
@@ -1,7 +1,7 @@
namespace MediaBrowser.Model.Entities
{
- public class Year : BaseItem
+ public class Year : BaseEntity
{
}
}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 9485692d4b..8574ccf9fd 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -35,6 +35,7 @@
+
diff --git a/MediaBrowser.Model/Users/User.cs b/MediaBrowser.Model/Users/User.cs
index 3761d981d4..63698dc857 100644
--- a/MediaBrowser.Model/Users/User.cs
+++ b/MediaBrowser.Model/Users/User.cs
@@ -4,7 +4,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Users
{
- public class User : BaseItem
+ public class User : BaseEntity
{
public string MaxParentalRating { get; set; }