aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-02 13:37:49 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-02 13:37:49 -0400
commitb4dd8a210629bc74445f106e2379b986af9520c5 (patch)
tree69dfb0fb565f3e2f47fad029fda11e24d75b54c6 /MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
parentdcc057f3242fb44a15006e5b13a2c7a2662dd2cd (diff)
moved displaypreferences to usermanager to solve concurrency issues
Diffstat (limited to 'MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs')
-rw-r--r--MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs18
1 files changed, 12 insertions, 6 deletions
diff --git a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
index ca69459be..8811de9db 100644
--- a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
+++ b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
@@ -33,7 +33,8 @@ namespace MediaBrowser.ServerApplication
private readonly IJsonSerializer _jsonSerializer;
private readonly ILibraryManager _libraryManager;
-
+ private readonly IUserManager _userManager;
+
/// <summary>
/// The current user
/// </summary>
@@ -46,6 +47,7 @@ namespace MediaBrowser.ServerApplication
_logger = logger;
_jsonSerializer = jsonSerializer;
_libraryManager = libraryManager;
+ _userManager = userManager;
InitializeComponent();
lblVersion.Content = "Version: " + appHost.ApplicationVersion;
@@ -89,7 +91,7 @@ namespace MediaBrowser.ServerApplication
var currentFolder = folder;
Task.Factory.StartNew(() =>
{
- var prefs = ddlProfile.SelectedItem != null ? currentFolder.GetDisplayPreferences(ddlProfile.SelectedItem as User, false) ?? new DisplayPreferences {SortBy = ItemSortBy.SortName} : new DisplayPreferences {SortBy = ItemSortBy.SortName};
+ var prefs = ddlProfile.SelectedItem != null ? _userManager.GetDisplayPreferences((ddlProfile.SelectedItem as User).Id, currentFolder.DisplayPreferencesId).Result ?? new DisplayPreferences { SortBy = ItemSortBy.SortName } : new DisplayPreferences { SortBy = ItemSortBy.SortName };
var node = new TreeViewItem { Tag = currentFolder };
var subChildren = currentFolder.GetChildren(CurrentUser, prefs.IndexBy);
@@ -142,7 +144,8 @@ namespace MediaBrowser.ServerApplication
var subFolder = item as Folder;
if (subFolder != null)
{
- var prefs = subFolder.GetDisplayPreferences(user, false) ?? new DisplayPreferences {SortBy = LocalizedStrings.Instance.GetString("NameDispPref")};
+ var prefs = _userManager.GetDisplayPreferences(user.Id, subFolder.DisplayPreferencesId).Result;
+
AddChildren(node, OrderBy(subFolder.GetChildren(user), user, prefs.SortBy), user);
node.Header = item.Name + " (" + node.Items.Count + ")";
}
@@ -196,7 +199,10 @@ namespace MediaBrowser.ServerApplication
ItemSortBy.Runtime
};
- var prefs = folder.GetDisplayPreferences(ddlProfile.SelectedItem as User, false);
+ var prefs =
+ await
+ _userManager.GetDisplayPreferences((ddlProfile.SelectedItem as User).Id,
+ folder.DisplayPreferencesId);
ddlIndexBy.SelectedItem = prefs != null
? prefs.IndexBy ?? LocalizedStrings.Instance.GetString("NoneDispPref")
: LocalizedStrings.Instance.GetString("NoneDispPref");
@@ -354,7 +360,7 @@ namespace MediaBrowser.ServerApplication
var folder = treeItem != null
? treeItem.Tag as Folder
: null;
- var prefs = folder != null ? folder.GetDisplayPreferences(CurrentUser, true) : new DisplayPreferences {SortBy = ItemSortBy.SortName};
+ var prefs = folder != null ? _userManager.GetDisplayPreferences(CurrentUser.Id, folder.DisplayPreferencesId).Result : new DisplayPreferences {SortBy = ItemSortBy.SortName};
if (folder != null && prefs.IndexBy != ddlIndexBy.SelectedItem as string)
{
//grab UI context so we can update within the below task
@@ -395,7 +401,7 @@ namespace MediaBrowser.ServerApplication
var folder = treeItem != null
? treeItem.Tag as Folder
: null;
- var prefs = folder != null ? folder.GetDisplayPreferences(CurrentUser, true) : new DisplayPreferences();
+ var prefs = folder != null ? _userManager.GetDisplayPreferences(CurrentUser.Id, folder.DisplayPreferencesId).Result : new DisplayPreferences();
if (folder != null && prefs.SortBy != ddlSortBy.SelectedItem as string)
{
//grab UI context so we can update within the below task