/// <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); } }