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; }