aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-12 20:42:51 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-12 20:42:51 -0400
commitb3cb8fda22337e22d6d4ee45d5ec6e9cf69be7fa (patch)
treed871f98cd8c5dd08c2432a3bccd8ffe758f8be84 /MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
parentb721aab2ba9dac5e5e3a7b53c066791d23e83bc2 (diff)
add ability to mark studios, genres and people as favorites
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs25
1 files changed, 24 insertions, 1 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
index 583f7460d..6801e14f0 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Controller.Entities;
+using System.Threading;
+using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Querying;
@@ -196,6 +197,28 @@ namespace MediaBrowser.Api.UserLibrary
return dto;
}
+
+ /// <summary>
+ /// Marks the favorite.
+ /// </summary>
+ /// <param name="getItem">The get item.</param>
+ /// <param name="userId">The user id.</param>
+ /// <param name="isFavorite">if set to <c>true</c> [is favorite].</param>
+ /// <returns>Task.</returns>
+ protected async Task MarkFavorite(Func<Task<TItemType>> getItem, Guid userId, bool isFavorite)
+ {
+ var user = UserManager.GetUserById(userId);
+
+ var item = await getItem().ConfigureAwait(false);
+
+ // Get the user data for this item
+ var data = await UserManager.GetUserData(user.Id, item.UserDataId).ConfigureAwait(false);
+
+ // Set favorite status
+ data.IsFavorite = isFavorite;
+
+ await UserManager.SaveUserData(user.Id, item.UserDataId, data, CancellationToken.None).ConfigureAwait(false);
+ }
}
/// <summary>