Example #1
0
 private static void AddIfMissing(List <BaseItemKind> list, BaseItemKind value)
 {
     if (!list.Contains(value))
     {
         list.Add(value);
     }
 }
Example #2
0
        private int GetCount(BaseItemKind itemKind, User?user, bool?isFavorite)
        {
            var query = new InternalItemsQuery(user)
            {
                IncludeItemTypes = new[] { itemKind },
                Limit            = 0,
                Recursive        = true,
                IsVirtualItem    = false,
                IsFavorite       = isFavorite,
                DtoOptions       = new DtoOptions(false)
                {
                    EnableImages = false
                }
            };

            return(_libraryManager.GetItemsResult(query).TotalRecordCount);
        }
Example #3
0
        public async Task <ActionResult> DisplayContent(
            [FromRoute, Required] string sessionId,
            [FromQuery, Required] BaseItemKind itemType,
            [FromQuery, Required] string itemId,
            [FromQuery, Required] string itemName)
        {
            var command = new BrowseRequest
            {
                ItemId   = itemId,
                ItemName = itemName,
                ItemType = itemType
            };

            await _sessionManager.SendBrowseCommand(
                await RequestHelpers.GetSessionId(_sessionManager, _authContext, Request).ConfigureAwait(false),
                sessionId,
                command,
                CancellationToken.None)
            .ConfigureAwait(false);

            return(NoContent());
        }
Example #4
0
        private T?GetItemFromSlugName <T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions, BaseItemKind baseItemKind)
            where T : BaseItem, new()
        {
            var result = libraryManager.GetItemList(new InternalItemsQuery
            {
                Name             = name.Replace(BaseItem.SlugChar, '&'),
                IncludeItemTypes = new[] { baseItemKind },
                DtoOptions       = dtoOptions
            }).OfType <T>().FirstOrDefault();

            result ??= libraryManager.GetItemList(new InternalItemsQuery
            {
                Name             = name.Replace(BaseItem.SlugChar, '/'),
                IncludeItemTypes = new[] { baseItemKind },
                DtoOptions       = dtoOptions
            }).OfType <T>().FirstOrDefault();

            result ??= libraryManager.GetItemList(new InternalItemsQuery
            {
                Name             = name.Replace(BaseItem.SlugChar, '?'),
                IncludeItemTypes = new[] { baseItemKind },
                DtoOptions       = dtoOptions
            }).OfType <T>().FirstOrDefault();

            return(result);
        }