Пример #1
0
        public PhotoCollection VtPhotosGetNotInSet()
        {
            var photoCollection = new PhotoCollection();

            var             startTime             = DateTime.Now;
            PhotoCollection searchedPhotosForPage = null;
            var             page = 1;

            do
            {
                RaiseSearchProgressEvent("PhotosGetNotInSet", photoCollection.Count, startTime);

                var options = new PartialSearchOptions
                {
                    PrivacyFilter = PrivacyFilter.None,
                    //UserId = "me",
                    //MediaType = MediaType.All,
                    PerPage = SearchOptions_PerPage_MAX,    // Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
                    Page    = page,                         // The page of results to return.If this argument is omitted, it defaults to 1.
                    Extras  = PhotoSearchExtras.All,        // co chci, aby mi flickr api vratilo!!
                    //Tags = tag,
                    //TagMode = TagMode.AnyTag
                };
                searchedPhotosForPage = PhotosGetNotInSet(options);

                foreach (var photo in searchedPhotosForPage)
                {
                    photoCollection.Add(photo);
                }
                page++;
            } while (searchedPhotosForPage.Count >= SearchOptions_PerPage_MAX);

            return(photoCollection);
        }
Пример #2
0
        /// <summary>
        /// Adds the partial options to the passed in <see cref="Hashtable"/>.
        /// </summary>
        /// <param name="options">The options to convert to an array.</param>
        /// <param name="parameters">The <see cref="Hashtable"/> to add the option key value pairs to.</param>
        public static void PartialOptionsIntoArray(PartialSearchOptions options, Dictionary <string, string> parameters)
        {
            if (options == null)
            {
                throw new ArgumentNullException("options");
            }
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            if (options.MinUploadDate != DateTime.MinValue)
            {
                parameters.Add("min_uploaded_date", UtilityMethods.DateToUnixTimestamp(options.MinUploadDate).ToString());
            }
            if (options.MaxUploadDate != DateTime.MinValue)
            {
                parameters.Add("max_uploaded_date", UtilityMethods.DateToUnixTimestamp(options.MaxUploadDate).ToString());
            }
            if (options.MinTakenDate != DateTime.MinValue)
            {
                parameters.Add("min_taken_date", DateToMySql(options.MinTakenDate));
            }
            if (options.MaxTakenDate != DateTime.MinValue)
            {
                parameters.Add("max_taken_date", DateToMySql(options.MaxTakenDate));
            }
            if (options.Extras != PhotoSearchExtras.None)
            {
                parameters.Add("extras", options.ExtrasString);
            }
            if (options.SortOrder != PhotoSearchSortOrder.None)
            {
                parameters.Add("sort", options.SortOrderString);
            }
            if (options.PerPage > 0)
            {
                parameters.Add("per_page", options.PerPage.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
            }
            if (options.Page > 0)
            {
                parameters.Add("page", options.Page.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
            }
            if (options.PrivacyFilter != PrivacyFilter.None)
            {
                parameters.Add("privacy_filter", options.PrivacyFilter.ToString("d"));
            }
        }
Пример #3
0
        private void DisplayUploaded(object sender, RoutedEventArgs e)
        {
            SearchMode();

            Pannel.Children.Clear();

            if (Managers.Instance.user.Connected)
            {
                Managers.Instance.nav.Page = 1;
                Pannel.Children.Clear();

                switch (Managers.Instance.service)
                {
                case SERVICE.FLICKR:
                    var options = new PartialSearchOptions {
                        Extras = PhotoSearchExtras.Description | PhotoSearchExtras.Usage, PerPage = Managers.Instance.nav.ImagePerPage, Page = Managers.Instance.nav.Page
                    };

                    PhotoCollection photos = Managers.Instance.flicker.flickr.PhotosGetNotInSet(options);
                    foreach (Photo photo in photos)
                    {
                        LoadImage(photo.PhotoId, photo.Title, photo.Description, photo.SmallUrl, photo.MediumUrl, photo.LargeUrl);
                    }
                    break;

                case SERVICE.IMGUR:
                    var endpoint = new AccountEndpoint(Managers.Instance.imgur.Imgur);
                    var result   = endpoint.GetAccountSubmissionsAsync();
                    result.Wait();
                    var list = result.Result;

                    foreach (var it in list)
                    {
                        if (it.GetType() == typeof(GalleryImage))
                        {
                            var img = it as GalleryImage;
                            if (!Managers.Instance.user.AllowIndesirable)
                            {
                                if (!Managers.Instance.cache.IsIndesirable(img.Id))
                                {
                                    LoadImage(img.Id, img.Title, img.Description, img.Link, img.Link, img.Link);
                                }
                            }
                            else
                            {
                                LoadImage(img.Id, img.Title, img.Description, img.Link, img.Link, img.Link);
                            }
                        }
                        else if (it.GetType() == typeof(GalleryAlbum))
                        {
                            var album = it as GalleryAlbum;
                            foreach (var img in album.Images)
                            {
                                if (!Managers.Instance.user.AllowIndesirable)
                                {
                                    if (!Managers.Instance.cache.IsIndesirable(img.Id))
                                    {
                                        LoadImage(img.Id, img.Title, img.Description, img.Link, img.Link, img.Link);
                                    }
                                }
                                else
                                {
                                    LoadImage(img.Id, img.Title, img.Description, img.Link, img.Link, img.Link);
                                }
                            }
                        }
                    }
                    break;
                }

                ScrollPannel.ScrollToTop();
            }
        }