public PackageViewModel(Package package)
        {
            _package = package ?? throw new ArgumentNullException(nameof(package));

            FullVersion = NuGetVersionFormatter.ToFullStringOrFallback(package.Version, fallback: package.Version);
            IsSemVer2   = package.SemVerLevelKey == SemVerLevelKey.SemVer2;

            Version = String.IsNullOrEmpty(package.NormalizedVersion) ?
                      NuGetVersionFormatter.Normalize(package.Version) :
                      package.NormalizedVersion;

            NuGetVersion = NuGetVersion.Parse(FullVersion);

            Description                = package.Description;
            ReleaseNotes               = package.ReleaseNotes;
            IconUrl                    = package.IconUrl;
            LatestVersion              = package.IsLatest;
            LatestVersionSemVer2       = package.IsLatestSemVer2;
            LatestStableVersion        = package.IsLatestStable;
            LatestStableVersionSemVer2 = package.IsLatestStableSemVer2;
            LastUpdated                = package.Published;
            Listed         = package.Listed;
            _packageStatus = package.PackageStatusKey;
            DownloadCount  = package.DownloadCount;
            Prerelease     = package.IsPrerelease;
        }
        public PackageViewModel(Package package)
        {
            _package = package;

            _fullVersion = NuGetVersionFormatter.ToFullStringOrFallback(package.Version, fallback: package.Version);
            _isSemVer2   = package.SemVerLevelKey == SemVerLevelKey.SemVer2;

            Version = String.IsNullOrEmpty(package.NormalizedVersion) ?
                      NuGetVersionFormatter.Normalize(package.Version) :
                      package.NormalizedVersion;

            Description                = package.Description;
            ReleaseNotes               = package.ReleaseNotes;
            IconUrl                    = package.IconUrl;
            ProjectUrl                 = package.ProjectUrl;
            LicenseUrl                 = package.LicenseUrl;
            HideLicenseReport          = package.HideLicenseReport;
            LatestVersion              = package.IsLatest;
            LatestVersionSemVer2       = package.IsLatestSemVer2;
            LatestStableVersion        = package.IsLatestStable;
            LatestStableVersionSemVer2 = package.IsLatestStableSemVer2;
            LastUpdated                = package.Published;
            Listed           = package.Listed;
            Deleted          = package.Deleted;
            DownloadCount    = package.DownloadCount;
            Prerelease       = package.IsPrerelease;
            LicenseReportUrl = package.LicenseReportUrl;

            var licenseNames = package.LicenseNames;

            if (!String.IsNullOrEmpty(licenseNames))
            {
                LicenseNames = licenseNames.Split(',').Select(l => l.Trim());
            }
        }
        public PackageViewModel(Package package)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            _package = package;

            FullVersion = NuGetVersionFormatter.ToFullStringOrFallback(package.Version, fallback: package.Version);
            IsSemVer2   = package.SemVerLevelKey == SemVerLevelKey.SemVer2;

            Version = String.IsNullOrEmpty(package.NormalizedVersion) ?
                      NuGetVersionFormatter.Normalize(package.Version) :
                      package.NormalizedVersion;

            NuGetVersion = NuGetVersion.Parse(FullVersion);

            Description                = package.Description;
            ReleaseNotes               = package.ReleaseNotes;
            IconUrl                    = package.IconUrl;
            ProjectUrl                 = package.ProjectUrl;
            RepositoryUrl              = package.RepositoryUrl;
            RepositoryType             = GetRepositoryKind(package.RepositoryUrl, package.RepositoryType);
            LicenseUrl                 = package.LicenseUrl;
            HideLicenseReport          = package.HideLicenseReport;
            LatestVersion              = package.IsLatest;
            LatestVersionSemVer2       = package.IsLatestSemVer2;
            LatestStableVersion        = package.IsLatestStable;
            LatestStableVersionSemVer2 = package.IsLatestStableSemVer2;
            LastUpdated                = package.Published;
            Listed           = package.Listed;
            _packageStatus   = package.PackageStatusKey;
            DownloadCount    = package.DownloadCount;
            Prerelease       = package.IsPrerelease;
            LicenseReportUrl = package.LicenseReportUrl;

            var licenseNames = package.LicenseNames;

            if (!string.IsNullOrEmpty(licenseNames))
            {
                LicenseNames = licenseNames.Split(',').Select(l => l.Trim());
            }
        }
Example #4
0
        public PackageViewModel(Package package)
        {
            _package = package;

            _fullVersion = NuGetVersionFormatter.ToFullStringOrFallback(package.Version, fallback: package.Version);
            _isSemVer2   = package.SemVerLevelKey == SemVerLevelKey.SemVer2;

            Version = String.IsNullOrEmpty(package.NormalizedVersion) ?
                      NuGetVersionFormatter.Normalize(package.Version) :
                      package.NormalizedVersion;

            NuGetVersion = NuGetVersion.Parse(_fullVersion);

            HasSemVer2Version    = NuGetVersion.IsSemVer2;
            HasSemVer2Dependency = package.Dependencies.ToList()
                                   .Where(pd => !string.IsNullOrEmpty(pd.VersionSpec))
                                   .Select(pd => VersionRange.Parse(pd.VersionSpec))
                                   .Any(p => (p.HasUpperBound && p.MaxVersion.IsSemVer2) || (p.HasLowerBound && p.MinVersion.IsSemVer2));

            Description                = package.Description;
            ReleaseNotes               = package.ReleaseNotes;
            IconUrl                    = package.IconUrl;
            ProjectUrl                 = package.ProjectUrl;
            LicenseUrl                 = package.LicenseUrl;
            HideLicenseReport          = package.HideLicenseReport;
            LatestVersion              = package.IsLatest;
            LatestVersionSemVer2       = package.IsLatestSemVer2;
            LatestStableVersion        = package.IsLatestStable;
            LatestStableVersionSemVer2 = package.IsLatestStableSemVer2;
            LastUpdated                = package.Published;
            Listed           = package.Listed;
            Deleted          = package.PackageStatusKey == PackageStatus.Deleted;
            DownloadCount    = package.DownloadCount;
            Prerelease       = package.IsPrerelease;
            LicenseReportUrl = package.LicenseReportUrl;

            var licenseNames = package.LicenseNames;

            if (!String.IsNullOrEmpty(licenseNames))
            {
                LicenseNames = licenseNames.Split(',').Select(l => l.Trim());
            }
        }