aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Folder.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-26 12:08:16 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-26 12:08:16 -0400
commit6025a89235f0677e38992abee49e914b47e762cb (patch)
treeeb584963d579027ffbce725dad55fa9ca302dce2 /MediaBrowser.Controller/Entities/Folder.cs
parent934584313eb1ce97ba26eba343dc1b3cd53f36dc (diff)
read 3d format from xml
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs46
1 files changed, 11 insertions, 35 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 4689a4358..f6b1194bd 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -3,7 +3,6 @@ using MediaBrowser.Common.Progress;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Localization;
using MediaBrowser.Controller.Persistence;
-using MediaBrowser.Controller.Reflection;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Entities;
using System;
@@ -22,8 +21,6 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public class Folder : BaseItem
{
- private static readonly TypeMapper TypeMapper = new TypeMapper();
-
/// <summary>
/// Gets a value indicating whether this instance is folder.
/// </summary>
@@ -118,12 +115,7 @@ namespace MediaBrowser.Controller.Entities
await LibraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false);
- await ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => new ChildDefinition
- {
- ItemId = i.Id,
- Type = i.GetType().FullName
-
- }), cancellationToken).ConfigureAwait(false);
+ await ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => i.Id), cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -161,12 +153,7 @@ namespace MediaBrowser.Controller.Entities
LibraryManager.ReportItemRemoved(item);
- return ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => new ChildDefinition
- {
- ItemId = i.Id,
- Type = i.GetType().FullName
-
- }), cancellationToken);
+ return ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => i.Id), cancellationToken);
}
#region Indexing
@@ -729,12 +716,7 @@ namespace MediaBrowser.Controller.Entities
}
}
- await ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => new ChildDefinition
- {
- ItemId = i.Id,
- Type = i.GetType().FullName
-
- }), cancellationToken).ConfigureAwait(false);
+ await ItemRepository.SaveChildren(Id, _children.Values.ToList().Select(i => i.Id), cancellationToken).ConfigureAwait(false);
//force the indexes to rebuild next time
IndexCache.Clear();
@@ -872,26 +854,20 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="child">The child.</param>
/// <returns>BaseItem.</returns>
- private BaseItem RetrieveChild(ChildDefinition child)
+ private BaseItem RetrieveChild(Guid child)
{
- var type = child.Type;
+ var item = LibraryManager.RetrieveItem(child);
- var itemType = TypeMapper.GetType(type);
-
- if (itemType == null)
+ if (item != null)
{
- Logger.Error("Cannot find type {0}. Probably belongs to plug-in that is no longer loaded.", type);
- return null;
- }
-
- var item = LibraryManager.RetrieveItem(child.ItemId, itemType);
+ if (item is IByReferenceItem)
+ {
+ return LibraryManager.GetOrAddByReferenceItem(item);
+ }
- if (item is IByReferenceItem)
- {
- return LibraryManager.GetOrAddByReferenceItem(item);
+ item.Parent = this;
}
- item.Parent = this;
return item;
}