private async Task CancelRepairTask()

in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs [760:792]


        private async Task CancelRepairTask(RepairTask task)
        {
            switch (task.State)
            {
                case RepairTaskState.Restoring:
                case RepairTaskState.Completed:
                {
                    break;
                }

                case RepairTaskState.Created:
                case RepairTaskState.Claimed:
                case RepairTaskState.Preparing:
                {
                    await this.fabricClient.RepairManager.CancelRepairTaskAsync(task.TaskId, 0, true);
                    break;
                }

                case RepairTaskState.Approved:
                case RepairTaskState.Executing:
                {
                    task.State = RepairTaskState.Restoring;
                    task.ResultStatus = RepairTaskResult.Cancelled;
                    await this.fabricClient.RepairManager.UpdateRepairExecutionStateAsync(task);
                    break;
                }

                default:
                {
                    throw new Exception(string.Format("Repair task {0} in invalid state {1}", task.TaskId, task.State));
                }
            }
        }