/// <summary> /// Load dictionary (key=albumId,value=photos). /// </summary> /// <param name="apiClient"></param> /// <param name="albums">Albums for which photos will be uploaded.</param> /// <returns>Loaded album photos.</returns> public static async Task <IDictionary <int, IEnumerable <Photo> > > GetPhotosForPreviewByAlmubsAsync( this ApiClientService apiClient, IEnumerable <Album> albums) { var result = new Dictionary <int, IEnumerable <Photo> >(); var tasks = albums.Select(async album => { var photos = await apiClient.GetPhotosByAlbumIdAsync(album.Id); if (photos is null) { return; } result.Add(album.Id, photos.Take(6)); }); await Task.WhenAll(tasks); return(result); }