public void ShowParameterEditor(IPowerShellCommand command)
        {
            var view = new PSParameterEditor(this, _dataProvider);

            ContentHost.Content = view;
            ((PSParameterEditorViewModel)view.DataContext).LoadCommand(command);
        }
        public PSCommandDetailsViewModel(IDialog window, IDataProvider dataProvider, IPowerShellCommand commandInfo)
        {
            _window       = window;
            _dataProvider = dataProvider;
            _commandInfo  = commandInfo;
            _isBusy       = true;

            _title = string.Format("Details: {0}", _commandInfo.Name);
            _dataProvider.GetCommandHelp(_commandInfo, GetHelpCallback);

            Close = new ViewModelCommand(this, _window.Close);
        }
Пример #3
0
        public ParameterEditorViewModel(IDialog window, IDataProvider dataProvider, IPowerShellCommand commandInfo)
        {
            _window       = window;
            _dataProvider = dataProvider;
            _commandInfo  = commandInfo;
            _isBusy       = true;

            _title = string.Format("Parameters: {0}", _commandInfo.Name);
            _dataProvider.GetCommandMetaData(_commandInfo, GetCommandMetadataCallback);

            ShowDetailsCommand = new ViewModelCommand <object>(this, ShowDetails, CanShowDetails);
            Close = new ViewModelCommand(this, _window.Close);
        }
Пример #4
0
        public async void GetCommandMetaData(IPowerShellCommand command, Action <IPowerShellCommandMetadata> callback)
        {
            try
            {
                var data = await Host.ExplorerService.GetCommandMetadata(command);

                callback(data);
            }
            catch (Exception ex)
            {
                Log.Error("Failed to retrive command metadata", ex);
            }
        }
Пример #5
0
        public async void GetCommandHelp(IPowerShellCommand command, Action <string> callback)
        {
            try
            {
                var data = await Host.ExplorerService.GetCommandHelp(command);

                callback(data);
            }
            catch (Exception ex)
            {
                Log.Error("Failed to retrive command help", ex);
            }
        }
        public async Task <string> GetCommandHelp(IPowerShellCommand command)
        {
            var script = string.Format("Get-Help -Name {0} -Full | Out-String", command.Name);

            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <string>(script)
                                               );

            var result = await myTask;

            if (result.Count > 0)
            {
                return(result[0]);
            }

            return(string.Empty);
        }
        public async Task <IPowerShellCommandMetadata> GetCommandMetadata(IPowerShellCommand command)
        {
            var script = string.Format("New-object System.Management.Automation.CommandMetaData -ArgumentList (Get-Command {0})", command.Name);

            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <CommandMetadata>(script)
                                               );

            var result = await myTask;
            var items  = ConversionFactory.Convert(result);

            if (items.Count > 0)
            {
                return(items[0]);
            }

            return(new PowerShellCommandMetadata());
        }
 public void LoadCommand(IPowerShellCommand command)
 {
     _isBusy  = true;
     _command = command;
     _dataProvider.GetCommandMetaData(_command, GetCommandMetadataCallback);
 }
        public ParameterEditor(IDataProvider dataProvider, IPowerShellCommand commandInfo)
        {
            InitializeComponent();

            this.DataContext = new ParameterEditorViewModel(this, dataProvider, commandInfo);
        }
        public PSCommandDetails(IDataProvider dataProvider, IPowerShellCommand commandInfo)
        {
            InitializeComponent();

            this.DataContext = new PSCommandDetailsViewModel(this, dataProvider, commandInfo);
        }