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