示例#1
0
        // 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);
        }