示例#1
0
        public InstallListViewModel(IChocolateyInstaller installer, ConsoleViewModel console, InstalledPackagesViewModel installedPackages, ISetupScriptCreator scriptCreator)
        {
            this._installer         = installer;
            this._console           = console;
            this._installedPackages = installedPackages;
            this._scriptCreator     = scriptCreator;

            this.Packages      = new ObservableCollection <ChocolateyPackageVersion>();
            this.IsWorking     = false;
            this.StatusMessage = "Ready";

            this.AddPackageToInstallListCommand      = new RelayCommand <ChocolateyPackageVersion>(this.AddPackageToInstallList);
            this.RemovePackageFromInstallListCommand =
                new RelayCommand <ChocolateyPackageVersion>(this.RemovePackageToInstallList, package => package != null);
            this.ClearInstallListCommand = new RelayCommand(() => this.Packages.Clear(), () => this.Packages.Any() && !this.IsWorking);
            this.InstallPackagesCommand  = new RelayCommand(async() => await this.InstallPackages(), () => this.Packages.Any() && !this.IsWorking);
            this.CancelInstallCommand    = new RelayCommand(async() => await this.CancelInstall());
            this.SaveSetupScriptCommand  = new RelayCommand(this.SaveSetupScript, () => this.Packages.Any() && !this.IsWorking);
        }
        public InstallListViewModel(IChocolateyInstaller installer, ConsoleViewModel console, InstalledPackagesViewModel installedPackages, ISetupScriptCreator scriptCreator)
        {
            this._installer = installer;
            this._console = console;
            this._installedPackages = installedPackages;
            this._scriptCreator = scriptCreator;

            this.Packages = new ObservableCollection<ChocolateyPackageVersion>();
            this.IsWorking = false;
            this.StatusMessage = "Ready";

            this.AddPackageToInstallListCommand = new RelayCommand<ChocolateyPackageVersion>(this.AddPackageToInstallList);
            this.RemovePackageFromInstallListCommand =
                new RelayCommand<ChocolateyPackageVersion>(this.RemovePackageToInstallList, package => package != null);
            this.ClearInstallListCommand = new RelayCommand(() => this.Packages.Clear(), () => this.Packages.Any() && !this.IsWorking);
            this.InstallPackagesCommand = new RelayCommand(async () => await this.InstallPackages(), () => this.Packages.Any() && !this.IsWorking);
            this.CancelInstallCommand = new RelayCommand(async () => await this.CancelInstall());
            this.SaveSetupScriptCommand = new RelayCommand(this.SaveSetupScript, () => this.Packages.Any() && !this.IsWorking);
        }