private void Rollback(List <PackageAction> executedOperations) { if (executedOperations.Count > 0) { this.Logger.Log(MessageLevel.Warning, "Rolling back", new object[0]); } executedOperations.Reverse(); using (List <PackageAction> .Enumerator enumerator = executedOperations.GetEnumerator()) { while (enumerator.MoveNext()) { PackageAction action = CreateReverseAction(enumerator.Current); PackageProjectAction action2 = action as PackageProjectAction; if (action2 != null) { action2.ProjectManager.Logger = NullLogger.Instance; action2.ProjectManager.Execute(new PackageOperation(action2.Package, (action2.ActionType == PackageActionType.Install) ? PackageAction.Install : PackageAction.Uninstall)); continue; } PackageSolutionAction action3 = (PackageSolutionAction)action; action3.PackageManager.Logger = NullLogger.Instance; if (action3.ActionType == PackageActionType.AddToPackagesFolder) { action3.PackageManager.Execute(new PackageOperation(action3.Package, PackageAction.Install)); continue; } if (action3.ActionType == PackageActionType.DeleteFromPackagesFolder) { action3.PackageManager.Execute(new PackageOperation(action3.Package, PackageAction.Uninstall)); } } } }
public void AddOperation(PackageAction operationType, IPackage package, IProjectManager projectManager) { Operation item = new Operation(); item.OperationType = operationType; item.Package = package; item.ProjectManager = projectManager; this._operations.Add(item); }
private static PackageAction CreateReverseAction(PackageAction action) { PackageProjectAction action2 = action as PackageProjectAction; if (action2 != null) { return(new PackageProjectAction(GetReverseActionType(action2.ActionType), action2.Package, action2.ProjectManager)); } PackageSolutionAction action3 = (PackageSolutionAction)action; return(new PackageSolutionAction(GetReverseActionType(action3.ActionType), action3.Package, action3.PackageManager)); }
private static PackageAction CreateReverseAction(PackageAction action) { PackageProjectAction projectAction = action as PackageProjectAction; if (projectAction != null) { return(new PackageProjectAction( GetReverseActionType(projectAction.ActionType), projectAction.Package, projectAction.ProjectManager)); } PackageSolutionAction solutionAction = (PackageSolutionAction)action; return(new PackageSolutionAction( GetReverseActionType(solutionAction.ActionType), solutionAction.Package, solutionAction.PackageManager)); }
private static PackageAction CreateReverseAction(PackageAction action) { PackageProjectAction projectAction = action as PackageProjectAction; if (projectAction != null) { return new PackageProjectAction( GetReverseActionType(projectAction.ActionType), projectAction.Package, projectAction.ProjectManager); } PackageSolutionAction solutionAction = (PackageSolutionAction)action; return new PackageSolutionAction( GetReverseActionType(solutionAction.ActionType), solutionAction.Package, solutionAction.PackageManager); }