aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
authorTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
committerTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
commit8fd5a8af8d8b6d371a0a2c44d0c7c6809410125c (patch)
treec23e4a4afc33c35318eb2a26f51b28d3a6bb35da /MediaBrowser.Controller/Entities/BaseItem.cs
parent0fa55fd6de42b683bcdcc0c632f4db1436bca36d (diff)
parentf1ad56a7deaef79f6dcb2b871de727b8e4af3371 (diff)
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs43
1 files changed, 41 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 5d7c02f48..d9dbf265f 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -235,6 +235,15 @@ namespace MediaBrowser.Controller.Entities
}
}
+ [IgnoreDataMember]
+ public virtual bool EnableAlphaNumericSorting
+ {
+ get
+ {
+ return true;
+ }
+ }
+
/// <summary>
/// This is just a helper for convenience
/// </summary>
@@ -439,6 +448,11 @@ namespace MediaBrowser.Controller.Entities
{
if (Name == null) return null; //some items may not have name filled in properly
+ if (!EnableAlphaNumericSorting)
+ {
+ return Name.TrimStart();
+ }
+
var sortable = Name.Trim().ToLower();
sortable = ConfigurationManager.Configuration.SortRemoveCharacters.Aggregate(sortable, (current, search) => current.Replace(search.ToLower(), string.Empty));
@@ -464,12 +478,37 @@ namespace MediaBrowser.Controller.Entities
return sortable;
}
+ public Guid ParentId { get; set; }
+
+ private Folder _parent;
/// <summary>
/// Gets or sets the parent.
/// </summary>
/// <value>The parent.</value>
- [IgnoreDataMember]
- public Folder Parent { get; set; }
+ public Folder Parent
+ {
+ get
+ {
+ if (_parent != null)
+ {
+ return _parent;
+ }
+
+ if (ParentId != Guid.Empty)
+ {
+ return LibraryManager.GetItemById(ParentId) as Folder;
+ }
+
+ return null;
+ }
+ set { _parent = value; }
+ }
+
+ public void SetParent(Folder parent)
+ {
+ Parent = parent;
+ ParentId = parent == null ? Guid.Empty : parent.Id;
+ }
[IgnoreDataMember]
public IEnumerable<Folder> Parents