/// <summary> /// Gets a list of the specified users photosets. /// </summary> /// <param name="userId">The ID of the user to return the photosets of.</param> /// <param name="page">The page of the results to return. Defaults to page 1.</param> /// <param name="perPage">The number of photosets to return per page. Defaults to 500.</param> /// <returns>A <see cref="PhotosetCollection"/> instance containing a collection of photosets.</returns> public PhotosetCollection PhotosetsGetList(string userId, int page, int perPage) { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("method", "flickr.photosets.getList"); if (userId != null) { parameters.Add("user_id", userId); } if (page > 0) { parameters.Add("page", page.ToString(System.Globalization.NumberFormatInfo.InvariantInfo)); } if (perPage > 0) { parameters.Add("per_page", perPage.ToString(System.Globalization.NumberFormatInfo.InvariantInfo)); } PhotosetCollection photosets = GetResponseCache <PhotosetCollection>(parameters); foreach (Photoset photoset in photosets) { photoset.OwnerId = userId; } return(photosets); }
private void BGFindPhotosets(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; FlickrNet.Flickr f = FlickrManager.GetFlickrAuthInstance(); if (f == null) { BGErrorMessage = "You must authenticate before you can download data from Flickr."; return; } try { int page = 1; int perPage = 500; FlickrNet.PhotosetCollection photoSets = new FlickrNet.PhotosetCollection(); FlickrNet.PhotoSearchExtras PhotosetExtras = 0; do { photoSets = f.PhotosetsGetList(SearchAccountUser.UserId, page, perPage, PhotosetExtras); foreach (FlickrNet.Photoset ps in photoSets) { PhotosetList.Add(new Photoset(ps)); int index = PhotosetList.Count - 1; PhotosetList[index].OriginalSortOrder = index; } page = photoSets.Page + 1; }while (page <= photoSets.Pages); } catch (FlickrNet.FlickrException ex) { BGErrorMessage = "Album search failed. Error: " + ex.Message; return; } }