private async Task HandleEditButton() { try { var page = ViewModel.CurrentWikiPage(Web.Request.Url.AbsoluteString); var wiki = await Task.Run(() => ViewModel.GetApplication().Client.Users[ViewModel.Username].Repositories[ViewModel.Repository].Wikis[page].GetInfo()); var composer = new Composer { Title = "Edit".t() + Title, Text = wiki.Data }; composer.NewComment(this, async (text) => { try { await composer.DoWorkAsync("Saving...", () => Task.Run(() => ViewModel.GetApplication().Client.Users[ViewModel.Username].Repositories[ViewModel.Repository].Wikis[page].Update(text, Uri.UnescapeDataString("/" + page)))); composer.CloseComposer(); Refresh(); } catch (Exception ex) { MonoTouch.Utilities.ShowAlert("Unable to update page!", ex.Message); composer.EnableSendButton = true; }; }); } catch (Exception e) { MonoTouch.Utilities.ShowAlert("Error", e.Message); } }
void AddCommentTapped() { var composer = new Composer(); composer.NewComment(this, async (text) => { try { await composer.DoWorkAsync("Commenting...".t(), () => ViewModel.AddComment(text)); composer.CloseComposer(); } catch (Exception ex) { MonoTouch.Utilities.ShowAlert("Unable to post comment!", ex.Message); } finally { composer.EnableSendButton = true; } }); }
private void ShowCommentComposer(int line) { var composer = new Composer(); composer.NewComment(this, async (text) => { try { await composer.DoWorkAsync("Commenting...", () => ViewModel.PostComment(text, line)); composer.CloseComposer(); } catch (Exception e) { MonoTouch.Utilities.ShowAlert("Unable to Comment".t(), e.Message); composer.EnableSendButton = true; } }); }