Ejemplo n.º 1
0
Archivo: Tree.cs Proyecto: kiple/gitter
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
Archivo: Tree.cs Proyecto: Kuzq/gitter
        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);
        }