private void OnGetMediaItemRPCCompleted(object sender, XMLRPCCompletedEventArgs <MediaItem> args)
        {
            _mediaItemRPC.Completed -= OnGetMediaItemRPCCompleted;
            _mediaItemRPC            = null;

            if (args.Cancelled)
            {
                return;
            }

            if (null == args.Error)
            {
                if (args.Items.Count > 0)
                {
                    MediaItem m = args.Items[0] as MediaItem;
                    App.MasterViewModel.CurrentPost.FeaturedImage = m;
                    SetupFeaturedImage();
                }
            }
            else
            {
                //Error!
                showFeaturedImageLoadingError(args.Error);
            }
        }
        private void SetupFeaturedImage()
        {
            Post post = App.MasterViewModel.CurrentPost;

            if (!App.MasterViewModel.CurrentBlog.SupportsFeaturedImage() || post.PostThumbnail.Length == 0)
            {
                featuredImagePadding.Visibility          = Visibility.Collapsed;
                featuredImageHeaderBackground.Visibility = Visibility.Collapsed;
                featuredImageHeader.Visibility           = Visibility.Collapsed;
                featuredImagePanel.Visibility            = Visibility.Collapsed;
                return;
            }

            if (post.FeaturedImage == null)
            {
                // Get the URL for the featured image.
                _mediaItemRPC            = new GetMediaItemRPC(App.MasterViewModel.CurrentBlog, post.PostThumbnail);
                _mediaItemRPC.Completed += OnGetMediaItemRPCCompleted;
                _mediaItemRPC.ExecuteAsync();
                return;
            }

            // Load the featured image.
            loadFeaturedImageFromURL(post.FeaturedImage.Thumbnail);
        }
        protected override void OnBackKeyPress(CancelEventArgs e)
        {
            if (App.WaitIndicationService.Waiting)
            {
                App.WaitIndicationService.HideIndicator();
                ApplicationBar.IsVisible = true;
                e.Cancel = true;

                if (null != currentXmlRpcConnection)
                {
                    currentXmlRpcConnection.IsCancelled = true;
                    currentXmlRpcConnection             = null;
                }

                if (null != _mediaItemRPC)
                {
                    _mediaItemRPC.IsCancelled = true;
                    _mediaItemRPC             = null;
                }

                this.emptyImagesUploadingQueue();
            }
            else
            {
                if (_messageBoxIsShown)
                {
                    return;
                }
                _messageBoxIsShown = true;
                string           prompt = string.Format(_localizedStrings.Prompts.SureCancel, _localizedStrings.Prompts.Post);
                MessageBoxResult result = MessageBox.Show(prompt, _localizedStrings.Prompts.CancelEditing, MessageBoxButton.OKCancel);
                _messageBoxIsShown = false;
                if (result == MessageBoxResult.OK)
                {
                    if (_mediaItemRPC != null)
                    {
                        _mediaItemRPC.Completed  -= OnGetMediaItemRPCCompleted;
                        _mediaItemRPC.IsCancelled = true;
                    }

                    this.emptyImagesUploadingQueue();
                    cleanupPostMedia();
                    base.OnBackKeyPress(e);
                }
                else
                {
                    e.Cancel = true;
                }
            }
        }
        private void SetupFeaturedImage()
        {
            Post post = App.MasterViewModel.CurrentPost;
            if (!App.MasterViewModel.CurrentBlog.SupportsFeaturedImage() || post.PostThumbnail.Length == 0)
            {
                featuredImagePadding.Visibility = Visibility.Collapsed;
                featuredImageHeaderBackground.Visibility = Visibility.Collapsed;
                featuredImageHeader.Visibility = Visibility.Collapsed;
                featuredImagePanel.Visibility = Visibility.Collapsed;
                return;
            }

            if (post.FeaturedImage == null)
            {
                // Get the URL for the featured image.
                _mediaItemRPC = new GetMediaItemRPC(App.MasterViewModel.CurrentBlog, post.PostThumbnail);
                _mediaItemRPC.Completed += OnGetMediaItemRPCCompleted;
                _mediaItemRPC.ExecuteAsync();
                return;
            }

            // Load the featured image.
            loadFeaturedImageFromURL(post.FeaturedImage.Thumbnail);
        }
        private void OnGetMediaItemRPCCompleted(object sender, XMLRPCCompletedEventArgs<MediaItem> args)
        {
            _mediaItemRPC.Completed -= OnGetMediaItemRPCCompleted;
            _mediaItemRPC = null;

            if (args.Cancelled)
            {
                return;
            }

            if (null == args.Error)
            {
                if (args.Items.Count > 0)
                {
                    MediaItem m = args.Items[0] as MediaItem;
                    App.MasterViewModel.CurrentPost.FeaturedImage = m;
                    SetupFeaturedImage();
                }
            }
            else
            {
                //Error!
                showFeaturedImageLoadingError(args.Error);
            }
        }
        protected override void OnBackKeyPress(CancelEventArgs e)
        {
            if (App.WaitIndicationService.Waiting)
            {
                App.WaitIndicationService.HideIndicator();
                ApplicationBar.IsVisible = true;
                e.Cancel = true;

                if (null != currentXmlRpcConnection)
                {
                    currentXmlRpcConnection.IsCancelled = true;
                    currentXmlRpcConnection = null;
                }

                if (null != _mediaItemRPC)
                {
                    _mediaItemRPC.IsCancelled = true;
                    _mediaItemRPC = null;
                }

                this.emptyImagesUploadingQueue();
            }
            else
            {
                if (_messageBoxIsShown)
                    return;
                _messageBoxIsShown = true;
                string prompt = string.Format(_localizedStrings.Prompts.SureCancel, _localizedStrings.Prompts.Post);
                MessageBoxResult result = MessageBox.Show(prompt, _localizedStrings.Prompts.CancelEditing, MessageBoxButton.OKCancel);
                _messageBoxIsShown = false;
                if (result == MessageBoxResult.OK)
                {
                    if (_mediaItemRPC != null)
                    {
                        _mediaItemRPC.Completed -= OnGetMediaItemRPCCompleted;
                        _mediaItemRPC.IsCancelled = true;
                    }

                    this.emptyImagesUploadingQueue();
                    cleanupPostMedia();
                    base.OnBackKeyPress(e);
                }
                else
                {
                    e.Cancel = true;
                }
            }
        }