From e61e6bde8f208766eea51e407fd373f30e93c4ae Mon Sep 17 00:00:00 2001 From: tom-englert Date: Thu, 15 Aug 2024 17:26:00 +0200 Subject: [PATCH] minor refactoring --- NuGetMonitor.Model/Services/ProjectService.cs | 6 +++--- src/ViewModels/PackageViewModel.cs | 11 ++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/NuGetMonitor.Model/Services/ProjectService.cs b/NuGetMonitor.Model/Services/ProjectService.cs index a2e5012..7850dd9 100644 --- a/NuGetMonitor.Model/Services/ProjectService.cs +++ b/NuGetMonitor.Model/Services/ProjectService.cs @@ -200,15 +200,15 @@ private static IEnumerable GetPackageReferenceItem var version = projectItem.GetVersion() ?? projectItem.GetVersionOverride(); var project = projectItemInTargetFramework.Project; - if (version is null && project.CentralVersionMap.TryGetValue(id, out versionSource)) + if (version is null && project.CentralVersionMap.TryGetValue(id, out var mappedVersion)) { + versionSource = mappedVersion; version = versionSource.GetVersion(); } - // ! versionSource is checked above. return version is null ? null - : new PackageReferenceEntry(id, version, versionSource!, projectItemInTargetFramework, projectItem.GetMetadataValue("Justification"), projectItem.GetIsPrivateAsset()); + : new PackageReferenceEntry(id, version, versionSource, projectItemInTargetFramework, projectItem.GetMetadataValue("Justification"), projectItem.GetIsPrivateAsset()); } internal static bool IsTrue(this ProjectProperty? property) diff --git a/src/ViewModels/PackageViewModel.cs b/src/ViewModels/PackageViewModel.cs index 2af3898..e8e596b 100644 --- a/src/ViewModels/PackageViewModel.cs +++ b/src/ViewModels/PackageViewModel.cs @@ -43,7 +43,7 @@ public PackageViewModel(IGrouping items public ICommand UpdateCommand => new DelegateCommand(() => IsUpdateAvailable, () => { NuGetMonitorViewModel.Update(this); }); // ! ProjectUrl is checked in CanExecute - public ICommand OpenProjectUrlCommand => new DelegateCommand(() => PackageInfo?.ProjectUrl != null, () => Process.Start(PackageInfo!.ProjectUrl.AbsoluteUri)); + public ICommand OpenProjectUrlCommand => new DelegateCommand(() => PackageInfo?.ProjectUrl != null, OpenProjectUrl); public PackageInfo? PackageInfo { get; private set; } @@ -108,4 +108,13 @@ private async void OnPackageReferenceChanged() // session cancelled } } + + private void OpenProjectUrl() + { + var projectUrl = PackageInfo?.ProjectUrl; + if (projectUrl == null) + return; + + Process.Start(projectUrl.AbsoluteUri); + } } \ No newline at end of file