Added ParentLogoItemId to indicate what parent item has a logo

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti 2012-08-01 13:20:22 -04:00
parent a7bead51b2
commit 00c22a3454
2 changed files with 32 additions and 2 deletions

View File

@ -31,9 +31,14 @@ namespace MediaBrowser.Api
UserItemData = Kernel.Instance.GetUserItemData(userId, item.Id), UserItemData = Kernel.Instance.GetUserItemData(userId, item.Id),
Type = item.GetType().Name, Type = item.GetType().Name,
IsFolder = (item is Folder), IsFolder = (item is Folder),
ParentId = item.Parent == null ? Guid.Empty : item.Parent.Id ParentLogoItemId = GetParentLogoItemId(item)
}; };
if (item.Parent != null)
{
wrapper.ParentId = item.Parent.Id;
}
if (includeChildren) if (includeChildren)
{ {
var folder = item as Folder; var folder = item as Folder;
@ -46,5 +51,25 @@ namespace MediaBrowser.Api
return wrapper; return wrapper;
} }
private static Guid? GetParentLogoItemId(BaseItem item)
{
if (string.IsNullOrEmpty(item.LogoImagePath))
{
var parent = item.Parent;
while (parent != null)
{
if (!string.IsNullOrEmpty(parent.LogoImagePath))
{
return parent.Id;
}
parent = parent.Parent;
}
}
return null;
}
} }
} }

View File

@ -26,7 +26,7 @@ namespace MediaBrowser.Model.Entities
public bool IsFolder { get; set; } public bool IsFolder { get; set; }
public Guid ParentId { get; set; } public Guid? ParentId { get; set; }
public string Type { get; set; } public string Type { get; set; }
@ -39,5 +39,10 @@ namespace MediaBrowser.Model.Entities
{ {
return Type.Equals(type, StringComparison.OrdinalIgnoreCase); return Type.Equals(type, StringComparison.OrdinalIgnoreCase);
} }
/// <summary>
/// If the item does not have a logo, this will hold the Id of the Parent that has one.
/// </summary>
public Guid? ParentLogoItemId { get; set; }
} }
} }