private async Task OpenFromWeb()
        {
            var result = await openDocumentFromWeb.Open();

            if (result.Success != true)
            {
                return;
            }

            var postId = result.SelectedPost.postid != null?result.SelectedPost.postid.ToString() : null;

            var title = result.SelectedPost.title;

            var metaWebLogItem = new WebDocumentItem(null, eventAggregator, postId, title, result.SelectedBlog);

            await OpenDocument(metaWebLogItem, title, () => documentFactory.OpenBlogPost(result.SelectedBlog, postId, title));
        }
Example #2
0
        public void Handle(OpenFromWebEvent message)
        {
            var finishedWork = DoingWork(string.Format("Opening {0}", message.Name));

            var openedDocs     = MDI.Items.Cast <DocumentViewModel>();
            var metaWebLogItem = new WebDocumentItem(null, eventAggregator, message.Id, message.Name, message.Blog);
            var openedDoc      = openedDocs.SingleOrDefault(d => d.MarkpadDocument.IsSameItem(metaWebLogItem));

            if (openedDoc != null)
            {
                MDI.ActivateItem(openedDoc);
            }
            else
            {
                documentFactory.OpenBlogPost(message.Blog, message.Id, message.Name)
                .ContinueWith(t =>
                {
                    OpenDocumentResult(t);
                    finishedWork.Dispose();
                }, TaskScheduler.FromCurrentSynchronizationContext());
            }
        }
        public async void Handle(OpenFromWebEvent message)
        {
            var metaWebLogItem = new WebDocumentItem(null, eventAggregator, message.Id, message.Name, message.Blog);

            await OpenDocument(metaWebLogItem, message.Name, () => documentFactory.OpenBlogPost(message.Blog, message.Id, message.Name));
        }