// Load items using the specified loader internal void LoadItems( IPackageItemLoader loader, string loadingMessage, INuGetUILogger logger, Task <SearchResult <IPackageSearchMetadata> > searchResultTask, CancellationToken token) { _loader = loader; _logger = logger; _initialSearchResultTask = searchResultTask; _loadingStatusIndicator.Reset(loadingMessage); _loadingStatusBar.Visibility = Visibility.Hidden; _loadingStatusBar.Reset(loadingMessage, loader.IsMultiSource); var selectedPackageItem = SelectedPackageItem; _itemsLock.Wait(); try { ClearPackageList(); } finally { _itemsLock.Release(); } _selectedCount = 0; // triggers the package list loader LoadItems(selectedPackageItem, token); }
// Load items using the specified loader internal void LoadItems(IItemLoader <PackageItemListViewModel> loader, string loadingMessage, INuGetUILogger logger) { _loader = loader; _logger = logger; _loadingStatusIndicator.Reset(loadingMessage); _loadingStatusBar.Visibility = Visibility.Hidden; _loadingStatusBar.Reset(loadingMessage, loader.IsMultiSource); var selectedPackageItem = SelectedPackageItem; _itemsLock.Wait(); try { ClearPackageList(); } finally { _itemsLock.Release(); } _selectedCount = 0; // triggers the package list loader LoadItems(selectedPackageItem); }
// Load items using the specified loader internal async Task LoadItemsAsync( IPackageItemLoader loader, string loadingMessage, INuGetUILogger logger, Task <SearchResultContextInfo> searchResultTask, CancellationToken token) { if (loader == null) { throw new ArgumentNullException(nameof(loader)); } if (string.IsNullOrEmpty(loadingMessage)) { throw new ArgumentException(Strings.Argument_Cannot_Be_Null_Or_Empty, nameof(loadingMessage)); } if (searchResultTask == null) { throw new ArgumentNullException(nameof(searchResultTask)); } token.ThrowIfCancellationRequested(); _loader = loader; _logger = logger; _initialSearchResultTask = searchResultTask; _loadingStatusIndicator.Reset(loadingMessage); _loadingStatusBar.Visibility = Visibility.Hidden; _loadingStatusBar.Reset(loadingMessage, loader.IsMultiSource); var selectedPackageItem = SelectedPackageItem; await _list.ItemsLock.ExecuteAsync(() => { ClearPackageList(); return(Task.CompletedTask); }); _selectedCount = 0; // triggers the package list loader await LoadItemsAsync(selectedPackageItem, token); }
// Load items using the specified loader internal void LoadItems( IPackageItemLoader loader, string loadingMessage, INuGetUILogger logger, Task <SearchResult <IPackageSearchMetadata> > searchResultTask, CancellationToken token) { if (loader == null) { throw new ArgumentNullException(nameof(loader)); } if (string.IsNullOrEmpty(loadingMessage)) { throw new ArgumentException(Strings.Argument_Cannot_Be_Null_Or_Empty, nameof(loadingMessage)); } if (searchResultTask == null) { throw new ArgumentNullException(nameof(searchResultTask)); } token.ThrowIfCancellationRequested(); _loader = loader; _logger = logger; _initialSearchResultTask = searchResultTask; _loadingStatusIndicator.Reset(loadingMessage); _loadingStatusBar.Visibility = Visibility.Hidden; _loadingStatusBar.Reset(loadingMessage, loader.IsMultiSource); var selectedPackageItem = SelectedPackageItem; _itemsLock.Wait(); try { ClearPackageList(); } finally { _itemsLock.Release(); } _selectedCount = 0; // triggers the package list loader LoadItems(selectedPackageItem, token); }