Exemple #1
0
        public void Execute(PackageOperationType operationType, IPackageDetails packageDetails, IRepository sourceRepository = null, bool allowedPrerelease = false)
        {
            Argument.IsNotNull(() => packageDetails);

            using (_pleaseWaitService.WaitingScope())
            {
                using (_packageOperationContextService.UseOperationContext(operationType, packageDetails))
                {
                    _packageOperationContextService.CurrentContext.Repository = sourceRepository;
                    switch (operationType)
                    {
                    case PackageOperationType.Uninstall:
                        _packageOperationService.UninstallPackage(packageDetails);
                        break;

                    case PackageOperationType.Install:
                        _packageOperationService.InstallPackage(packageDetails, allowedPrerelease);
                        break;

                    case PackageOperationType.Update:
                        _packageOperationService.UpdatePackages(packageDetails, allowedPrerelease);
                        break;
                    }
                }
            }

            packageDetails.IsInstalled = null;
        }