diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-21 15:24:50 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-21 15:24:50 -0400 |
| commit | 0a7df60207334c6fccded9371b3ca0992ad1c43c (patch) | |
| tree | da47543fde4a0e22e7eb71d2536c40b9a31f3013 /MediaBrowser.Api/UserLibrary/UserLibraryService.cs | |
| parent | 842b95ea02bf8df49ba16f41ba52582e98a18170 (diff) | |
make marking date played up to the caller to decide
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/UserLibraryService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index f4e9739a1..ab3e2af19 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -184,6 +184,9 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] public Guid UserId { get; set; } + [ApiMember(Name = "DatePlayed", Description = "The date the item was played (if any)", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public DateTime? DatePlayed { get; set; } + /// <summary> /// Gets or sets the id. /// </summary> @@ -630,7 +633,7 @@ namespace MediaBrowser.Api.UserLibrary { var user = _userManager.GetUserById(request.UserId); - var task = UpdatePlayedStatus(user, request.Id, true); + var task = UpdatePlayedStatus(user, request.Id, true, request.DatePlayed); return ToOptimizedResult(task.Result); } @@ -703,7 +706,7 @@ namespace MediaBrowser.Api.UserLibrary { var user = _userManager.GetUserById(request.UserId); - var task = UpdatePlayedStatus(user, request.Id, false); + var task = UpdatePlayedStatus(user, request.Id, false, null); return ToOptimizedResult(task.Result); } @@ -714,12 +717,20 @@ namespace MediaBrowser.Api.UserLibrary /// <param name="user">The user.</param> /// <param name="itemId">The item id.</param> /// <param name="wasPlayed">if set to <c>true</c> [was played].</param> + /// <param name="datePlayed">The date played.</param> /// <returns>Task.</returns> - private async Task<UserItemDataDto> UpdatePlayedStatus(User user, string itemId, bool wasPlayed) + private async Task<UserItemDataDto> UpdatePlayedStatus(User user, string itemId, bool wasPlayed, DateTime? datePlayed) { var item = _dtoService.GetItemByDtoId(itemId, user.Id); - await item.SetPlayedStatus(user, wasPlayed, _userDataRepository).ConfigureAwait(false); + if (wasPlayed) + { + await item.MarkPlayed(user, datePlayed, _userDataRepository).ConfigureAwait(false); + } + else + { + await item.MarkUnplayed(user, _userDataRepository).ConfigureAwait(false); + } return _dtoService.GetUserItemDataDto(_userDataRepository.GetUserData(user.Id, item.GetUserDataKey())); } |
