aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Entities')
-rw-r--r--MediaBrowser.Model/Entities/BaseItem.cs15
-rw-r--r--MediaBrowser.Model/Entities/Folder.cs4
2 files changed, 16 insertions, 3 deletions
diff --git a/MediaBrowser.Model/Entities/BaseItem.cs b/MediaBrowser.Model/Entities/BaseItem.cs
index 01a36593b..ef0ba01dc 100644
--- a/MediaBrowser.Model/Entities/BaseItem.cs
+++ b/MediaBrowser.Model/Entities/BaseItem.cs
@@ -58,7 +58,10 @@ namespace MediaBrowser.Model.Entities
public string Overview { get; set; }
public List<string> Taglines { get; set; }
- public List<PersonInfo> People { get; set; }
+ /// <summary>
+ /// Using a Dictionary to prevent duplicates
+ /// </summary>
+ public Dictionary<string,PersonInfo> People { get; set; }
public List<string> Studios { get; set; }
@@ -152,5 +155,15 @@ namespace MediaBrowser.Model.Entities
{
return (DateTime.Now - DateCreated).TotalDays < user.RecentItemDays;
}
+
+ public void AddPerson(PersonInfo person)
+ {
+ if (People == null)
+ {
+ People = new Dictionary<string, PersonInfo>(StringComparer.OrdinalIgnoreCase);
+ }
+
+ People[person.Name] = person;
+ }
}
}
diff --git a/MediaBrowser.Model/Entities/Folder.cs b/MediaBrowser.Model/Entities/Folder.cs
index 5f28a9b8f..4ea3afea3 100644
--- a/MediaBrowser.Model/Entities/Folder.cs
+++ b/MediaBrowser.Model/Entities/Folder.cs
@@ -97,7 +97,7 @@ namespace MediaBrowser.Model.Entities
{
if (c.People != null)
{
- return c.People.Any(p => p.Name.Equals(person, StringComparison.OrdinalIgnoreCase));
+ return c.People.ContainsKey(person);
}
return false;
@@ -114,7 +114,7 @@ namespace MediaBrowser.Model.Entities
{
if (c.People != null)
{
- return c.People.Any(p => p.Name.Equals(person, StringComparison.OrdinalIgnoreCase) && p.Type == personType);
+ return c.People.ContainsKey(person) && c.People[person].Type.Equals(personType, StringComparison.OrdinalIgnoreCase);
}
return false;