Exemplo n.º 1
0
        /// <summary>
        /// Gets the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>System.Object.</returns>
        public object Get(GetArtistsItemCounts request)
        {
            var name = DeSlugArtistName(request.Name, LibraryManager);

            var items = GetItems(request.UserId).OfType <Audio>().Where(i => i.HasArtist(name)).ToList();

            var counts = new ItemByNameCounts
            {
                TotalCount = items.Count,

                SongCount = items.Count(),

                AlbumCount = items.Select(i => i.Parent).OfType <MusicAlbum>().Distinct().Count()
            };

            return(ToOptimizedResult(counts));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>System.Object.</returns>
        public object Get(GetArtistsItemCounts request)
        {
            var name = DeSlugArtistName(request.Name, LibraryManager);

            var items = GetItems(request.UserId).Where(i =>
            {
                var song = i as Audio;

                if (song != null)
                {
                    return(song.HasArtist(name));
                }

                var musicVideo = i as MusicVideo;

                if (musicVideo != null)
                {
                    return(musicVideo.HasArtist(name));
                }

                return(false);
            }).ToList();

            var counts = new ItemByNameCounts
            {
                TotalCount = items.Count,

                SongCount = items.OfType <Audio>().Count(),

                AlbumCount = items.Select(i => i.Parent).OfType <MusicAlbum>().Distinct().Count(),

                MusicVideoCount = items.OfType <MusicVideo>().Count(i => i.HasArtist(name))
            };

            return(ToOptimizedResult(counts));
        }