IList <Tuple <ExecutionCommandCustomizer, object> > GetCachedCustomizers() { if (cachedCustomizers != null) { return(cachedCustomizers); } if (commandData == null) { return(cachedCustomizers = new Tuple <ExecutionCommandCustomizer, object> [0]); } return(cachedCustomizers = commandData .Select(cmdData => Tuple.Create( ExecutionModeCommandService.GetExecutionCommandCustomizer(cmdData.Key), cmdData.Value)) .Where(cc => cc != null) .ToList()); }
public IProcessAsyncOperation Execute(ExecutionCommand command, IConsole console, bool allowPrompt, bool forcePrompt) { if ((PromptForParameters || forcePrompt) && allowPrompt) { CommandExecutionContext ctx = new CommandExecutionContext(Project, command); CustomExecutionMode customMode = ExecutionModeCommandService.ShowParamtersDialog(ctx, Mode, this); if (customMode == null) { return(new CancelledProcessAsyncOperation()); } else { return(customMode.Execute(command, console, false, false)); } } if (commandData != null) { foreach (KeyValuePair <string, object> cmdData in commandData) { ExecutionCommandCustomizer cc = ExecutionModeCommandService.GetExecutionCommandCustomizer(cmdData.Key); if (cc != null) { cc.Customize(command, cmdData.Value); } } } ParameterizedExecutionHandler cmode = Mode.ExecutionHandler as ParameterizedExecutionHandler; if (cmode != null) { CommandExecutionContext ctx = new CommandExecutionContext(Project, command); return(cmode.Execute(command, console, ctx, Data)); } else { return(Mode.ExecutionHandler.Execute(command, console)); } }