12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using MediaBrowser.Model.Dto;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace MediaBrowser.Controller.Entities
- {
- /// <summary>
- /// Marker interface
- /// </summary>
- public interface IItemByName
- {
- List<ItemByNameCounts> UserItemCountList { get; set; }
- }
- public interface IHasDualAccess : IItemByName
- {
- bool IsAccessedByName { get; }
- }
- public static class ItemByNameExtensions
- {
- public static ItemByNameCounts GetItemByNameCounts(this IItemByName item, Guid userId)
- {
- if (userId == Guid.Empty)
- {
- throw new ArgumentNullException("userId");
- }
- return item.UserItemCountList.FirstOrDefault(i => i.UserId == userId);
- }
- public static void SetItemByNameCounts(this IItemByName item, Guid userId, ItemByNameCounts counts)
- {
- var current = item.UserItemCountList.FirstOrDefault(i => i.UserId == userId);
- if (current != null)
- {
- item.UserItemCountList.Remove(current);
- }
- counts.UserId = userId;
- item.UserItemCountList.Add(counts);
- }
- }
- }
|