예제 #1
0
        private async void AccountMenuInitializer(UserStateType type = UserStateType.AccountImages)
        {
            if (!_currentUser.IsLogged)
            {
                var dialog = new MessageDialog("You need to log in first !");

                await dialog.ShowAsync();

                return;
            }

            LoginLabel.Text                   = $"Logged in as {_currentUser.UserName}";
            LoginLabel.Visibility             = Visibility.Visible;
            LoginTextBox.Visibility           = Visibility.Collapsed;
            LoginButton.Visibility            = Visibility.Collapsed;
            SearchBox.Visibility              = Visibility.Collapsed;
            SectionTypeComboBox.Visibility    = Visibility.Collapsed;
            SortTypeComboBox.Visibility       = Visibility.Collapsed;
            SearchButton.Visibility           = Visibility.Collapsed;
            WindowTypeComboBox.Visibility     = Visibility.Collapsed;
            ImageViewer.Visibility            = Visibility.Visible;
            DraggedImageStackPanel.Visibility = Visibility.Collapsed;
            UploadStackPanel.Visibility       = Visibility.Collapsed;
            DragAndDropTextBlock.Visibility   = Visibility.Collapsed;
            LoginLabel.TextAlignment          = TextAlignment.Right;
            UploadButton.Visibility           = Visibility.Collapsed;
            AccountInfoButton.Visibility      = Visibility.Visible;
            AccountInfoComboBox.Visibility    = Visibility.Visible;

            _listBox = new ListBox();

            var accountEndpoint = new AccountEndpoint(_currentUser.ApiClient, _currentUser.HttpClient);

            IEnumerable <IGalleryImageResponseModel> images;

            switch (type)
            {
            case UserStateType.AccountImages:
                images = await accountEndpoint.GetMyImages();

                break;

            default:
                images = await accountEndpoint.GetMyFavorites();

                break;
            }

            ImageViewer.Content = _listBox;

            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
                });
            }
        }