private void SetUserProperties(IHasUserData item, MediaSourceInfo source, User user) { var userData = item == null ? new UserItemData() : _userDataManager.GetUserData(user.Id, item.GetUserDataKey()); SetDefaultAudioStreamIndex(source, userData, user); SetDefaultSubtitleStreamIndex(source, userData, user); }
public UserItemDataDto GetUserDataDto(IHasUserData item, BaseItemDto itemDto, User user, List <ItemFields> fields) { var userData = GetUserData(user.Id, item); var dto = GetUserItemDataDto(userData); item.FillUserDataDtoValues(dto, userData, itemDto, user, fields); return(dto); }
public UserItemDataDto GetUserDataDto(IHasUserData item, User user) { var userData = GetUserData(user.Id, item); var dto = GetUserItemDataDto(userData); item.FillUserDataDtoValues(dto, userData, null, user, new List <ItemFields>()); return(dto); }
public async Task <UserItemDataDto> GetUserDataDto(IHasUserData item, BaseItemDto itemDto, User user) { var userData = GetUserData(user.Id, item); var dto = GetUserItemDataDto(userData); await item.FillUserDataDtoValues(dto, userData, itemDto, user).ConfigureAwait(false); return(dto); }
public UserItemDataDto GetUserDataDto(IHasUserData item, User user) { var userData = GetUserData(user.Id, item.GetUserDataKey()); var dto = GetUserItemDataDto(userData); item.FillUserDataDtoValues(dto, userData, user); return(dto); }
private void SetUserProperties(IHasUserData item, MediaSourceInfo source, User user) { var userData = item == null ? new UserItemData() : _userDataManager.GetUserData(user, item); var allowRememberingSelection = item == null || item.EnableRememberingTrackSelections; SetDefaultAudioStreamIndex(source, userData, user, allowRememberingSelection); SetDefaultSubtitleStreamIndex(source, userData, user, allowRememberingSelection); }
public async Task <UserItemDataDto> GetUserDataDto(IHasUserData item, User user) { var userData = GetUserData(user.Id, item); var dto = GetUserItemDataDto(userData); await item.FillUserDataDtoValues(dto, userData, null, user, new List <ItemFields>()).ConfigureAwait(false); return(dto); }
public UserData(IHasUserData data) { data.ThrowIfNull(nameof(data)); Id = data.Id; UserName = data.UserName; Email = data.Email; FirstName = data.FirstName; LastName = data.LastName; Role = data.Role; }
private static List <Claim> CreateClaimsPrincipal(IHasUserData data) { return(new List <Claim> { new Claim(ClaimTypes.Role, data.Role.ToString()), new Claim(ClaimTypes.NameIdentifier, data.Id.ToString()), new Claim(ClaimTypes.Email, data.Email), new Claim(ClaimTypes.GivenName, data.FirstName), new Claim(ClaimTypes.Surname, data.LastName), new Claim(CustomClaimTypes.Username, data.UserName) }); }
public async Task SaveUserData(Guid userId, IHasUserData item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken) { if (userData == null) { throw new ArgumentNullException("userData"); } if (item == null) { throw new ArgumentNullException("item"); } if (userId == Guid.Empty) { throw new ArgumentNullException("userId"); } cancellationToken.ThrowIfCancellationRequested(); var keys = item.GetUserDataKeys(); foreach (var key in keys) { try { await Repository.SaveUserData(userId, key, userData, cancellationToken).ConfigureAwait(false); var newValue = userData; lock (_userData) { _userData[GetCacheKey(userId, key)] = newValue; } } catch (Exception ex) { _logger.ErrorException("Error saving user data", ex); throw; } } EventHelper.FireEventIfNotNull(UserDataSaved, this, new UserDataSaveEventArgs { Keys = keys, UserData = userData, SaveReason = reason, UserId = userId, Item = item }, _logger); }
/// <summary> /// Called when [playback start]. /// </summary> /// <param name="userId">The user identifier.</param> /// <param name="userDataKey">The user data key.</param> /// <param name="item">The item.</param> /// <returns>Task.</returns> private async Task OnPlaybackStart(Guid userId, string userDataKey, IHasUserData item) { var data = _userDataRepository.GetUserData(userId, userDataKey); data.PlayCount++; data.LastPlayedDate = DateTime.UtcNow; if (!(item is Video)) { data.Played = true; } await _userDataRepository.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackStart, CancellationToken.None).ConfigureAwait(false); }
/// <summary> /// Saves the user data. /// </summary> /// <param name="userId">The user id.</param> /// <param name="item">The item.</param> /// <param name="userData">The user data.</param> /// <param name="reason">The reason.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> /// <exception cref="System.ArgumentNullException">userData /// or /// cancellationToken /// or /// userId /// or /// key</exception> public async Task SaveUserData(Guid userId, IHasUserData item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken) { if (userData == null) { throw new ArgumentNullException("userData"); } if (item == null) { throw new ArgumentNullException("item"); } if (userId == Guid.Empty) { throw new ArgumentNullException("userId"); } cancellationToken.ThrowIfCancellationRequested(); var key = item.GetUserDataKey(); try { await Repository.SaveUserData(userId, key, userData, cancellationToken).ConfigureAwait(false); var newValue = userData; // Once it succeeds, put it into the dictionary to make it available to everyone else _userData.AddOrUpdate(GetCacheKey(userId, key), newValue, delegate { return newValue; }); } catch (Exception ex) { _logger.ErrorException("Error saving user data", ex); throw; } EventHelper.FireEventIfNotNull(UserDataSaved, this, new UserDataSaveEventArgs { Key = key, UserData = userData, SaveReason = reason, UserId = userId, Item = item }, _logger); }
public async Task SaveUserData(Guid userId, IHasUserData item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken) { if (userData == null) { throw new ArgumentNullException("userData"); } if (item == null) { throw new ArgumentNullException("item"); } if (userId == Guid.Empty) { throw new ArgumentNullException("userId"); } cancellationToken.ThrowIfCancellationRequested(); var key = item.GetUserDataKey(); try { await Repository.SaveUserData(userId, key, userData, cancellationToken).ConfigureAwait(false); var newValue = userData; // Once it succeeds, put it into the dictionary to make it available to everyone else _userData.AddOrUpdate(GetCacheKey(userId, key), newValue, delegate { return(newValue); }); } catch (Exception ex) { _logger.ErrorException("Error saving user data", ex); throw; } EventHelper.FireEventIfNotNull(UserDataSaved, this, new UserDataSaveEventArgs { Key = key, UserData = userData, SaveReason = reason, UserId = userId, Item = item }, _logger); }
public async Task SaveUserData(Guid userId, IHasUserData item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken) { if (userData == null) { throw new ArgumentNullException("userData"); } if (item == null) { throw new ArgumentNullException("item"); } if (userId == Guid.Empty) { throw new ArgumentNullException("userId"); } cancellationToken.ThrowIfCancellationRequested(); var keys = item.GetUserDataKeys(); foreach (var key in keys) { await Repository.SaveUserData(userId, key, userData, cancellationToken).ConfigureAwait(false); } var cacheKey = GetCacheKey(userId, item.Id); _userData.AddOrUpdate(cacheKey, userData, (k, v) => userData); EventHelper.FireEventIfNotNull(UserDataSaved, this, new UserDataSaveEventArgs { Keys = keys, UserData = userData, SaveReason = reason, UserId = userId, Item = item }, _logger); }
public UserItemData GetUserData(Guid userId, IHasUserData item) { return(GetUserData(userId, item.Id, item.GetUserDataKeys())); }
public async Task<UserItemDataDto> GetUserDataDto(IHasUserData item, BaseItemDto itemDto, User user) { var userData = GetUserData(user.Id, item); var dto = GetUserItemDataDto(userData); await item.FillUserDataDtoValues(dto, userData, itemDto, user).ConfigureAwait(false); return dto; }
public UserItemData GetUserData(string userId, IHasUserData item) { return GetUserData(new Guid(userId), item); }
public UserItemData GetUserData(Guid userId, IHasUserData item) { return GetUserData(userId, item.Id, item.GetUserDataKeys()); }
public UserItemData GetUserData(IHasUserData user, IHasUserData item) { return GetUserData(user.Id, item); }
public UserItemDataDto GetUserDataDto(IHasUserData item, User user) { var userData = GetUserData(user.Id, item.GetUserDataKey()); var dto = GetUserItemDataDto(userData); item.FillUserDataDtoValues(dto, userData, user); return dto; }
public UserChangeMessage(IHasUserData user, ChangeType type) : this(new[] { user }, type) { }
public UserItemData GetUserData(string userId, IHasUserData item) { return(GetUserData(new Guid(userId), item)); }
public UserItemData GetUserData(IHasUserData user, IHasUserData item) { return(GetUserData(user.Id, item)); }