示例#1
0
        /// <summary>
        /// Sets the item counts.
        /// </summary>
        /// <param name="artist">The artist.</param>
        /// <param name="userId">The user id.</param>
        /// <param name="allItems">All items.</param>
        private void SetItemCounts(MusicArtist artist, Guid?userId, IEnumerable <IHasArtist> allItems)
        {
            var name = artist.Name;

            var items = allItems
                        .Where(i => i.HasArtist(name))
                        .ToList();

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

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

                AlbumCount = items.OfType <MusicAlbum>().Count(),

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

            if (userId.HasValue)
            {
                artist.SetItemByNameCounts(userId.Value, counts);
            }
        }