//TODO in parallel! Do NOT wait until all albums are downloaded
        public async Task <DetailedAlbumInfo[]> GetAllAlbums(
            DetailedBandInfo bandInfo,
            CancellationToken token = default
            )
        {
            Logger.Debug($"Getting all albums for {bandInfo.ShortInfo}");

            var tasks = bandInfo.AlbumInfos
                        .Select(albumInfo => {
                token.ThrowIfCancellationRequested();

                Logger.Debug($"Getting detailed album info for {albumInfo}");

                return(this.GetDetailedAlbumInfo(albumInfo));
            });

            return(await Task.WhenAll(tasks));
        }
示例#2
0
 public static void SaveDetailedBandInfo(DetailedBandInfo info)
 {
     JsonCacheUtils.SaveIntoJsonCache(info, DetailedBandClz, info.ShortInfo.Id);
 }