public void UpdateAvailablePackageDetails(RPackage package) { Uri repositoryUri; Uri.TryCreate(package.Repository, UriKind.Absolute, out repositoryUri); LatestVersion = package.Version; Depends = package.Depends; Imports = package.Imports; Suggests = package.Suggests; License = package.License; RepositoryUri = repositoryUri; RepositoryText = repositoryUri != null ? null : package.Repository; IsUpdateAvailable = new RPackageVersion(LatestVersion).CompareTo(new RPackageVersion(InstalledVersion)) > 0; }
public void AddDetails(RPackage package, bool isInstalled) { Title = package.Title.NormalizeWhitespace(); Description = package.Description.NormalizeWhitespace(); Authors = package.Author.NormalizeWhitespace(); Urls = package.URL?.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Trim()) .ToArray() ?? new string[0]; LibraryPath = package.LibPath; Built = package.Built; if (isInstalled) { InstalledVersion = package.Version; IsInstalled = true; IsUpdateAvailable = new RPackageVersion(LatestVersion).CompareTo(new RPackageVersion(InstalledVersion)) > 0; } HasDetails = true; }