Exemplo n.º 1
0
        public Command Select(string commandName, List<Command> availableCommands)
        {
            var command = new MatchSelector<Command>().Match(commandName, availableCommands, c => c.Name);
            if (command != null)
                return command;

            var exception = new CommandNotFoundException(commandName);
            exception.AvailableCommands.AddRange(availableCommands);

            var possibleCommands = new MatchSelector<Command>().PartialMatch(commandName, availableCommands, c => c.Name);
            exception.PossibleCommands.AddRange(possibleCommands);

            throw exception;
        }
Exemplo n.º 2
0
        public CommandAction Select(string actionName, Command command, IEnumerable<CommandAction> availableActions)
        {
            CommandAction action = new MatchSelector<CommandAction>().Match(actionName, availableActions, c => c.Name);

            if (action != null)
                return action;

            var exception = new CommandActionNotFoundException(actionName, command);
            exception.AvailableActions.AddRange(availableActions);

            var possibleActions = new MatchSelector<CommandAction>().PartialMatch(actionName, availableActions, c => c.Name);
            exception.PossibleActions.AddRange(possibleActions);

            throw exception;
        }