Beispiel #1
0
        private async void Search_Button_Clicked(object sender, RoutedEventArgs e)
        {
            var galleryEndpoint = new GalleryEndpoint(_currentUser.ApiClient, _currentUser.HttpClient);

            _listBox = new ListBox();

            ImageViewer.Content = _listBox;

            var sectionType = ConfigurationManager.Instance.ParseEnum <GallerySectionType>(((ComboBoxItem)SectionTypeComboBox.SelectedItem)?.Content?.ToString());
            var sortType    = ConfigurationManager.Instance.ParseEnum <GallerySortType>(((ComboBoxItem)SortTypeComboBox.SelectedItem)?.Content?.ToString());
            var windowType  = ConfigurationManager.Instance.ParseEnum <GalleryWindowType>(((ComboBoxItem)WindowTypeComboBox.SelectedItem)?.Content?.ToString());

            var parametersObject = new GalleryParametersObject
            {
                ExactSearch = SearchBox.Text,
                SectionType = sectionType,
                SortType    = sortType,
                WindowType  = windowType
            };

            var images = await galleryEndpoint.GetGalleryAsync(parametersObject);

            foreach (var image in images.Where(s => s.Height > 0 && s.Width > 0 && !string.IsNullOrEmpty(s.Link)))
            {
                _listBox.Items?.Add(new Image
                {
                    Source = new BitmapImage
                    {
                        UriSource         = new Uri(image.Link),
                        DecodePixelHeight = 300,
                        DecodePixelWidth  = 300,
                    },
                    Height = 300,
                    Width  = 300,
                    Name   = image.Id
                });
            }
        }
Beispiel #2
0
        public async Task <IEnumerable <IGalleryImageResponseModel> > GetGalleryAsync(GalleryParametersObject parametersObject)
        {
            var requestUrl = $"{GalleryEndpointUrl}";

            if (string.IsNullOrEmpty(parametersObject.ExactSearch))
            {
                requestUrl += $"/{parametersObject.SectionType.ToString().ToLowerInvariant()}/{parametersObject.SortType.ToString().ToLowerInvariant()}/";

                if (parametersObject.SectionType == GallerySectionType.Top)
                {
                    requestUrl += $"{parametersObject.WindowType.ToString().ToLowerInvariant()}/";
                }

                requestUrl += $"{parametersObject.Page}";

                requestUrl += $"?showViral={parametersObject.ShowViral.ToString()}";
            }
            else
            {
                requestUrl += $"/search/{parametersObject.SortType.ToString().ToLowerInvariant()}";

                if (parametersObject.SectionType == GallerySectionType.Top)
                {
                    requestUrl += $"/{parametersObject.WindowType.ToString().ToLowerInvariant()}";
                }

                requestUrl += $"/?q_exactly={parametersObject.ExactSearch}";
            }

            using (var request = RequestBuilder.Instance.BuildRequest(HttpMethod.Get, requestUrl))
            {
                var gallery = await SendRequestAsync <IEnumerable <GalleryImageResponseModel> >(request).ConfigureAwait(false);

                return(gallery);
            }
        }