public static async Task <Tree> GetAsync(Repository repository, string treeHash, IProgress <OperationProgress> progress, CancellationToken cancellationToken) { Verify.Argument.IsNotNull(repository, nameof(repository)); progress?.Report(new OperationProgress(Resources.StrsFetchingTree.AddEllipsis())); var parameters = new QueryTreeContentParameters(treeHash, true, false); var treeData = await repository.Accessor.QueryTreeContent.InvokeAsync(parameters, progress, cancellationToken); var tree = new Tree(repository, treeHash, false); tree.SetContent(treeData); return(tree); //return repository.Accessor.QueryTreeContent.InvokeAsync(parameters, progress, cancellationToken) // .ContinueWith( // t => // { // var treeData = TaskUtility.UnwrapResult(t); // var tree = new Tree(repository, treeHash, false); // tree.SetContent(treeData); // return tree; // }, // cancellationToken, // TaskContinuationOptions.ExecuteSynchronously, // TaskScheduler.Default); }
public static Task <Tree> GetAsync(Repository repository, string treeHash, IProgress <OperationProgress> progress, CancellationToken cancellationToken) { Verify.Argument.IsNotNull(repository, "repository"); if (progress != null) { progress.Report(new OperationProgress(Resources.StrsFetchingTree.AddEllipsis())); } var parameters = new QueryTreeContentParameters(treeHash, true, false); return(repository.Accessor.QueryTreeContent.InvokeAsync(parameters, progress, cancellationToken) .ContinueWith( t => { var treeData = TaskUtility.UnwrapResult(t); var tree = new Tree(repository, treeHash, false); tree.SetContent(treeData); return tree; }, cancellationToken, TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default)); }
public static Task<Tree> GetAsync(Repository repository, string treeHash, IProgress<OperationProgress> progress, CancellationToken cancellationToken) { Verify.Argument.IsNotNull(repository, "repository"); if(progress != null) { progress.Report(new OperationProgress(Resources.StrsFetchingTree.AddEllipsis())); } var parameters = new QueryTreeContentParameters(treeHash, true, false); return repository.Accessor.QueryTreeContent.InvokeAsync(parameters, progress, cancellationToken) .ContinueWith( t => { var treeData = TaskUtility.UnwrapResult(t); var tree = new Tree(repository, treeHash, false); tree.SetContent(treeData); return tree; }, cancellationToken, TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default); }