public IList <IItem> ItemsForFavorites(IList <Favorite> favorites) { if (favorites == null) { return(null); } IList <IItem> items = new List <IItem>(); foreach (Favorite fav in favorites) { switch (fav.FavoriteItemType) { case ItemType.AlbumArtist: items.Add(albumArtistRepository.AlbumArtistForId(fav.FavoriteItemId)); break; case ItemType.Album: items.Add(albumRepository.AlbumForId((int)fav.FavoriteItemId)); break; case ItemType.Artist: items.Add(artistRepository.ArtistForId(fav.FavoriteItemId)); break; case ItemType.Folder: items.Add(folderRepository.FolderForId((int)fav.FavoriteItemId)); break; case ItemType.Genre: items.Add(genreRepository.GenreForId((int)fav.FavoriteItemId)); break; case ItemType.Playlist: items.Add(playlistRepository.PlaylistForId((int)fav.FavoriteItemId)); break; case ItemType.Song: items.Add(songRepository.SongForId((int)fav.FavoriteItemId)); break; case ItemType.Video: items.Add(videoRepository.VideoForId((int)fav.FavoriteItemId)); break; } } return(items); }