public void GetPhotos() { SlackHelper slackHelper = null; for (int i = 0; i < users_helpers.Count; i++) { Responses.SlackUsersInfoResponse usersInfoResponse = users_helpers[i].Users_Info(applicationContract.GetPhotoUserID()); if (usersInfoResponse.Ok) { slackHelper = users_helpers[i]; break; } } if (!slackHelper.IsAuthorized) { return; } const UInt64 count = 20; UInt64 page = applicationContract.GetPhotosCount() / count + 1; Responses.SlackFilesListResponse slackFilesListResponse = slackHelper.Files_List(applicationContract.GetPhotoUserID(), Models.SlackFileTypes.Images, count, page); if (!slackFilesListResponse.Ok) { return; } List <Models.SlackFile> files = slackFilesListResponse.Files.ToList(); List <PhotosListItem> photosItems = new List <PhotosListItem>(); foreach (Models.SlackFile file in files) { if (!file.PublicURLShared) { continue; } String[] permalink_split = file.PermalinkPublic.Split('-'); String photo_link = String.Format("{0}?pub_secret={1}", file.URLPrivate, permalink_split[permalink_split.Length - 1]); PhotosListItem photoItem = new PhotosListItem(new Uri(photo_link)); photosItems.Add(photoItem); } applicationContract.AddItemsToPhotosList(photosItems); applicationContract.SetPhotosListSatusData(String.Format("{0}/{1}", applicationContract.GetPhotosCount(), slackFilesListResponse.Paging.Total)); if (applicationContract.GetPhotosCount() == slackFilesListResponse.Paging.Total) { applicationContract.DisableNextPhotosButton(); } }
public Responses.SlackUsersInfoResponse Users_Info(String user_id, Boolean include_locale = false) { if (!IsAuthorized) { throw new Exceptions.SlackAuthException("Not Authorized."); } ; Dictionary <String, String> parameters = new Dictionary <string, string>(); parameters["token"] = _access_token; parameters["user"] = user_id; parameters["include_locale"] = include_locale == false ? "false" : "true"; Uri users_info_url = GetApiUri("users.info", parameters); Responses.SlackUsersInfoResponse usersInfoResponse = JsonConvert.DeserializeObject <Responses.SlackUsersInfoResponse>(NetHelper.GetRequest(users_info_url)); return(usersInfoResponse); }