Exemple #1
0
        private static void AddMediaIds(AddItemToAlbumRequest request, Album album)
        {
            if (request.MediaIds is { } ids&& ids.Any())
            {
                AlbumInclude?idInclude = album.Includes
                                         .FirstOrDefault(x => x.Type == AlbumIncludeType.Ids);

                if (idInclude == null)
                {
                    idInclude = new AlbumInclude()
                    {
                        Type = AlbumIncludeType.Ids
                    };
                    album.Includes.Add(idInclude);
                }
                var toAdd = new HashSet <Guid>(idInclude.MediaIds);

                foreach (Guid newId in ids)
                {
                    toAdd.Add(newId);
                }

                idInclude.MediaIds = toAdd;
            }
        }
Exemple #2
0
        private void AddFilters(AddItemToAlbumRequest request, Album album)
        {
            if (request.Filters is { } filters&& filters.Any())
            {
                AlbumInclude?include = album.Includes
                                       .FirstOrDefault(x => x.Type == AlbumIncludeType.Query);

                if (include == null)
                {
                    include = new AlbumInclude()
                    {
                        Type = AlbumIncludeType.Query
                    };
                    album.Includes.Add(include);
                }

                include.Filters = filters;
            }
        }
Exemple #3
0
        private static void AddFolders(AddItemToAlbumRequest request, Album album)
        {
            if (request.Folders is { } folders&& folders.Any())
            {
                AlbumInclude?folderInclude = album.Includes
                                             .FirstOrDefault(x => x.Type == AlbumIncludeType.Folder);

                if (folderInclude == null)
                {
                    folderInclude = new AlbumInclude()
                    {
                        Type = AlbumIncludeType.Folder
                    };
                    album.Includes.Add(folderInclude);
                }

                var toAdd = new HashSet <string>(folderInclude.Folders);
                toAdd.AddRange(folders);

                folderInclude.Folders = toAdd;
            }
        }