Binboo.Jira.Commands.LinkIssueCommand.ProcessCommand C# (CSharp) Method

ProcessCommand() protected method

protected ProcessCommand ( IContext context ) : ICommandResult
context IContext
return ICommandResult
        protected override ICommandResult ProcessCommand(IContext context)
        {
            var arguments = CollectAndValidateArguments(context.Arguments,
                                                        sourceIssueKey => JiraParamValidator.IssueId,
                                                        linkDescription => ParamValidator.AnythingStartingWithText,
                                                        targetIssueKey => JiraParamValidator.IssueId,
                                                        verbose => ParamValidator.Custom("verbose", true));

            var sourceTitket = arguments["sourceIssueKey"];
            var targetTicket = arguments["targetIssueKey"];

            var ret = Run(	delegate
            {
                string aliasedLinkDescription = AliasedLinkDescription(arguments["linkDescription"].Value);

                string result = _jira.CreateLink(sourceTitket, aliasedLinkDescription, targetTicket, arguments["verbose"].IsPresent);
                return ResultMessageFor(result, string.Format("Link created successfully: {0} {1} {2}",
                                                                                    sourceTitket.Value,
                                                                                    arguments["linkDescription"].Value,
                                                                                    targetTicket.Value));
            });

            return CommandResult.Success(ret, sourceTitket, targetTicket);
        }