private void UpdateOwned() { //Is it owned? var app = Cirrious.CrossCore.Mvx.Resolve<CodeHub.Core.Services.IApplicationService>(); if (string.Equals(app.Account.Username, ViewModel.Gist.User.Login, StringComparison.OrdinalIgnoreCase)) { NavigationItem.RightBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Compose, async (s, e) => { try { var data = await this.DoWorkAsync("Loading...", () => app.Client.ExecuteAsync(app.Client.Gists[ViewModel.Id].Get())); var gistController = new EditGistController(data.Data); gistController.Created = editedGist => ViewModel.Gist = editedGist; var navController = new UINavigationController(gistController); PresentViewController(navController, true, null); } catch (Exception ex) { MonoTouch.Utilities.ShowAlert("Error", ex.Message); } }); } else { NavigationItem.RightBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.ForkButton, UIBarButtonItemStyle.Plain, async (s, e) => { try { NavigationItem.RightBarButtonItem.Enabled = false; await this.DoWorkAsync("Forking...", ViewModel.ForkGist); } catch (Exception ex) { MonoTouch.Utilities.ShowAlert("Error", ex.Message); } finally { NavigationItem.RightBarButtonItem.Enabled = true; } }); } }
private void UpdateOwned() { //Is it owned? if (string.Equals(Application.Account.Username, ViewModel.Gist.User.Login, StringComparison.OrdinalIgnoreCase)) { NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(CodeFramework.Theme.CurrentTheme.EditButton, () => { //We need to make sure we have the FULL gist this.DoWork(() => { var gist = Application.Client.Execute(Application.Client.Gists[ViewModel.Id].Get()).Data; InvokeOnMainThread(() => { var gistController = new EditGistController(gist); gistController.Created = (editedGist) => { ViewModel.Gist = editedGist; }; var navController = new UINavigationController(gistController); PresentViewController(navController, true, null); }); }); })); } else { NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(CodeFramework.Theme.CurrentTheme.ForkButton, () => { NavigationItem.RightBarButtonItem.Enabled = false; this.DoWork(() => { var forkedGist = Application.Client.Execute(Application.Client.Gists[ViewModel.Id].ForkGist()).Data; InvokeOnMainThread(delegate { NavigationController.PushViewController(new GistViewController(forkedGist), true); }); }, null, () => { NavigationItem.RightBarButtonItem.Enabled = true; }); })); } }
public EditSource(EditGistController dvc) : base(dvc) { _parent = dvc; }