//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)); }
public static void SaveDetailedBandInfo(DetailedBandInfo info) { JsonCacheUtils.SaveIntoJsonCache(info, DetailedBandClz, info.ShortInfo.Id); }