diff options
Diffstat (limited to 'MediaBrowser.Model/Entities/Folder.cs')
| -rw-r--r-- | MediaBrowser.Model/Entities/Folder.cs | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/MediaBrowser.Model/Entities/Folder.cs b/MediaBrowser.Model/Entities/Folder.cs index edcb981de..293d7a990 100644 --- a/MediaBrowser.Model/Entities/Folder.cs +++ b/MediaBrowser.Model/Entities/Folder.cs @@ -1,7 +1,4 @@ using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
using System.Runtime.Serialization;
namespace MediaBrowser.Model.Entities
@@ -21,9 +18,6 @@ namespace MediaBrowser.Model.Entities [IgnoreDataMember]
public BaseItem[] Children { get; set; }
- [IgnoreDataMember]
- public IEnumerable<Folder> FolderChildren { get { return Children.OfType<Folder>(); } }
-
/// <summary>
/// Finds an item by ID, recursively
/// </summary>
@@ -36,17 +30,18 @@ namespace MediaBrowser.Model.Entities foreach (BaseItem item in Children)
{
- if (item.Id == id)
- {
- return item;
- }
- }
+ var folder = item as Folder;
- foreach (Folder folder in FolderChildren)
- {
- BaseItem item = folder.FindById(id);
+ if (folder != null)
+ {
+ var foundItem = folder.FindById(id);
- if (item != null)
+ if (foundItem != null)
+ {
+ return foundItem;
+ }
+ }
+ else if (item.Id == id)
{
return item;
}
@@ -67,17 +62,18 @@ namespace MediaBrowser.Model.Entities foreach (BaseItem item in Children)
{
- if (item.Path.Equals(path, StringComparison.OrdinalIgnoreCase))
- {
- return item;
- }
- }
+ var folder = item as Folder;
- foreach (Folder folder in FolderChildren)
- {
- BaseItem item = folder.FindByPath(path);
+ if (folder != null)
+ {
+ var foundItem = folder.FindByPath(path);
- if (item != null)
+ if (foundItem != null)
+ {
+ return foundItem;
+ }
+ }
+ else if (item.Path.Equals(path, StringComparison.OrdinalIgnoreCase))
{
return item;
}
|
