diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-18 04:22:54 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-18 04:22:54 -0400 |
| commit | 7835d690a1ade4739171036cff335c86b5232d0e (patch) | |
| tree | 0704c6bd3bf3adf3c23c67951397674ac87b5636 /MediaBrowser.Model/Entities/BaseItem.cs | |
| parent | f32f000298114231f114f41b7c7c4534a0300de2 (diff) | |
Added a completely separate DTOBaseItem to remove the ApiBaseItemWrapper mess and shrink json output size.
Diffstat (limited to 'MediaBrowser.Model/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Model/Entities/BaseItem.cs | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/MediaBrowser.Model/Entities/BaseItem.cs b/MediaBrowser.Model/Entities/BaseItem.cs index c9d5b936b..506c051c5 100644 --- a/MediaBrowser.Model/Entities/BaseItem.cs +++ b/MediaBrowser.Model/Entities/BaseItem.cs @@ -1,11 +1,10 @@ using System;
using System.Collections.Generic;
-using System.Runtime.Serialization;
-using MediaBrowser.Model.Users;
+using System.Linq;
namespace MediaBrowser.Model.Entities
{
- public abstract class BaseItem : BaseEntity
+ public abstract class BaseItem : BaseEntity, IHasProviderIds
{
public string SortName { get; set; }
@@ -16,25 +15,25 @@ namespace MediaBrowser.Model.Entities public string Path { get; set; }
- [IgnoreDataMember]
public Folder Parent { get; set; }
public string LogoImagePath { get; set; }
+
public string ArtImagePath { get; set; }
+
public string ThumbnailImagePath { get; set; }
+
public string BannerImagePath { get; set; }
public IEnumerable<string> BackdropImagePaths { get; set; }
public string OfficialRating { get; set; }
- [IgnoreDataMember]
public string CustomRating { get; set; }
public string Overview { get; set; }
- public string Tagline { get; set; }
+ public IEnumerable<string> Taglines { get; set; }
- [IgnoreDataMember]
public IEnumerable<PersonInfo> People { get; set; }
public IEnumerable<string> Studios { get; set; }
@@ -44,7 +43,7 @@ namespace MediaBrowser.Model.Entities public string DisplayMediaType { get; set; }
public float? UserRating { get; set; }
- public int? RunTimeInMilliseconds { get; set; }
+ public long? RunTimeTicks { get; set; }
public string AspectRatio { get; set; }
public int? ProductionYear { get; set; }
@@ -61,54 +60,52 @@ namespace MediaBrowser.Model.Entities public Dictionary<string, string> ProviderIds { get; set; }
- /// <summary>
- /// Gets a provider id
- /// </summary>
- public string GetProviderId(MetadataProviders provider)
- {
- return GetProviderId(provider.ToString());
- }
+ public Dictionary<Guid, UserItemData> UserData { get; set; }
- /// <summary>
- /// Gets a provider id
- /// </summary>
- public string GetProviderId(string name)
+ public UserItemData GetUserData(User user)
{
- if (ProviderIds == null)
+ if (UserData == null || !UserData.ContainsKey(user.Id))
{
return null;
}
- return ProviderIds[name];
+ return UserData[user.Id];
}
- /// <summary>
- /// Sets a provider id
- /// </summary>
- public void SetProviderId(string name, string value)
+ public void AddUserData(User user, UserItemData data)
{
- if (ProviderIds == null)
+ if (UserData == null)
{
- ProviderIds = new Dictionary<string, string>();
+ UserData = new Dictionary<Guid, UserItemData>();
}
- ProviderIds[name] = value;
+ UserData[user.Id] = data;
}
/// <summary>
- /// Sets a provider id
+ /// Determines if a given user has access to this item
/// </summary>
- public void SetProviderId(MetadataProviders provider, string value)
+ internal bool IsParentalAllowed(User user)
{
- SetProviderId(provider.ToString(), value);
+ return true;
}
/// <summary>
- /// Determines if a given user has access to this item
+ /// Finds an item by ID, recursively
/// </summary>
- internal bool IsParentalAllowed(User user)
+ public virtual BaseItem FindItemById(Guid id)
{
- return true;
+ if (Id == id)
+ {
+ return this;
+ }
+
+ if (LocalTrailers != null)
+ {
+ return LocalTrailers.FirstOrDefault(i => i.Id == id);
+ }
+
+ return null;
}
}
}
|
