示例#1
0
        public async Task <EmbyItemContainer <MediaFolders> > GetLibaries([FromBody] EmbyServers server)
        {
            var client = await EmbyApi.CreateClient();

            var result = await client.GetLibraries(server.ApiKey, server.FullUri);

            var mediaFolders = new EmbyItemContainer <MediaFolders>
            {
                TotalRecordCount = result.Count,
                Items            = new List <MediaFolders>()
            };

            foreach (var folder in result)
            {
                var toAdd = new MediaFolders
                {
                    Name     = folder.Name,
                    Id       = folder.ItemId,
                    ServerId = server.ServerId
                };

                var types = folder?.LibraryOptions?.TypeOptions?.Select(x => x.Type);

                if (!types.Any())
                {
                    continue;
                }

                if (types.Where(x => x.Equals("Movie", System.StringComparison.InvariantCultureIgnoreCase) ||
                                x.Equals("Episode", System.StringComparison.InvariantCultureIgnoreCase)).Count() >= 2)
                {
                    toAdd.CollectionType = "mixed";
                }
                else if (types.Where(x => x.Equals("Movie", System.StringComparison.InvariantCultureIgnoreCase)).Any())
                {
                    toAdd.CollectionType = "movies";
                }
                else if (types.Where(x => x.Equals("Episode", System.StringComparison.InvariantCultureIgnoreCase)).Any())
                {
                    toAdd.CollectionType = "tvshows";
                }

                mediaFolders.Items.Add(toAdd);
            }
            return(mediaFolders);
        }
示例#2
0
        public MediaFolders GetMediaFolders(DateTime theDate)
        {
            var result = new MediaFolders();

            var mediaFolder = _optionsService.Options.MediaFolder;

            result.MediaFolder = mediaFolder;

            var subFolder = DatedSubFolders.GetDatedSubFolder(mediaFolder, theDate);

            if (subFolder != null)
            {
                result.DatedSubFolder = subFolder;
            }

            return(result);
        }