public AddInPackage GetUpdate(AddInPackage package, bool includePrerelease)
        {
            var pkg =
                this._repository.GetUpdates(new[] { package.NuGetPackage }, includePrerelease, true).FirstOrDefault();

            if (pkg == null)
            {
                return(null);
            }

            return(AddInPackage.Create(pkg));
        }
        public AddInPackage Get(string id, string version)
        {
            SemanticVersion ver = SemanticVersion.Parse(version);

            IPackage pkg = this._repository.FindPackage(id, ver);

            if (pkg == null)
            {
                return(null);
            }

            return(AddInPackage.Create(pkg));
        }
        public AddInPackage Get(string id, bool includePrerelease)
        {
            var packages =
                this._repository.GetPackages()
                .Where(ip => StringComparer.Ordinal.Equals(id, ip.Id));

            if (includePrerelease)
            {
                packages = packages.Where(p => p.IsAbsoluteLatestVersion);
            }
            else
            {
                packages = packages.Where(p => p.IsLatestVersion);
            }

            IPackage pkg = packages.FirstOrDefault();

            if (pkg == null)
            {
                return(null);
            }

            return(AddInPackage.Create(pkg));
        }