diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-02 13:37:49 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-02 13:37:49 -0400 |
| commit | b4dd8a210629bc74445f106e2379b986af9520c5 (patch) | |
| tree | 69dfb0fb565f3e2f47fad029fda11e24d75b54c6 /MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs | |
| parent | dcc057f3242fb44a15006e5b13a2c7a2662dd2cd (diff) | |
moved displaypreferences to usermanager to solve concurrency issues
Diffstat (limited to 'MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs | 18 |
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 |
