Browse Source

PackageManagement: Events, Exceptions, Refactoring

pull/374/head
Dragan 12 years ago
parent
commit
94bf479277
  1. 41
      src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs

41
src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs

@ -216,14 +216,13 @@ namespace ICSharpCode.PackageManagement
TryInstallingPackage(); TryInstallingPackage();
} }
else { else {
var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository(); TryInstallingSolutionPackage();
var packageManager = new NuGet.PackageManager(package.Repository, solutionPackageRepository.PackagePathResolver, solutionPackageRepository.FileSystem, solutionPackageRepository.Repository);
packageManager.InstallPackage(package.Id, package.Version, false, parent.IncludePrerelease);
} }
} }
logger.LogAfterPackageOperationCompletes(); logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded); OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
} }
protected virtual IDisposable StartInstallOperation(IPackageFromRepository package) protected virtual IDisposable StartInstallOperation(IPackageFromRepository package)
@ -290,7 +289,20 @@ namespace ICSharpCode.PackageManagement
{ {
return selectedProjects.IsPackageInstalledInSolution(package); return selectedProjects.IsPackageInstalledInSolution(package);
} }
void TryInstallingSolutionPackage()
{
try {
var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository();
var packageManager = new NuGet.PackageManager(package.Repository, solutionPackageRepository.PackagePathResolver, solutionPackageRepository.FileSystem, solutionPackageRepository.Repository);
packageManager.InstallPackage(package.Id, package.Version, false, parent.IncludePrerelease);
packageManagementEvents.OnParentPackageInstalled(package);
} catch (Exception ex) {
ReportError(ex);
logger.LogError(ex);
}
}
void TryInstallingPackage() void TryInstallingPackage()
{ {
try { try {
@ -352,20 +364,32 @@ namespace ICSharpCode.PackageManagement
if (package.HasProjectContent()) { if (package.HasProjectContent()) {
TryUninstallingPackage(); TryUninstallingPackage();
} else { } else {
var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository(); TryUninstallingSolutionPackage();
var packageManager = new NuGet.PackageManager(solutionPackageRepository.Repository, solutionPackageRepository.PackagePathResolver, solutionPackageRepository.FileSystem);
packageManager.UninstallPackage(package.Id, package.Version);
} }
logger.LogAfterPackageOperationCompletes(); logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded); OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
} }
void LogRemovingPackage() void LogRemovingPackage()
{ {
logger.LogRemovingPackage(); logger.LogRemovingPackage();
} }
void TryUninstallingSolutionPackage()
{
try {
var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository();
var packageManager = new NuGet.PackageManager(solutionPackageRepository.Repository, solutionPackageRepository.PackagePathResolver, solutionPackageRepository.FileSystem);
packageManager.UninstallPackage(package.Id, package.Version);
packageManagementEvents.OnParentPackageUninstalled(package);
} catch (Exception ex) {
ReportError(ex);
logger.LogError(ex);
}
}
void TryUninstallingPackage() void TryUninstallingPackage()
{ {
try { try {
@ -429,6 +453,7 @@ namespace ICSharpCode.PackageManagement
logger.LogAfterPackageOperationCompletes(); logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded); OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
} }
void TryInstallingPackagesForSelectedProjects(IList<IPackageManagementSelectedProject> projects) void TryInstallingPackagesForSelectedProjects(IList<IPackageManagementSelectedProject> projects)

Loading…
Cancel
Save