public void DismissError() { LoadSnapshotTask = new SnapshotTask() { Task = LastSucceededTask }; TriggerUpdate(LoadSnapshotTaskChangedEventArgs); }
private async Task StartLoadTask(Task <Snapshot> task) { try { await task; LastSucceededTask = task; } catch (Exception) { } finally { LoadSnapshotTask = new SnapshotTask() { Task = task }; TriggerUpdate(LoadSnapshotTaskChangedEventArgs); } }
public Task <Snapshot> UpdateAsync() { if (!LoadSnapshotTask.Task.IsCompleted) { return(LoadSnapshotTask.Task); } Snapshot oldSnapshot = null; if (LoadSnapshotTask.Task.Status == TaskStatus.RanToCompletion) { oldSnapshot = LoadSnapshotTask.Task.Result; } var task = HostedUtils.UpdateSnapshotAsync(HostedConfig, oldSnapshot); LoadSnapshotTask = new SnapshotTask() { Task = task }; TriggerUpdate(LoadSnapshotTaskChangedEventArgs); _ = StartLoadTask(task); return(task); }