public TargetLocationViewModel(string baseFolder, LibraryNameBinding libraryNameBinding, ISearchService searchService) : base(searchService, baseFolder, null, automationName: Resources.Text.TargetLocation) { _baseFolder = baseFolder ?? string.Empty; _lastSuggestedTargetLocation = baseFolder ?? string.Empty; SearchText = baseFolder; _libraryNameBinding = libraryNameBinding ?? throw new ArgumentNullException(nameof(libraryNameBinding)); _libraryNameBinding.PropertyChanged += LibraryNameChanged; }
public InstallDialogViewModel(ILibraryCommandService libraryCommandService, string configFileName, IDependencies deps, LibraryIdViewModel libraryIdViewModel, TargetLocationViewModel targetLocationViewModel, SelectedProviderBinding selectedProviderBinding, LibraryNameBinding bindLibraryNameToTargetLocation, string targetPath, Project project, string initialProvider) { _libraryCommandService = libraryCommandService; _configFileName = configFileName; _targetPath = targetPath; _deps = deps; _anyFileSelected = false; _isTreeViewEmpty = true; _selectedProviderBinding = selectedProviderBinding; _libraryNameChange = bindLibraryNameToTargetLocation; _project = project; _taskFactory = new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext()); LibraryIdViewModel = libraryIdViewModel; TargetLocationViewModel = targetLocationViewModel; var providers = new List <IProvider>(); foreach (IProvider provider in deps.Providers.OrderBy(x => x.Id)) { ILibraryCatalog catalog = provider.GetCatalog(); if (catalog == null) { continue; } if (_catalog == null || provider.Id.Equals(initialProvider, StringComparison.Ordinal)) { SelectedProvider = provider; _selectedProviderBinding.SelectedProvider = SelectedProvider; _catalog = catalog; } providers.Add(provider); } Providers = providers; InstallPackageCommand = ActionCommand.Create(InstallPackage, CanInstallPackage, false); Task t = LoadPackagesAsync(); LibraryIdViewModel.PropertyChanged += LibraryIdViewModel_PropertyChanged; }