From b3cb8fda22337e22d6d4ee45d5ec6e9cf69be7fa Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 Apr 2013 20:42:51 -0400 Subject: add ability to mark studios, genres and people as favorites --- .../UserLibrary/BaseItemsByNameService.cs | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') 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; } + + /// + /// Marks the favorite. + /// + /// The get item. + /// The user id. + /// if set to true [is favorite]. + /// Task. + protected async Task MarkFavorite(Func> 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); + } } /// -- cgit v1.2.3