aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs6
-rw-r--r--MediaBrowser.Controller/Entities/ChildDefinition.cs22
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs46
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs2
5 files changed, 16 insertions, 62 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 695ea2583..d13e69fce 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -663,7 +663,7 @@ namespace MediaBrowser.Controller.Entities
return LibraryManager.ResolvePaths<Trailer>(files, null).Select(video =>
{
// Try to retrieve it from the db. If we don't find it, use the resolved version
- var dbItem = LibraryManager.RetrieveItem(video.Id, typeof(Trailer)) as Trailer;
+ var dbItem = LibraryManager.RetrieveItem(video.Id) as Trailer;
if (dbItem != null)
{
@@ -724,7 +724,7 @@ namespace MediaBrowser.Controller.Entities
return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio =>
{
// Try to retrieve it from the db. If we don't find it, use the resolved version
- var dbItem = LibraryManager.RetrieveItem(audio.Id, typeof(Audio.Audio)) as Audio.Audio;
+ var dbItem = LibraryManager.RetrieveItem(audio.Id) as Audio.Audio;
if (dbItem != null)
{
@@ -782,7 +782,7 @@ namespace MediaBrowser.Controller.Entities
return LibraryManager.ResolvePaths<Video>(files, null).Select(item =>
{
// Try to retrieve it from the db. If we don't find it, use the resolved version
- var dbItem = LibraryManager.RetrieveItem(item.Id, typeof(Video)) as Video;
+ var dbItem = LibraryManager.RetrieveItem(item.Id) as Video;
if (dbItem != null)
{
diff --git a/MediaBrowser.Controller/Entities/ChildDefinition.cs b/MediaBrowser.Controller/Entities/ChildDefinition.cs
deleted file mode 100644
index e8d68b5ea..000000000
--- a/MediaBrowser.Controller/Entities/ChildDefinition.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-
-namespace MediaBrowser.Controller.Entities
-{
- /// <summary>
- /// Class ChildDefinition
- /// </summary>
- public class ChildDefinition
- {
- /// <summary>
- /// Gets or sets the item id.
- /// </summary>
- /// <value>The item id.</value>
- public Guid ItemId { get; set; }
-
- /// <summary>
- /// Gets or sets the type.
- /// </summary>
- /// <value>The type.</value>
- public string Type { get; set; }
- }
-}
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;
}
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index b4eadfd3f..22972df0c 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -136,7 +136,7 @@ namespace MediaBrowser.Controller.Entities.Movies
return LibraryManager.ResolvePaths<Video>(files, null).Select(video =>
{
// Try to retrieve it from the db. If we don't find it, use the resolved version
- var dbItem = LibraryManager.RetrieveItem(video.Id, typeof(Video)) as Video;
+ var dbItem = LibraryManager.RetrieveItem(video.Id) as Video;
if (dbItem != null)
{
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index 1fef52fa2..0116f5d42 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -211,7 +211,7 @@ namespace MediaBrowser.Controller.Entities
return LibraryManager.ResolvePaths<Video>(files, null).Select(video =>
{
// Try to retrieve it from the db. If we don't find it, use the resolved version
- var dbItem = LibraryManager.RetrieveItem(video.Id, typeof(Video)) as Video;
+ var dbItem = LibraryManager.RetrieveItem(video.Id) as Video;
if (dbItem != null)
{