private void ClearDownloadCache_Click(object sender, EventArgs args) { var result = MachineCache.Default.Clear(); if (result) { UIServices.Show("The NuGet download cache has been cleared successfully.", MessageLevel.Information); } else { UIServices.Show("The NuGet download cache does not exist.", MessageLevel.Information); } }
private void ViewDownloadCache_Click(object sender, EventArgs args) { var cacheSource = MachineCache.Default.Source; if (Directory.Exists(cacheSource)) { Process.Start(cacheSource); } else { UIServices.Show("The NuGet download cache does not exist.", MessageLevel.Information); } }
private bool OpenLocalPackageCore(string packagePath) { IPackage package = null; var tempFile = Path.GetTempFileName(); try { File.Copy(packagePath, tempFile, overwrite: true); var extension = Path.GetExtension(packagePath); if (extension.Equals(Constants.PackageExtension, StringComparison.OrdinalIgnoreCase)) { package = new ZipPackage(tempFile); } else if (extension.Equals(Constants.ManifestExtension, StringComparison.OrdinalIgnoreCase)) { using (var str = ManifestUtility.ReadManifest(tempFile)) { var builder = new PackageBuilder(str, Path.GetDirectoryName(packagePath)); package = builder.Build(); } } if (package != null) { LoadPackage(package, packagePath, PackageType.LocalPackage); _tempFile = tempFile; return(true); } } catch (Exception ex) { package = null; UIServices.Show(ex.Message, MessageLevel.Error); return(false); } finally { if (package == null && File.Exists(tempFile)) { try { File.Delete(tempFile); } catch { /* ignore */ } } } return(false); }
private async void OnPackageDownloadRequested(object sender, EventArgs e) { DiagnosticsClient.TrackEvent("PackageChooserService_OnPackageDownloadRequested"); var vm = (PackageChooserViewModel)sender; var repository = vm.ActiveRepository; var packageInfo = vm.SelectedPackage; if (packageInfo != null && repository != null) { var packageName = packageInfo.Id + "." + packageInfo.Version + NuGetPe.Constants.PackageExtension; var title = "Save " + packageName; const string filter = "NuGet package file (*.nupkg)|*.nupkg|NuGet Symbols package file (*.snupkg)|*.snupkg|All files (*.*)|*.*"; var accepted = UIServices.OpenSaveFileDialog( title, packageName, null, filter, overwritePrompt: true, selectedFilePath: out var selectedFilePath, selectedFilterIndex: out var selectedIndex); if (accepted) { if (selectedIndex == 1 && !selectedFilePath.EndsWith(NuGetPe.Constants.PackageExtension, StringComparison.OrdinalIgnoreCase)) { selectedFilePath += NuGetPe.Constants.PackageExtension; } else if (selectedIndex == 2 && !selectedFilePath.EndsWith(NuGetPe.Constants.SymbolPackageExtension, StringComparison.OrdinalIgnoreCase)) { selectedFilePath += NuGetPe.Constants.SymbolPackageExtension; } try { await PackageDownloader.Download(selectedFilePath, repository, packageInfo.Identity); } catch (Exception ex) { UIServices.Show(ex.Message, MessageLevel.Error); } } } }
private async void LoadPackage(IPackage package, string packagePath, string packageSource, PackageType packageType) { DisposeViewModel(); if (package != null) { if (!HasLoadedContent <PackageViewer>()) { var packageViewer = new PackageViewer(SettingsManager, UIServices, PackageChooser); var binding = new Binding { Converter = new NullToVisibilityConverter(), FallbackValue = Visibility.Collapsed }; packageViewer.SetBinding(VisibilityProperty, binding); MainContentContainer.Children.Add(packageViewer); #if !HAS_UNO // HACK HACK: set the Export of IPackageMetadataEditor here EditorService = packageViewer.PackageMetadataEditor; #endif } try { var packageViewModel = await PackageViewModelFactory.CreateViewModel(package, packagePath, packageSource); packageViewModel.PropertyChanged += OnPackageViewModelPropertyChanged; DataContext = packageViewModel; if (!string.IsNullOrEmpty(packageSource)) { _mruManager.NotifyFileAdded(package, packageSource, packageType); } } catch (Exception e) { if (!(e is ArgumentException)) { DiagnosticsClient.TrackException(e); } Console.WriteLine(e); UIServices.Show($"Error loading package\n{e.Message}", MessageLevel.Error); } } }
internal async Task OpenLocalPackage(string packagePath) { if (!File.Exists(packagePath)) { UIServices.Show("File not found at " + packagePath, MessageLevel.Error); return; } object oldContent = PackageSourceItem.Content; PackageSourceItem.SetCurrentValue(ContentProperty, "Loading " + packagePath + "..."); bool succeeded = await Dispatcher.InvokeAsync( () => OpenLocalPackageCore(packagePath), DispatcherPriority.Loaded); if (!succeeded) { // restore old content PackageSourceItem.SetCurrentValue(ContentProperty, oldContent); } }
private async void LoadPackage(IPackage package, string packagePath, PackageType packageType) { DisposeViewModel(); if (package != null) { if (!HasLoadedContent <PackageViewer>()) { var packageViewer = new PackageViewer(UIServices, PackageChooser); var binding = new Binding { Converter = new NullToVisibilityConverter(), FallbackValue = Visibility.Collapsed }; packageViewer.SetBinding(VisibilityProperty, binding); MainContentContainer.Children.Add(packageViewer); // HACK HACK: set the Export of IPackageMetadataEditor here EditorService = packageViewer.PackageMetadataEditor; } try { PackageViewModel packageViewModel = await PackageViewModelFactory.CreateViewModel(package, packagePath); packageViewModel.PropertyChanged += OnPackageViewModelPropertyChanged; DataContext = packageViewModel; if (!String.IsNullOrEmpty(packagePath)) { _mruManager.NotifyFileAdded(package, packagePath, packageType); } } catch (Exception e) { UIServices.Show($"Error loading package\n{e.Message}", MessageLevel.Error); } } }
internal async Task OpenLocalPackage(string packagePath) { DiagnosticsClient.TrackEvent("MainWindow_OpenLocalPackage"); if (!File.Exists(packagePath)) { UIServices.Show("File not found at " + packagePath, MessageLevel.Error); return; } //var oldContent = PackageSourceItem.Content; //PackageSourceItem.SetCurrentValue(ContentProperty, "Loading " + packagePath + "..."); await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => OpenLocalPackageCore(packagePath)); //if (!succeeded) //{ // // restore old content // PackageSourceItem.SetCurrentValue(ContentProperty, oldContent); //} }
private void OnError(Exception error) { UIServices.Show((error.InnerException ?? error).Message, MessageLevel.Error); }