/// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> /// <exception cref="ResourceNotFoundException"></exception> public async Task Post(InstallPackage request) { var package = string.IsNullOrEmpty(request.Version) ? await _installationManager.GetLatestCompatibleVersion(request.Name, request.AssemblyGuid, typeof(PackageService).Assembly.GetName().Version, request.UpdateClass).ConfigureAwait(false) : await _installationManager.GetPackage(request.Name, request.AssemblyGuid, request.UpdateClass, Version.Parse(request.Version)).ConfigureAwait(false); if (package == null) { throw new ResourceNotFoundException(string.Format("Package not found: {0}", request.Name)); } await _installationManager.InstallPackage(package, new SimpleProgress <double>(), CancellationToken.None); }
/// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> /// <exception cref="ResourceNotFoundException"></exception> public void Post(InstallPackage request) { var package = string.IsNullOrEmpty(request.Version) ? _installationManager.GetLatestCompatibleVersion(request.Name, request.AssemblyGuid, _appHost.ApplicationVersion, request.UpdateClass).Result : _installationManager.GetPackage(request.Name, request.AssemblyGuid, request.UpdateClass, Version.Parse(request.Version)).Result; if (package == null) { throw new ResourceNotFoundException(string.Format("Package not found: {0}", request.Name)); } Task.Run(() => _installationManager.InstallPackage(package, new Progress <double>(), CancellationToken.None)); }
public static async Task <CheckForUpdateResult> CheckForApplicationUpdate(Version currentVersion, PackageVersionClass updateLevel, IInstallationManager installationManager, CancellationToken cancellationToken, IProgress <double> progress) { var availablePackages = await installationManager.GetAvailablePackagesWithoutRegistrationInfo(cancellationToken).ConfigureAwait(false); var version = installationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", null, currentVersion, updateLevel); var versionObject = version == null || string.IsNullOrWhiteSpace(version.versionStr) ? null : new Version(version.versionStr); var isUpdateAvailable = versionObject != null && versionObject > currentVersion; return(versionObject != null ? new CheckForUpdateResult { AvailableVersion = versionObject.ToString(), IsUpdateAvailable = isUpdateAvailable, Package = version } : new CheckForUpdateResult { AvailableVersion = currentVersion.ToString(), IsUpdateAvailable = false }); }
public static async Task<CheckForUpdateResult> CheckForApplicationUpdate(Version currentVersion, PackageVersionClass updateLevel, IInstallationManager installationManager, CancellationToken cancellationToken, IProgress<double> progress) { var availablePackages = await installationManager.GetAvailablePackagesWithoutRegistrationInfo(cancellationToken).ConfigureAwait(false); var version = installationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", null, currentVersion, updateLevel); var versionObject = version == null || string.IsNullOrWhiteSpace(version.versionStr) ? null : new Version(version.versionStr); var isUpdateAvailable = versionObject != null && versionObject > currentVersion; return versionObject != null ? new CheckForUpdateResult { AvailableVersion = versionObject.ToString(), IsUpdateAvailable = isUpdateAvailable, Package = version } : new CheckForUpdateResult { AvailableVersion = currentVersion.ToString(), IsUpdateAvailable = false }; }