Esempio n. 1
0
        public void NewStack(JToken token, CancellationToken cancellationToken)
        {
            var parameters = token.ToObject <NewStackRequestParams>();
            var processor  = new ShortStackProcessor(parameters.StartPath);

            processor.CreateNewStack(parameters.StackName, parameters.DesiredOriginBranch);

            this.broadcastClientNotify.NewStackCreated(parameters.StackName);
        }
Esempio n. 2
0
 public Task <DanglingWorkStatus> CheckForDanglingWork(JToken token, CancellationToken cancellationToken)
 {
     return(Tasks.PerformLongRunningOperation <DanglingWorkStatus>(
                () =>
     {
         var parameters = token.ToObject <NonStackRequestParams>();
         var processor = new ShortStackProcessor(parameters.StartPath);
         return processor.GetDanglingWorkStatus();
     }, cancellationToken));
 }
Esempio n. 3
0
 public Task PushStackLevel(JToken token, CancellationToken cancellationToken)
 {
     return(Tasks.PerformLongRunningOperation(
                () =>
     {
         var parameters = token.ToObject <PushStackLevelRequestParams>();
         var processor = new ShortStackProcessor(parameters.StackInfo.RepositoryRootPath);
         processor.PushStackLevel();
     }, cancellationToken));
 }
Esempio n. 4
0
 public Task CreateNewStackLevelAsync(JToken token, CancellationToken cancellationToken)
 {
     return(Tasks.PerformLongRunningOperation(
                () =>
     {
         var parameters = token.ToObject <StackedRequestParams>();
         var processor = new ShortStackProcessor(parameters.StackInfo.RepositoryRootPath);
         processor.CreateNextStackLevel(parameters.StackInfo.StackName);
     }, cancellationToken));
 }
Esempio n. 5
0
 public void GoToStackLevel(JToken token, CancellationToken cancellationToken)
 {
     Tasks.PerformLongRunningOperation(
         () =>
     {
         var parameters = token.ToObject <StackedRequestParams>();
         var processor  = new ShortStackProcessor(parameters.StackInfo.RepositoryRootPath);
         processor.GoToStackLevel(parameters.StackInfo.StackName, parameters.StackLevel.Number);
         return;
     }, cancellationToken);
 }
Esempio n. 6
0
 public Task <StackInfoRequestResponse> GetStackInfoAsync(JToken token, CancellationToken cancellationToken)
 {
     return(Tasks.PerformLongRunningOperation(
                () =>
     {
         var parameters = token.ToObject <NonStackRequestParams>();
         var processor = new ShortStackProcessor(parameters.StartPath);
         return new StackInfoRequestResponse(processor.Stacks.Values);
     },
                cancellationToken));
 }
Esempio n. 7
0
 public Task <GetLevelDetailsResponse> GetLevelDetails(JToken token, CancellationToken cancellationToken)
 {
     return(Tasks.PerformLongRunningOperation(
                () =>
     {
         var parameters = token.ToObject <StackedRequestParams>();
         var processor = new ShortStackProcessor(parameters.StackInfo.RepositoryRootPath);
         var outputLevel = processor.GetLevelDetails(parameters.StackLevel);
         return new GetLevelDetailsResponse(outputLevel);
     },
                cancellationToken));
 }
Esempio n. 8
0
        public Task <GetOriginBranchesResponse> GetOriginBranchesAsync(JToken token, CancellationToken cancellationToken)
        {
            return(Tasks.PerformLongRunningOperation(
                       () =>
            {
                var parameters = token.ToObject <NonStackRequestParams>();
                var processor = new ShortStackProcessor(parameters.StartPath);
                var originBranches = processor.OriginBranches;

                var branches = new List <OriginBranchInformation>();

                foreach (var originBranch in originBranches)
                {
                    branches.Add(new OriginBranchInformation(originBranch.FriendlyName, originBranch.RemoteName, originBranch.CanonicalName));
                }

                return new GetOriginBranchesResponse(branches);
            },
                       cancellationToken));
        }