public override string Execute() { if (this.CommandParameters.Count != 3) { throw new ArgumentException("Parameters count is not valid!"); } var currBoardItems = Commons.currentBoard.WorkItems; var teamStories = currBoardItems.Where(b => b.GetType().Name == "Story"); var storyToModify = teamStories.FirstOrDefault(b => b.Title == this.CommandParameters[0]) as Story; if (this.CommandParameters[1].ToLower() == "priority") { storyToModify.Priority = ValidateEnums.ValidatePriority(this.CommandParameters[2]); } else if (this.CommandParameters[1].ToLower() == "size") { storyToModify.Size = ValidateEnums.ValidateStorySize(this.CommandParameters[2]); } else if (this.CommandParameters[1].ToLower() == "status") { storyToModify.Status = ValidateEnums.ValidateStatusStory(this.CommandParameters[2]); } else { throw new ArgumentException("Invalid parameter to modify." + Environment.NewLine + "You can modify priority, status or size."); } storyToModify.History.Add($"{storyToModify.Title}'s {this.CommandParameters[1]} was modified to {this.CommandParameters[2]}"); return($"{storyToModify.Title} story's {this.CommandParameters[1]} was modified to {this.CommandParameters[2]} in {Commons.currentBoard.Name} board!"); }
public override string Execute() { var builder = new StringBuilder(); var allItems = this.WorkItemProvider.WorkItems; if (CommandParameters.Count == 0) { throw new ArgumentException("You must provide story status to filter by."); } var stories = allItems.Where(b => b.GetType().Name == "Story").Select(c => c as Story); if (stories.Count() == 0) { throw new ArgumentException("No stories available!"); } var storyVal = ValidateEnums.ValidateStatusStory(this.CommandParameters[0]); { foreach (var story in stories) { if (story.Status == storyVal) { builder.AppendLine(story.ToString()); } } } return(builder.ToString().TrimEnd()); }