public NuGetViewModel() { _settings = Settings.LoadDefaultSettings( Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), configFileName: null, machineWideSettings: new CommandLineMachineWideSettings()); _sourceProvider = new PackageSourceProvider(_settings); GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(_settings); _packageSources = GetPackageSources(); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(_sourceProvider); _initializationTask = new Lazy<Task>(Initialize); }
private static async Task<IList<string>> GetListEndpointsAsync(IPackageSourceProvider sourceProvider) { var configurationSources = sourceProvider.LoadPackageSources() .Where(p => p.IsEnabled) .ToList(); var sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(sourceProvider); var listCommandResourceTasks = configurationSources.Select(source => sourceRepositoryProvider.CreateRepository(source)).Select(sourceRepository => sourceRepository.GetResourceAsync<ListCommandResource>()).ToList(); var listCommandResources = await Task.WhenAll(listCommandResourceTasks).ConfigureAwait(false); var listEndpoints = new List<string>(); foreach (var listCommandResource in listCommandResources) { string listEndpoint = null; if (listCommandResource != null) { listEndpoint = listCommandResource.GetListEndpoint(); } if (listEndpoint != null) { listEndpoints.Add(listEndpoint); } } return listEndpoints; }