diff options
| author | Techywarrior <techywarrior@gmail.com> | 2013-04-02 13:07:55 -0700 |
|---|---|---|
| committer | Techywarrior <techywarrior@gmail.com> | 2013-04-02 13:07:55 -0700 |
| commit | 713afcf6755b15142244cad6b16f8d539bd12893 (patch) | |
| tree | d5d7479281f85fc47d24d8c95a2ce29a3a146d8b /MediaBrowser.Controller/Entities/BaseItem.cs | |
| parent | c957f202cc1fefb174377b99495b329a6cb9ee72 (diff) | |
| parent | e2562879d86aafc1063e37bfd353c22309e8e237 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 110 |
1 files changed, 4 insertions, 106 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index d30f11f7d..411190d77 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -797,109 +797,6 @@ namespace MediaBrowser.Controller.Entities } /// <summary> - /// The _user data - /// </summary> - private IEnumerable<UserItemData> _userData; - /// <summary> - /// The _user data initialized - /// </summary> - private bool _userDataInitialized; - /// <summary> - /// The _user data sync lock - /// </summary> - private object _userDataSyncLock = new object(); - /// <summary> - /// Gets the user data. - /// </summary> - /// <value>The user data.</value> - [IgnoreDataMember] - public IEnumerable<UserItemData> UserData - { - get - { - // Call ToList to exhaust the stream because we'll be iterating over this multiple times - LazyInitializer.EnsureInitialized(ref _userData, ref _userDataInitialized, ref _userDataSyncLock, () => Kernel.Instance.UserDataRepository.RetrieveUserData(this).ToList()); - return _userData; - } - private set - { - _userData = value; - - if (value == null) - { - _userDataInitialized = false; - } - } - } - - /// <summary> - /// Gets the user data. - /// </summary> - /// <param name="user">The user.</param> - /// <param name="createIfNull">if set to <c>true</c> [create if null].</param> - /// <returns>UserItemData.</returns> - /// <exception cref="System.ArgumentNullException"></exception> - public UserItemData GetUserData(User user, bool createIfNull) - { - if (user == null) - { - throw new ArgumentNullException(); - } - - if (UserData == null) - { - if (!createIfNull) - { - return null; - } - - AddOrUpdateUserData(user, new UserItemData { UserId = user.Id }); - } - - var data = UserData.FirstOrDefault(u => u.UserId == user.Id); - - if (data == null && createIfNull) - { - data = new UserItemData { UserId = user.Id }; - AddOrUpdateUserData(user, data); - } - - return data; - } - - /// <summary> - /// Adds the or update user data. - /// </summary> - /// <param name="user">The user.</param> - /// <param name="data">The data.</param> - /// <exception cref="System.ArgumentNullException"></exception> - public void AddOrUpdateUserData(User user, UserItemData data) - { - if (user == null) - { - throw new ArgumentNullException(); - } - - if (data == null) - { - throw new ArgumentNullException(); - } - - data.UserId = user.Id; - - if (UserData == null) - { - UserData = new[] { data }; - } - else - { - var list = UserData.Where(u => u.UserId != user.Id).ToList(); - list.Add(data); - UserData = list; - } - } - - /// <summary> /// The _user data id /// </summary> protected Guid _userDataId; //cache this so it doesn't have to be re-constructed on every reference @@ -1205,16 +1102,17 @@ namespace MediaBrowser.Controller.Entities /// </summary> /// <param name="user">The user.</param> /// <param name="wasPlayed">if set to <c>true</c> [was played].</param> + /// <param name="userManager">The user manager.</param> /// <returns>Task.</returns> /// <exception cref="System.ArgumentNullException"></exception> - public virtual Task SetPlayedStatus(User user, bool wasPlayed, IUserManager userManager) + public virtual async Task SetPlayedStatus(User user, bool wasPlayed, IUserManager userManager) { if (user == null) { throw new ArgumentNullException(); } - var data = GetUserData(user, true); + var data = await userManager.GetUserData(user.Id, UserDataId).ConfigureAwait(false); if (wasPlayed) { @@ -1237,7 +1135,7 @@ namespace MediaBrowser.Controller.Entities data.Played = wasPlayed; - return userManager.SaveUserDataForItem(user, this, data); + await userManager.SaveUserData(user.Id, UserDataId, data, CancellationToken.None).ConfigureAwait(false); } /// <summary> |
