protected override ICommandResult ProcessCommand(IContext context)
{
IDictionary<string, Argument> arguments = CollectAndValidateArguments(context.Arguments, lookFor => ParamValidator.Anything, status => JiraParamValidator.IssueStatus.AsOptional());
var result = Run(() =>
{
string status = arguments["status"].ValueOrDefault(IssueStatus.Open.Description);
var sb = new StringBuilder();
int max = 0;
foreach (RemoteIssue issue in _jira.SearchIssues(arguments["lookFor"]).Where(candidate => status == "all" || candidate.status == IssueStatus.Parse(status).Id))
{
string issueMessage = issue.Format();
max = Math.Max(max, issueMessage.Length);
sb.AppendFormat("{0}{1}", issueMessage, Environment.NewLine);
}
sb.Insert(0, String.Format("Issue Status Created Sumary{0}{1}{0}", Environment.NewLine, new String('-', max)));
return sb.ToString();
});
return CommandResult.Success(result);
}