Exemplo n.º 1
0
        /// <summary>
        /// Gets the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>System.Object.</returns>
        public object Get(GetPackageVersionUpdates request)
        {
            var result = new List <PackageVersionInfo>();

            if (string.Equals(request.PackageType, "UserInstalled", StringComparison.OrdinalIgnoreCase) || string.Equals(request.PackageType, "All", StringComparison.OrdinalIgnoreCase))
            {
                result.AddRange(_installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, false, CancellationToken.None).Result.ToList());
            }

            else if (string.Equals(request.PackageType, "System", StringComparison.OrdinalIgnoreCase) || string.Equals(request.PackageType, "All", StringComparison.OrdinalIgnoreCase))
            {
                var updateCheckResult = _appHost.CheckForApplicationUpdate(CancellationToken.None, new SimpleProgress <double>()).Result;

                if (updateCheckResult.IsUpdateAvailable)
                {
                    result.Add(updateCheckResult.Package);
                }
            }

            return(ToOptimizedResult(result));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>System.Object.</returns>
        public object Get(GetPackageVersionUpdates request)
        {
            var result = new List <PackageVersionInfo>();

            if (request.PackageType == PackageType.UserInstalled || request.PackageType == PackageType.All)
            {
                result.AddRange(_installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, false, CancellationToken.None).Result.ToList());
            }

            else if (request.PackageType == PackageType.System || request.PackageType == PackageType.All)
            {
                var updateCheckResult = _appHost.CheckForApplicationUpdate(CancellationToken.None, new Progress <double>()).Result;

                if (updateCheckResult.IsUpdateAvailable)
                {
                    result.Add(updateCheckResult.Package);
                }
            }

            return(ToOptimizedResult(result));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>System.Object.</returns>
        public async Task <object> Get(GetPackageVersionUpdates request)
        {
            PackageVersionInfo[] result = null;

            if (string.Equals(request.PackageType, "UserInstalled", StringComparison.OrdinalIgnoreCase) || string.Equals(request.PackageType, "All", StringComparison.OrdinalIgnoreCase))
            {
                result = (await _installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, false, CancellationToken.None).ConfigureAwait(false)).ToArray();
            }

            else if (string.Equals(request.PackageType, "System", StringComparison.OrdinalIgnoreCase) ||
                     string.Equals(request.PackageType, "All", StringComparison.OrdinalIgnoreCase))
            {
                var updateCheckResult = await _appHost
                                        .CheckForApplicationUpdate(CancellationToken.None, new SimpleProgress <double>()).ConfigureAwait(false);

                if (updateCheckResult.IsUpdateAvailable)
                {
                    result = new PackageVersionInfo[] { updateCheckResult.Package };
                }
            }

            return(ToOptimizedResult(result ?? new PackageVersionInfo[] { }));
        }