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;
        }
Esempio n. 2
0
        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;
        }