public static Task ContinueOnSuccessInTheUIThread <T>(this Task <T> parent, Action <T> action) { return(parent.ContinueOnSuccess(result => Execute.OnTheUI(() => action(result)))); }
public static Task ContinueOnSuccessInTheUIThread(this Task parent, Action action) { return(parent.ContinueOnSuccess(() => Execute.OnTheUI(action))); }
public static Task <bool> ContinueWhenTrueInTheUIThread(this Task <bool> parent, Action action) { return(parent.ContinueWhenTrue((Action)(() => Execute.OnTheUI(action)))); }
public static Task FinallyInTheUIThread(this Task task, Action action) { return(task.ContinueWith(t => Execute.OnTheUI(action))); }
private static void Navigate(Uri source) { Execute.OnTheUI(() => Application.Current.Host.NavigationState = source.ToString()); }
internal void TimerTicked() { if (ApplicationModel.Current.Server.Value.CreateNewDatabase) { ApplicationModel.Current.Server.Value.CreateNewDatabase = false; ApplicationModel.Current.Server.Value.DocumentStore .AsyncDatabaseCommands .ForSystemDatabase() .GetAsync("Raven/StudioConfig") .ContinueWith(task => { if (task.IsFaulted == false) { Execute.OnTheUI(() => { if (task.Result != null && task.Result.DataAsJson.ContainsKey("WarnWhenUsingSystemDatabase")) { if (task.Result.DataAsJson.Value <bool>("WarnWhenUsingSystemDatabase") == false) { return; } } Command.ExecuteCommand(new CreateDatabaseCommand()); }); } else { GC.KeepAlive(task.Exception); // ignoring the exeption } }); } ApplicationModel.Current.UpdateAlerts(); if (currentTask != null) { return; } lock (this) { if (currentTask != null) { return; } var timeFromLastRefresh = SystemTime.UtcNow - lastRefresh; var refreshRate = GetRefreshRate(); if (timeFromLastRefresh < refreshRate) { return; } using (OnWebRequest(request => request.Headers["Raven-Timer-Request"] = "true")) currentTask = TimerTickedAsync(); if (currentTask == null) { return; } currentTask .Catch() .Finally(() => { lastRefresh = SystemTime.UtcNow; IsForced = false; currentTask = null; }); } }