Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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);
        }